排版中关于em VS px VS%的争论是否仍然有效


8

我一直在阅读一些文章,介绍为什么em在排版方面比px更好。而且基数必须以%为单位,最好甚至要具有body{ font-size:62.5%; }

我可以找到的更好的文章之一位于:http : //kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

基本上说px在网站和设备上无法很好地缩放。我一直以px做排版,并且从未发现任何问题。我也一直在使用一些CSS框架和一些wordpress主题,并且我总是看到仅使用普通的px。

现在,我看到大多数文章都是用几年前写的,我想知道px缩放比例是否仍然正确,或者对于现代浏览器和设备而言,这不再是重点了。


在旁注。我什至在某些站点上看到并看到,人们甚至走得很远,在em中进行所有样式的设计。例如,填充和边距是在em中完成的。

如果您想拥有一个良好的扩展网站,这是否必要?


2
为了使事情更加混乱,大多数现代浏览器都支持相对的em或rems snook.ca/archives/html_and_css/font-size-with-rem
paulmorriss 2011年

有StackOverflow上更近,更好的答案:stackoverflow.com/questions/11799236/...
丹尼斯日Bernardy

Answers:


3

我的回答是,因为文本本身是肯定的“否”。好的浏览器在缩放以像素为单位指定的字体时会(应有的作弊)作弊。Web开发人员应与内容呈现在设备上的任何差异无关。

在w3Schools Tryit编辑器中尝试以下操作

<html>
<body>
<p style="font-size:1em">This is a paragraph.</p>
<p style="font-size:12pt">This is a paragraph.</p>
<p style="font-size:16px">This is a paragraph.</p>
<p style="font-size:100%">This is a paragraph.</p>
</body>
</html>

然后按住Ctrl并用鼠标滚轮滚动,或按Ctrl-Numeric +。它们都应在良好的浏览器中平均缩放。

不能保证像素的宽度一样高,也不能保证分辨率始终为96DPI,并且用户首选项可能适用于放大或缩小所有内容。请记住,大多数浏览器会考虑这些分辨率差异,并根据特定的硬件/首选项缩放输出。如果浏览器严格应用实际的像素单位,那么浏览器(或其运行的硬件设备)注定会被最终用户视为失败。

话虽这么说,但请记住,HTML并不是针对缩放而优化的,而是为了将文本重排到最大可能的分辨率纵横比(宽度除以高度)而优化的。当以不同单位指定时,浏览器的缩放填充和边距确实有所不同。对于真正可扩展的设计(例如,背景位置很重要),应该考虑使用可扩展的,不流动的格式,例如SVG。用百分比填充和填充总是有风险的!

如果您使用的是图像背景等,并且您希望填充或边距是向内特定数量的像素,那么我的建议是确保以像素为单位指定这些边距和填充!


1
请注意-IE中的“文本大小”功能不会缩放使用pt或明确固定的字体px
Zhaph-Ben Duguid,2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.