px:相对长度单位,像素px是相对于显示器屏幕分辨率。
,用px设置字体大小,比较精确。但是有缺点,当浏览器页面缩放时,px并不能跟随变大。当前网页的布局就会被打破。
em:相对长度单位,em是相对于当前元素的父元素的font-size进行计算,如果当前元素未设置则相对于浏览器的默认字体尺寸。
<div class="a">
<div class="b">
<div class="c">
</div>
</div>
</div>
.a{ font-size:16px;}
.b{ font-size:2em;//相当于32px}
.c{ font-size:1em;//相当于32px}
rem:相对长度单位,CSS3新增的一个相对单位,rem是相对于根元素(html)的font-size进行计算,rem不仅可设置字体大小,也可以设置元素宽高属性。
<div class="a">
<div class="b">
<div class="c">
</div>
</div>
</div>
html{ font-size:16px;}
.a{ font-size:3rem;//相当于48px}
.b{ font-size:2rem;//相当于32px}
.c{ font-size:1rem;//相当于16px}
px,rem开发如何选择?
px
px:对于只需要适配少量设备,且分辨率对页面影响不大的,使用px即可,px设置更为精准 。
rem
rem:随着rem在众多的浏览器都得到支持,有需要考虑到对多设备,多分辨率的自适应,无疑这时候rem是最合适的(如:移动端的开发)。