移动端适配,第1张

元素的度量单位
1 px像素
2 em根据父元素来计算大小(项目中比较少用)
3 rem根据根节点(html)元素的font-size进行计算大小
4 vw/vh根据手机屏幕计算大小
5 rpx小程序特有单位
二 rem计算公式: 元素的宽度(高度)= html的font-size rem
三 使用rem进行移动端适配的原理
1 以ipone6宽度作为参考,给它的根标签设置大小
2 获取手机的屏幕宽度,根据屏幕宽度,以iphone作为参照物进行等比缩放

一 用来根据手机宽度设置根元素字体的大小

二 px转成rem,免去我们手动输入rem

三 css的处理

开发过小程序的人都知道,小程序的单位是rpx,这是为什么?有什么作用呢,其实它源于rem布局,先来了解下rem的优势与工作原理。
rem布局在没正式使用到项目中,只知道他是根据html根元素的font-size来变化的;
若:html{ font-size:20px};
则1rem = 20px;
然后呢,有什么作用,定完html的font-size后,元素使用rem和使用px有什么区别,不都一样么?
其实rem他的主要运用场所在移动端,移动端的设计稿一般都是iphone6为基础设计的,设计稿的宽为750px;
手机的物理尺寸是375px;所以在用css的时候,设计尺寸需要除以2;
要用rem完成移动端的适配,需要固定浏览器的显示宽度不变。

也就是说,我在设计稿上量到宽367px的大小,那么css里可以直接写width:367rem。
此时,(以375px宽手机为例)第二步js设置的html字体大小为:375px除以75得50px;
75rem乘以50px得到的是375px刚好是屏幕的满宽。
也就是说,不论手机屏幕宽度多少,75rem永远能占屏幕的满宽。这样,在宽屏手机里,元素能够等比例放大一些,实现各类机型的适配,也方便了前端编码。

而做过小程序的人都知道,小程序不论任何机型,屏幕满宽都是750rpx,其实也就是从75rem延伸而来,至于根目录字体大小的配置,微信开发者工具已经将这些都配置好了,你尽情用就可以了。
如果有帮助,请点赞支持哦。

px就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位。像素px是相对于显示器屏幕分辨率而言的

em是相对长度单位。相对于当前对象内文本的字体尺寸(参考物是父元素的font-size)
如当前父元素的字体尺寸未设置,则相对于浏览器的默认字体尺寸
特点:
1 em的值并不是固定的;
2 em会继承父级元素的字体大小

rem是CSS3新增的一个相对单位,rem是相对于HTML根元素的字体大小(font-size)来计算的长度单位
如果你没有设置html的字体大小,就会以浏览器默认字体大小,一般是16px

html{font-size: 625%} / 10 ÷ 16 × 100% = 625% /

body{font-size: 14rem;} / 14 × 10px = 14px /

/ 在根元素中定义了一个基本字体大小为625%(也就是10px。设置这个值主要方便计算,如果没有设置,将是以“16px”为基准 ) /
优点是,只需要设置根目录的大小就可以把整个页面的成比例的调好
rem兼容性:除了IE8及更早版本外,所有浏览器均已支持rem
em与rem的区别:
rem是相对于根元素(html)的字体大小,而em是相对于其父元素的字体大小
两者使用规则:

如果这个属性根据它的font-size进行测量,则使用em

其他的一切事物属性均使用rem

vw、vh、vmax、vmin这四个单位都是基于视口
vw是相对视口(viewport)的宽度而定的,长度等于视口宽度的1/100
假如浏览器的宽度为200px,那么1vw就等于2px(200px/100)
vh是相对视口(viewport)的高度而定的,长度等于视口高度的1/100
假如浏览器的高度为500px,那么1vh就等于5px(500px/100)
vmin和vmax是相对于视口的高度和宽度两者之间的最小值或最大值

/
如果浏览器的高为300px、宽为500px,那么1vmin就是3px,1vmax就是5px;如果浏览器的高为800px,宽为1080px,那么1vmin也是8px,1vmax也是108px
/

其他单位:
%(百分比)
一般来说就是相对于父元素
1、对于普通定位元素就是我们理解的父元素
2、对于position: absolute;的元素是相对于已定位的父元素
3、对于position: fixed;的元素是相对于ViewPort(可视窗口)

css3新单位,相对于视口的宽度或高度中较小的那个
其中最小的那个被均分为100单位的vm
比如:浏览器高度900px,宽度1200px,取最小的浏览器高度,1 vm = 900px/100 = 9 px
缺点:兼容性差

1、假如使用em来设置文字大小要注意什么?
注意父元素的字体大小,因为em是根据父元素的大小来设置的。
比如同样是15em,要是父元素是20,那15em就是30px要是父元素是30px,15em就是45px(特别是在多重div嵌套里面更要注意)
2、pc pt ch一般用在什么场景?
这些我们网页设计基本上用不到,在排版上会有用处
3、如何使 1rem=10px
在设置HTML{font-size:625%;}即可
4、如果父元素没有指定高度,那么子元素的百分比的高度是多少?
会按照子元素的实际高度,设置百分比则没有效果


DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
乐在赚 » 移动端适配

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情