移动端rem适配布局学习总结

1.rem基础

rem 是单位
rem(root em)是一个相对单位,类似于em,em是父元素字体大小
不同的是rem的基准是相对于html的文字大小。
比如,根元素(html)设置font-size=12px;非根元素设置width:2rem;则换成px表示就是24px。
优点:
·通过修改html文字大小改变页面元素大小

2.媒体查询

2.1什么是媒体查询
媒体查询(Media Query)是CSS3的新语法。
·@media 可以针对不同的屏幕尺寸设置不同的样式

2.2语法规范

@media mediatype and | not |only (media feature) {
	css-Code

}
//**********************
@media screen and  (max-width:800px) {
	body {
	       background-color:pink;    //这里媒体查询的属性就是,当屏幕在<=800px的情况下,body背景色为pink	
	}
}
//***********************
@media screen and  (min-width:500px) and (max-width:800px) { // 代码层叠性会将他重叠覆盖
	body {
	       background-color:pink;    //这里媒体查询的属性就是,当屏幕在500<=x<=800px的情况下,body背景色为pink	
	}
}

· 用@media开头 注意@符号
· mediatype 媒体类型
· 关键字 and not only
· media feature 媒体特性 必须有小括号包含

1.mediatype 查询类型

将不同的终端设备划分成不同的类型,成为媒体类型
值 解释说明

  • all 用于所有设备
  • print 用于打印机和打印预览
  • screen 用于电脑屏幕、平板电脑、智能手机等。
    2.关键字
    关键字将媒体类型或多个媒体特性链接到一起作为媒体查询的条件
    • and:可以将多个媒体特性链接到一起,相当于“且”的意思。
    • not:排除某个媒体类型,相当于“非”的意思,可以省略。
    • only:制定某个特定的媒体类型,可以省略。
      3.媒体特性
      每种媒体特性类型都具体各自不同的特征,根据不同的媒体类型的媒体特性设置不同的展示风格,暂时了解三个
      值 解释说明
    • width 定义输出设备中页面可见区域的宽度
    • min-width 定义输出设备中页面最小可见区域的宽度
    • max-width 定义输出设备中页面最大可见区域的宽度
    • 最大值和最小值都是包含等号的
      注意:
      ? 媒体查询一般是按照从大到小或者从小到大的顺序写得
      ? screen 和 and 不能省略 ,数字后面必须跟单位
      2.3 媒体查询+rem实现元素动态大小变化
      rem单位是跟着html来走的,有了rem页面元素可以设置不同大小尺寸。
      媒体查询可以根据不同设备宽度来修改样式。
      媒体查询+rem 就可以实现不同设备宽度,实现页面元素大小的动态变化。
      2.4引入资源(理解)
      当样式比较繁多的时候,我们可以针对不同的媒体使用不同的stylesheets(样式表)。
      原理就是直接在link中判断设备的尺寸,然后引用不同的css文件。
      1.语法规范

3.Less基础

3.1 维护css的弊端

CSS是一门非程序的语言,没有变量、函数、SCOPE(作用域)等概念;
· CSS需要书写大量看似没有逻辑的代码,CSS冗余度是比较高的;
· 不方便维护及扩展,不利于复用;
· CSS没有很好地计算能力;
· 非前段开发工程师来讲,往往会因为缺少CSS编写经验而很难写出组织良好且易于维护的CSS代码项目;

3.2Less介绍

Less是一门CSS扩展语言,也称为CSS预处理器;
作为CSS的一种形式的扩展,他并没有减少CSS的功能,而是在现有的CSS语法上,为CSS加入程序式语言的特性;
在CSS的语法基础上,引入了变量,Mixin(混入),运算以及函数等功能,简化了CSS的编写,并且降低了CSS的维护成本;
Less中文网址:http://lesscss.cn/
Less就是一门CSS预处理语言,它扩展了CSS的动态特性;

3.3Less安装

Less 使用
新建一个后缀名为less的文件,在这个less文件里面写less
· less变量
· less编译
· less嵌套
· less运算

3.4.Less 变量

变量是美玉固定的值,可以改变的。

@变量名:值;

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

3.5Less 编译

要把less文件编译成css文件,我们的html页面才能使用;

3.6Less嵌套

less嵌套,子元素的样式直接写到父元素里面就可以,相当于后代选择器
div {
a {
}
}
遇到 交集、伪类、伪元素选择器:
· 内层选择器的前面没有&符号,则它被解析为父选择器的后代;
如果有&符号,他就被解析为父元素自身或父元素的伪类。

 &:hover;  
 &::before;

3.7Less 运算

任何数字、颜色或者变量都可以参与运算。less提供了加减乘除算数运算。
注意点:
· 乘号 * 和 除号 / 的写法
· 运算符中间左右有个空格隔开 1px + 5;
对于两个不同的单位的值之间的运算,运算结果的值取第一个值的单位
· 如果两个值之间只有一个值有单位,则运算结果就取该单位

4.rem适配方案

4.1 rem实际开发适配方案
· 按照设计稿与设备宽度的比例,动态计算并设置html 根标签的font-size大小(媒体查询)
· CSS中,设计稿元素的宽,高,相对位置等取值,按照同等比例换算rem为单位的值。
4.2rem适配方案技术使用(市场主流)

技术方案1

· less
· 媒体查询
· rem

技术方案2 推荐

flexible.js 淘宝的适配 方案(将屏幕划分成10等份)
rem
第二方案更简单,推荐使用,后期了解js代码就可以。

4.3 rem实际开发适配方案1

rem + 媒体查询 + less
元素大小取值方法
1 · 最后的公式:页面的元素的rem值 = 页面元素值(px)/ (屏幕宽度 / 划分的分数)
2 · 屏幕宽度 / 划分的份数 就是html 的font-size 的大小
3 · 或者:页面元素的rem值 = 页面元素值(px)/ html font-size 字体大小。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值