33、px、em和rem的区别

在寻找三者的区别之前,我们需要先了解css的长度单位有哪些:

有两种类型的长度单位:相对和绝对。

相对长度

相对长度单位指定了一个长度相对于另一个长度的属性。对于不同的设备相对长度更适用。

图1.1

绝对长度

绝对长度单位是一个固定的值,它反应一个真实的物理尺寸。绝对长度单位视输出介质而定,不依赖于环境(显示器、分辨率、操作系统等)。

图1.2

像素或许被认为是最好的"设备像素",而这种像素长度和你在显示器上看到的文字屏幕像素无关。px实际上是一个按角度度量的单位。

总结可得:

1、px是绝对长度单位;

2、em和rem是相对长度单位;

3、em相对的是父元素的font-size,而rem相对于根元素html的font-size;

其中,em的缺点:

1)em的值并不是固定的;

2)em会继承父级元素的字体大小(参考物是父元素的font-size;);

3)em中所有的字体都是相对于父元素的大小决定的;所以如果一个设置了font-size:1.2em的元素在另一个设置了font-size:1.2em的元素里,而这个元素又在另一个设置了font-size:1.2em的元素里,那么最后计算的结果是1.2X1.2X1.2=1.728em

还有,rem的优点:

1)rem单位可谓集相对大小和绝对大小的优点于一身

2)和em不同的是rem总是相对于根元素(如:root{}),而不像em一样使用级联的方式来计算尺寸。这种相对单位使用起来更简单。

3)rem支持IE9及以上,意思是相对于根元素html(网页),不会像em那样,依赖于父元素的字体大小,而造成混乱。使用起来安全了很多。

表格:单位的兼容

图1.3

注意: Internet Explorer 9 通过不标准的名称 vm 来支持 vmin 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容