最近,我为我正在制作的网站重写了 CSS 文件,并尝试使用 em 而不是 px 使大多数元素和字体的大小动态化。尺寸工作..有点,但至少有一个问题。
当使用 em 单位作为框的边距时(边距:0.25em),在 Firefox 中,我在顶部/左侧得到 4px,在右侧/底部得到 3px - 基于 14px 字体大小(实际上是盒子的字体 -浏览器 16px 的 0.875em)。
现在,我是 em 新手,很可能我误解了几件事,但根据我的理解,我认为 14px 的 0.25em 是 3.5px。如果是这种情况,并且舍入是边距中 4 或 3 个像素的原因,这真的是它应该如何工作的吗?具有舍入结果的某个计算每次都应该以完全相同的方式舍入,不是吗?此外,在 Internet Explorer 中,情况正好相反:上/左为 3 像素,右/下为 4 像素。我尝试将值更改为 0.286em(x 14 像素 -> 4.004 像素)以避免恰好为半个像素,而这结果在 Firefox 中为 4/4/4/4,但在 IE 中为 4/3/4/3。
除了这些像素错误之外,更改浏览器字体大小实际上可以很好地缩放所有内容。
我疯了,我误解了什么,两个浏览器都坏了还是......什么?(使用 IE8 和 FF3 和 19。)