PX(像素Pixel)👇
是相对长度单位,是相对于显示屏屏幕分辨率而言的,但是在浏览器中放大缩小字体大小不会改变
rem 👇
rem是css3新增的一个相对单位,相对于HTML根元素,当根元素中使用rem设置font-size时,此时的1rem等于浏览器默认的字体大小(16px)
em 👇
em是相对长度单位,一般都是以的“font-size为基准。
如果当前行内文本没有设置字体大小,则相对于浏览器的默认字体
特点
- em的值并不是固定的;
- em会继承父级元素字体的大小
px和rem的转换 👇
注意:任意浏览器的默认字体是16px,所有未经调整的浏览器都符合:1em=16px。
1px = 0.6725em
那么12px = 0.75em, 10px = 0.625em。为了简化font-size 的计算,需要在css中的HTML根元素中声明font-size=62.5%,相当于在html中设置font-size为10px,
这样使rem值变为 16px * 62.5% =10px,12px=1.2rem, 10px=1rem
即使设置了html的font-size的元素为10px,每次写字体大小都要自己由px转换为rem还是很不方便的。 postcss-plugin-px2rem 的出现解决了这个问题,我们在代码中加入配置后,他会自动由px转换成rem,项目中只管使用px即可
postcss-plugin-px2rem 的配置 👇
propBlackList 中可以加入不需要转换的属性
例如:
propBlackList: [ //这些属性不需要转换
'border', 'border-top', 'border-left', 'border-right', 'border-bottom', 'border-radius',
],