在CSS中设置字体大小时,我应该使用百分比值(%
)还是em
?你能解释一下这个优势吗?
A List Apart上有关于网页排版的非常好的文章.
他们的结论:
在ems中调整文本和行高,在主体上指定百分比(以及Safari 2的可选警告),显示可以在当今常用的所有浏览器中提供准确,可调整大小的文本.这是一种技术,您可以将其放入工具包中,并将其用作CSS中调整文本大小的最佳实践,以满足设计人员和读者的需求.
来自http://archivist.incutio.com/viewlist/css-discuss/1408
%:某些浏览器不处理font-size的百分比,但将150%解释为150px.(例如,某些NN4版本.)IE在嵌套元素上的百分比也存在问题.似乎IE使用相对于视口的百分比而不是相对于父元素.另一个问题(虽然根据W3C规范是正确的),在Moz/Ns6中,你不能使用相对于没有指定高度/宽度的元素的百分比.
em:有时候浏览器会使用错误的参考大小,但相对单位却是问题最少的.您可能会发现它有时会被解释为px.
pt:分辨率差异很大,不应该用于显示.不过,这对于打印使用来说非常安全.
px:屏幕上唯一可靠的绝对单位.它可能在印刷中被错误地解释,因为一个点通常由几个像素组成,因此一切都变得非常小.
两者都相对于它的大小调整字体大小.1.5em与150%相同.唯一的优势似乎是可读性,选择最适合您的方式.
鉴于(差不多?)所有浏览器现在整个页面调整大小,而不仅仅是文本,以前在可访问字体大小调整方面与px
vs %
对比em
的问题是没有实际意义的.
所以,答案是它可能并不重要.使用适合你的任何东西.
%
很好,因为它允许相对大小调整.
px
很好,因为在使用它时很容易管理期望.
em
在用于布局元素时也很有用,因为它可以允许与文本大小相关的比例大小.