填充像素,边距

时间:2011-09-14 15:39:18

标签: css

在书籍防弹网页设计中,作者提到,从可访问性的角度来看,以像素为单位指定字体大小并不正确。

在本书的后面,他使用了像素的边距和填充 - 我的问题是,因为像素是相对于设备的分辨率 - 当从不同的设备访问时,它会保持一致吗?

感谢解释。

- 更新:阅读作者后面的说明:作者“尝试使用ems作为边距,填充,行高等等,以提供设计的真正缩放(而不仅仅是文本),无论字体大小。“

似乎没有人对此作出答案 - 只是如果考虑旧的浏览器支持/可访问性问题,则首选相对测量。

2 个答案:

答案 0 :(得分:2)

有很多意见,但没有一个最好的对错方式。这完全取决于上下文......内容,网站,受众,代码等。

以像素为单位定义字体本身并不存在任何问题。曾经有一段时间难以通过IE6中的用户首选项来调整类型,但这是IE6的失败,而不是px测量单位。许多人现在更喜欢使用px中的spec类型(就像我一样),因为它可以在具有大量继承CSS和深度嵌套DOM的大型站点上使事情变得更容易。

如上所述,em是相对于类型大小的度量。因此,如果您使用ems作为填充和边距,它们将与页面的基本字体大小成比例地改变。这样好吗?同样,这取决于您的特定页面布局和需求。

答案 1 :(得分:1)

这只是IE6中的一个问题。所有较新的浏览器都可以正确缩放,并放大文本,即使它是以像素为单位设置的。

仅在em中设置字体大小不会增加任何其他浏览器的可访问性。 但是,它在任何浏览器中都没有坏处,所以如果它适合你,请坚持使用它。

css中的像素不是真正的像素,它们是视角的百分比。 因此,高分辨率设备会显示您的内容,如果您设置像素大小,它将不会显得很小。

参考:

A Pixel is Not a Pixel - Quirksmode

W3C Unit Definitions - 请参阅像素单元的解释,了解免费头痛