px、em、rem的区别?
px
px像素(Pixel),绝对单位。像素px是相对于显示器屏幕分辨率而言的,是一个虚拟的长度单位,是计算机系统的数字化图像长度单位没如果px需要换算成物理的长度,需要制定精度DPI.
简单来讲,px是固定的,一旦设定了无法随着页面大小的改变而改变
em
em是相对长度单位,相对于当前对象内的文本的字体尺寸。如当前对行内的文本的字体尺寸未被认为所设置,则相对于浏览器的默认字体尺寸。
它会继承父级元素的字体大小,不是一个固定的值
。
rem
rem是css3新增的一个相对单位,使用rem为元素设定字体大小时,仍然是相对的大小,但是相对的是HTML的根元素。
区别
IE无法调整那些使用px作为单位的字体大小,而em和rem可以缩放,rem相对的是根元素。
目前除了IE8以及更早的版本之外,所有的浏览器均支持rem
换算方式
em转px
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px
px转em
12px=0.75em,10px=0.625em 则在css中的body选择器中声明font-size=62.5% 则16px*62.5%=10px 则12px=1.2em 10px=1em
也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了
px转rem
一般浏览器默认的字体大小是16px,下面是默认16px与rem之间的转换关系:
| px | rem |
| 12 | 12/10 = 1.2 |
| 14 | 14/10 = 1.4 |
| 16 | 16/10 = 1.6 |
| 18 | 18/10 = 1.8 |