CSS em vs px(舍入错误)

时间:2010-12-31 12:59:37

标签: css units-of-measurement

我一直在个人网站上工作(所以,时间不是问题)我制作了一个基本样式表,我负责处理所有字体大小,边框宽度,行高等。 我一直努力使用ems,但是当我在其他浏览器(例如Chromium)上测试网站时,内容与我的“像素完美”网格不匹配。

所以,我的问题是,我应该使用px吗?我的意思是,我知道ems是“走的路”但是现在大多数浏览器实现全页缩放(它们不会仅调整文本大小),而且当处理边框宽度和线高时,px更舒适,因为我可以完全避免子像素舍入。

你对此有何看法? (顺便说一句,支持IE不是我的目标之一;我不在乎它)

3 个答案:

答案 0 :(得分:2)

  

内容与我的“像素完美”网格不匹配。

如果您正在使用像素完美网格,请使用像素值。 em是一个相对值,只有在布局能够适应不同的内容大小时才能正常运行。

答案 1 :(得分:2)

我只会将em用于大小取决于字体大小的元素。

边框(及其宽度)等元素通常不依赖于字体大小。

答案 2 :(得分:0)

使用em进行保证金和填充时,我发现相对测量可以做一些有趣的事情。

em可以在嵌套元素中累积,并且您发现自己将某些值重新对齐以使它们与外部元素对齐。

这看起来很好,直到您非常缓慢地缩小浏览器窗口并发现有时嵌套元素的值会舍入到与外部父级不同的像素。

为了解决这个问题,我在父级别使用rem来设置字体大小,并发现这允许父级和后代使用相同的基本相对值。