移动端-2(媒体查询+Less基础+rem适配方案+响应式布局+Bookstrap前端开发构架)

目录

1.rem布局

2.媒体查询

什么是媒体查询

语法规范

mediatype查询类型

关键字

媒体特性

3.Less基础

维护css的弊端

less介绍

less变量

less嵌套

less运算

4.rem适配方案

rem实际开发适配方案1

设计稿常见尺寸宽度

动态设置html标签font-size大小

元素大小取值方法

苏宁易购网页制作

第一种不加js

第二种加js

rem实际开发适配方案2

5.响应式布局

响应式布局开发原理

​编辑

响应式布局容器

Bookstrap前端开发构架

Bookstrap简介

Bookstrap使用

创建文件夹

创建html骨架结构

引入相关样式文件

书写内容

Bookstrap布局容器

​编辑

Bookstrap栅格系统

​编辑

栅格选项参数

​编辑

​编辑

列嵌套

列偏移

列排序

Bookstrap响应式工具

案例


1.rem布局

rem也是一个相对单位,是相对于html元素的字体大小;可以在最开始设置html的字体大小,后面的宽和高都可以用rem来表示

em相对于父级元素字体大小

2.媒体查询

什么是媒体查询

媒体查询是CSS3新语法,可以针对不同的媒体类型定义不同的样式;

在重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面

语法规范

@media  mediatype  and/not/only  (media  feature){

                CSS-code;

}

mediatype查询类型

all用于所有设备;  print用于打印机和打印预览; 

screen用于电脑屏幕、平板电脑、智能手机等

关键字

关键字将媒体类型或多个媒体特性连接到一起作为媒体查询的条件

and可以将多个媒体特性连接到一起,相当于“且”的意思

not排除某个媒体类型,相当于“非”的意思,可以省略

only指定某个特定的媒体类型,可以省略

媒体特性

每种媒体类型都具体有各自不同的特性,根据不同媒体类型的媒体特性设置不同的展示风格

都要加小括号

width      定义输出设备中页面可见域的宽度

min-width     定义输出设备中页面最小可见区域宽度

max-width     定义输出设备中页面最大可见区域宽度

媒体查询一般按照从小到大或者从大到小的顺序来写

将页面设置在一个范围内时,需要用and来连接最小值和最大值;

在本题中也可以省去969px这一项,只写最小值540px和最小值970px(后面出现的,没有截)运用的是css的层叠性

随着浏览器页面的拉缩,文字背景和文字本身都发生改变

3.Less基础

维护css的弊端

less介绍

less变量

变量是指没有固定的值,可以改变的

@变量名:值;

变量名规范:必须以@为前缀; 不能包含特殊字符;  不能以数字开头;  大小写敏感

在样式最上方定义一个变量后,后面再写到该变量的设置可以直接引用@变量名

less嵌套

在less文件中直接将子元素写在父元素内,在保存时css文件可将其转换为正常格式,简化代码格式

header{

        .logo{

                width:300px;

        }

}

遇见交集/伪类/伪元素选择器,需要在它们前面添加上&符号;如果没有这个符号,那么就会被解析为子元素

less运算

在less文件中可以直接进行运算,保存后css文件中可得出结果

  • 注意乘号和除号的写法
  • 运算符中间左右都有一个空格隔开
  • 对于两个不同单位的值之间的运算,运算结果的值取第一个值的单位
  • 如果两个值之间只有一个值有单位,则运算结果就取该单位

在下下图中,在代码中直接进行运算,并且颜色也可进行加减渲染,还利用了运算律

4.rem适配方案

rem实际开发适配方案1

设计稿常见尺寸宽度

动态设置html标签font-size大小

在不同的屏幕下,可以发现元素盒子的宽和高都还是呈比例缩放的

元素大小取值方法

html font-size字体大小=屏幕宽度/划分的份数

页面元素的rem值= 页面元素值(px)/html  font-size字体大小

苏宁易购网页制作

第一种不加js

新建common.less文件,设置好最常见的屏幕尺寸,利用媒体查询设置不同的html字体大小;划分的份数定为15份,默认html字体大小为50px,这句话写到最上面

页面引入,可以将一个less文件引入到另一个less文件,在html文件中就可以只引入一个less文件,简化代码

@import "less文件名"

impor是将一个样式文件导入到另一个样式文件中,而link是将样式文件引入到html页面中

body样式,宽度写的是15rem,没有写具体值

第二种加js

rem实际开发适配方案2

5.响应式布局

响应式布局开发原理

使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备。

响应式布局容器

响应式需要一个父级作为布局容器,来配合子级元素实现变化效果

原理:在不同的屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化

父盒子都定义为container

Bookstrap前端开发构架

Bookstrap简介

Bookstrap使用

创建文件夹

创建html骨架结构

引入相关样式文件

书写内容

直接拿Bookstrap预定好的样式放到自己的代码中,还可以进行修改,修改不成功时要注意权重问题

Bookstrap布局容器

定义一个container类后,不需要再使用媒体查询再定义,bookstrap预先定义好了这个类,一般用于响应式布局

container-fluid百分比布局,占浏览器宽度的全部,用于单独做移动端开发

Bookstrap栅格系统

栅格系统是将页面划分为等宽的列,通过列数的定义来模块化页面布局

Bookstrap是将container划分成了12等份,container变大每一份就会变大,反之会变小

栅格选项参数

栅格系统用于通过一系列的行(row)和列(column)的组合来创建页面布局,需要将内容放入这些创建好的布局中

根据container的宽度来设置不同的类前缀

class=".col-lg-2"表示占两份

如果所有子项的份数加起来小于12,那么container就会有空余;如果所有子项的份数加起来大于12,那么多余的子盒子就会被挤到下面一行

每一列都默认有左右15像素的padding

在类名的定义时,可以添上在不同屏幕大小时每个子项所占的份数,放在一起写,在调用时要用相同类名调用的方法来写

列嵌套

栅格系统将内容再次嵌套时,为了消除padding值的影响,需要在添上一个row元素,再将嵌套的小盒子放在新的row元素内,这样就取消了父元素的padding值而且高度自动和父级一样高。

如果想要盒子中间由空隙,是不能加margin值的,加了之后会把盒子挤掉,以为三个盒子时每个盒子的宽度是33.3333%,有多少个盒子,这多少个盒子就会把整个浏览器宽度平分,可以再在每个盒子里面放一个小盒子来实现有空袭的效果。

列偏移

使用.col-md-offset-份数 类可以使盒子向右偏移,会自动给偏移的盒子添加边距

想让两个盒子左右分开,让第二个盒子向右偏移12减去两个盒子的宽度;想让一个盒子水平居中,让盒子向右偏移12减去该盒子的宽度再除以2

列排序

使用.col-md-push-份数 将左边的盒子推到右侧;使用.col-md-pull-份数 将右边的盒子拉到左边

Bookstrap响应式工具

添加类名hidden-屏幕 可以实现再相应的屏幕大小下隐藏盒子;添加visible-屏幕 可以实现仅在相应的屏幕大小下显示内容

案例

给盒子添加一个row的父盒子,就能让子盒子顶着父盒子的边缘

去掉padding值需要考虑权重问题;还要考虑将插入图片的宽度设置为和子盒子一样宽,这样图片才能达到缩放的效果

盒子中间有间隔,但是不能直接设置margin值会把盒子挤掉,设置内边距padding-right值,背景为白色是就能看到空白

为了显示出更好的效果,让图片随浏览器的宽度改变而改变,需要不强制设置图片的宽度,在屏幕较小时将图片隐藏,同时提前设置好另一种样式,在屏幕较小时显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络协议——STP(生成树协议)

1. 什么是环路? 信息经过一系列的转化或传递,然后再返回到起始点,形成一个闭合的循环。 2. 环路的危害 广播风暴(广播报文充斥着整个网络) MAC地址漂移,从而导致MAC地址表震荡。 使用 display mac…

Rust 基础语法和数据类型

数据类型 Rust提供了一系列的基本数据类型,包括整型(如i32、u32)、浮点型(如f32、f64)、布尔类型(bool)和字符类型(char)。此外,Rust还提供了原生数组、元组…

医学图像处理 利用pytorch实现的可用于反传的Radon变换和逆变换

医学图像处理 利用pytorch实现的可用于反传的Radon变换和逆变换 前言代码实现思路实验结果 前言 Computed Tomography(CT,计算机断层成像)技术作为如今医学中重要的辅助诊断手段,也是医学图像研究的重要主题。如今,随…

Mac安装配置Appium

一、安装 nodejs 与 npm 安装方式与 windows 类似 ,官网下载对应的 mac 版本的安装包,双击即可安装,无须配置环境变量。官方下载地址:https://nodejs.org/en/download/ 二、安装 appium Appium 分为两个版本,一个是…

yolov9训练自己的数据—vehicle 4类

yolov9训练自己的数据 1 conda环境安装指定版本torch 2 预训练模型测试3 训练自己的数据集3.1 制作数据3.2 创建模型配置文件3.3 创建数据加载配置文件3.4 使用ClearML跟踪训练日志3.5 训练3.6 模型测试3.7 转换成TensorRT模型 4 参考文档 1 conda环境 下载yolov9代码&#xf…

C语言:顺序表专题

目录 一、数据结构之顺序表/链表1.数据结构相关概念1.1什么是数据结构1.2为什么需要数据结构 二、顺序表1.顺序表的概念及结构2.顺序表分类3.动态顺序表的实现 一、数据结构之顺序表/链表 1.数据结构相关概念 1.1什么是数据结构 数据结构是由“数据”和“结构”两词组合而来…

解锁ETLCloud中Kettle的用法

随着大数据时代的到来,数据的处理和管理成为各行各业不可或缺的一环。ETL(Extract-Transform-Load)工具作为数据处理的重要环节,扮演着将数据从源端抽取出来、经过转换处理,最终加载至目标端的关键角色。在众多ETL工具…

【Python】数据挖掘与机器学习(一)

【Python】数据挖掘与机器学习(一) 大家好 我是寸铁👊 总结了一篇【Python】数据挖掘与机器学习(一)sparkles: 喜欢的小伙伴可以点点关注 💝 【实验1】预测鲍鱼年龄 问题描述 请从一份数据中预测鲍鱼的年龄,数据集在abalone.cvs中&#xff…

【Qt】:常用控件(二:QWidget核心属性)

常用控件(二) 一.cursor(光标形状)二.font(字体信息)三.toolTip(提示显示)四.focusPolicy(焦点)五.styleSheet(文本样式) 一.cursor&a…

Java BigDecimal类

原因 为什么要有BigDecimal类因为二进制的缘故&#xff0c;直接对浮点数进行运算&#xff0c;会导致精度丢失的问题下例&#xff1a;出现了0.1 0.2 <> 0.3 常见的API 这些API中&#xff0c;并不推荐由double类型转换的BigDecimal,因为底层还是double推荐使用由string 类…

QT5-qmediaplayer播放视频及进度条控制实例

qmediaplayer是QT5的播放视频的一个模块。它在很多时候还是要基于第三方的解码器。这里以Ubuntu系统为例&#xff0c;记录其用法及进度条qslider的控制。 首先&#xff0c;制作一个简单的界面文件mainwindow.ui&#xff1a; 然后&#xff0c;下载一个mp4或其他格式视频&#x…

【算法集训】基础算法:二分查找 | 概念篇

二分枚举&#xff0c;也叫二分查找&#xff0c;指的就是给定一个区间&#xff0c;每次选择区间的中点&#xff0c;并且判断区间中点是否满足某个条件&#xff0c;从而选择左区间继续求解还是右区间继续求解&#xff0c;直到区间长度不能再切分为止。 由于每次都是把区间折半&am…

小程序实现订阅功能和测试发送订阅信息

现在一次性订阅是只能用户点一次才能发送一次&#xff0c;而针对长期模板只有规定的几种类目政务、民生、交通等等的才可以&#xff0c;所以说感觉这功能其实已经不是很适合使用了&#xff0c;只适合一些特别的场景才可以使用。 地址&#xff1a;https://developers.weixin.qq…

where 函数

Pandas 中的 where 函数 在 Pandas 中&#xff0c;where 函数用于替换不满足条件的值。具体来说&#xff0c;它返回一个与原始 DataFrame 或 Series 形状相同的新对象&#xff0c;但所有不满足条件的值都被替换为指定的值&#xff08;默认为 NaN&#xff09;。 对于 DataFram…

【Web应用技术基础】JavaScript(7)——案例:点击文字则放大字体

视频已发。截图如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</titl…

2024.4.6-day11-CSS 背景和精灵图

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业2024.4.6学习笔记1 背景2 背景图片3 CSS 精灵图 作业 <!DOCTYPE html&…

项目中 使用 spring cache redis 出现大量keys* 慢查询排查以及修复

前言 业务反馈 redis里有大量的慢查询 而且全是keys 的命令 排查 首先登录 阿里云查看redis的慢查询日志 如下 主要使用到redis cache的注解功能 分别是 CacheEvict 和 Cacheable 注意 CacheEvict 这个比较特殊 会进行驱逐缓存 说白就会删除缓存或者让缓存失效 第一时间想…

第十四届蓝桥杯省赛大学C组(C/C++)填充

原题链接&#xff1a;填充 有一个长度为 n 的 01 串&#xff0c;其中有一些位置标记为 ?&#xff0c;这些位置上可以任意填充 0 或者 1&#xff0c;请问如何填充这些位置使得这个 01 串中出现互不重叠的 0 和 1 子串最多&#xff0c;输出子串个数。 输入格式 输入一行包含一…

【保姆级教程】如何在 Windows 上实现和 Linux 子系统的端口映射

写在前面 上次分享【保姆级教程】Windows上安装Linux子系统&#xff0c;搞台虚拟机玩玩&#xff0c;向大家介绍了什么是虚拟机以及如何在Windows上安装Linux虚拟机。对于开发同学而言&#xff0c;经常遇到的一个问题是&#xff1a;很多情况下代码开发需要依赖 Linux 系统&…

多线程代码设计模式之单例模式

目录 设计模式引入 饿汉模式 懒汉模式 单例模式总结 设计模式引入 1.1.什么是设计模式 &#xff08;1&#xff09;设计模式就是一种代码的套用模板。例如&#xff1a;一类题型的步骤分别有哪些&#xff0c;是可以直接套用的。 &#xff08;2&#xff09;像棋谱&#xff…