Answers:
在A List Apart上有一篇关于网络排版的非常好的文章。
他们的结论是:
显示的大小和以ems为单位的行高以及在正文中指定的百分比(以及Safari 2的可选警告)可在当今所有常用的浏览器中提供准确,可调整大小的文本。您可以将这种技术放入工具包中,并将其用作在CSS中调整文字大小的最佳方法,该方法可以使设计人员和读者满意。
line-heights
写得更好,根本没有任何单元。这是由规范允许的,并且完全避免了某些真烦浏览器怪癖当谈到em
基于行的高度
1
。例如,iPhone 4的物理屏幕宽度为640px,但显示为320个“ CSS”像素(DPR = 2)。因此网站不会显得更小!
从http://archivist.incutio.com/viewlist/css-discuss/1408
%:某些浏览器不处理字体大小的百分比,而是将150%解释为150px。(例如,某些NN4版本。)IE也存在嵌套元素百分比问题。似乎IE使用相对于视口的百分比,而不是相对于父元素的百分比。另一个问题(尽管根据W3C规范是正确的),在Moz / Ns6中,您不能相对于没有指定高度/宽度的元素使用百分比。
em:有时浏览器使用错误的参考尺寸,但是相对单位中的问题最少。您有时可能会发现它被解释为px。
pt:分辨率之间有很大差异,因此不应用于显示。不过,对于打印使用来说是相当安全的。
px:屏幕上唯一可靠的绝对单位。但是,由于一个点通常由几个像素组成,因此在打印中可能会误解,因此所有内容都变得非常小。
两者都根据字体大小调整字体大小。1.5em与150%相同。唯一的好处似乎是可读性,选择最适合您的一个。
鉴于(几乎?)所有浏览器现在都调整了整个页面的大小,而不仅是调整文本的大小,以前与px
vs. %
vs. em
s 有关可调整字体大小的问题相当不切实际。
因此,答案是可能无关紧要。使用对您有用的任何东西。
%
很好,因为它允许相对调整大小。
px
很好,因为在使用期望值时很容易管理期望值。
em
当还用于布局元素时,它可能会很有用,因为它可以允许与文本大小相关的比例大小。
em
,例如。除此之外,我认为关于SO的答案应该努力做到永不过时-毕竟这是一个知识库。程序设计的维基百科:)随着维基百科的更新以反映事实,以我的拙见,答案也应该如此。
正如Galwegian所提到的,px是最可靠的Web排版,因为您在页面上所做的所有其他操作大部分都是参考计算机监视器来进行布局的。绝对大小的问题在于某些浏览器(IE)无法缩放网页上的像素值元素,因此,当您尝试放大 /缩小时,除那些元素外,其他所有内容都会调整。
我不知道IE8是否可以正确处理此问题,但是所有其他浏览器供应商都可以很好地处理像素,这仍然是少数情况,用户需要放大/缩小文本(SO上的此文本框可能是例外)。如果您真的想弄脏,可以随时添加一个javascript函数,以使文本大小变大,并为用户提供“小” /“大”按钮。
Yahoo用户界面库(http://developer.yahoo.com/yui/)具有一组不错的基础CSS类,用于“重置”浏览器特定的设置,以便所有显示该网站的基础都相同(受支持)浏览器。
对于YUI,应该使用百分比。