移动端适配

43 阅读3分钟

不用px绝对单位,而是使用相对单位rem

rem是css3新增的一个相对单位(root em)使用rem设置字体大小时,是相对大小,相对的是html根元素的font-size大小

这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

科普:

Css长度单位px.em\rem

Px:绝对单位,设置了就不随着页面大小做自适应改变

em, rem:相对单位,比较灵活,随着页面做自适应改变

区别:

em:相对于父元素,rem相对于根元素

em:

字体大小是相对于父元素的字体大小

长宽高等是基于自己的font-size大小

1em=12px

image.png

image.png

注意:但是如果父元素直接font-size就是em怎么办呢?记着,父元素1em=12px

image.png

基于meta中设置viewport scale的方案

支持在手机上通过平移和缩放查看网页不同部分

image.png

px:1px的长度表示显示器中一个像素(pixel)的长度,实际显示的效果和显示器的 DPI(Dot Per Inch,每英寸像素数)有关,DPI越大每英寸的像素数越多,每个像素的实际大小越小。通常来说分辨率越高的屏幕 DPI也就越高,所以高分辨率屏幕显示的图标和字体都要更小一些。em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。

rem:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。

PX特点:

  1. IE无法调整那些使用px作为单位的字体大小;\

  2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;\

  3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。\

EM特点 :

  1. em的值并不是固定的;\

  2. em会继承父级元素的字体大小。\

rem特点:

rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。

这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。

\

基于vh,vw的方案

基于meta中设置viewport scale的方案

\