为什么IE10中的“font-size:1em”比Chrome更大?

时间:2013-07-02 17:47:06

标签: html css internet-explorer google-chrome internet-explorer-10

我目前正在开发一个网站,我无法弄清楚为什么IE10中的文字显示比Chrome中更大。 (我确保两个浏览器都设置为100%缩放 - 不多也不少。)

我的CSS中有一个重置:body { font-size: 1em; }。在Chrome(v27.0.1453.116 m)中,这会按预期显示 - 如果我将CSS中的规则更改为font-size: 100%;font-size: 16px;,则不会发生任何明显变化。对我来说,这表明在Chrome中,1em = 16px。但是,比例字体大小(em%)在IE中显示得更大,似乎是1em = 21px。

我有两个图片显示body { font-size: 1em; }时的差异,但由于我还没有10个声誉,我无法发布完整的网址。但是,它们是在imgur上托管的,它们的文件名如下:

    Chrome中的
  • font-size: 1em;

enter image description here

    在IE10中
  • font-size: 1em;

enter image description here

如果我使用font-size设置px,那么我会得到一致的结果 - Chrome和IE10都会一致显示。但是,如果使用px字体大小,这些日子对我来说就是不太受欢迎的做法。

您可以在this jsFiddle I made中看到HTML和CSS。我包含了所有可能有点不必要的CSS,但我认为提供更多的上下文而不是更少的内容会更好。

任何人都可以帮我弄清楚为什么IE10显示1em比Chrome更大,我能做些什么呢?

非常感谢。

编辑 - 数据一发布这个精心设计的问题,我就会知道发生了什么。我已将IE缩放设置为100%,但IE也有一个“文本大小”选项,由于某种原因,它被设置为“最大”。将其设置为“中”可以解决问题。

2 个答案:

答案 0 :(得分:13)

我“解决”了我自己的问题,因为我是个傻瓜。

IE10在“查看”菜单下有两个设置,可以更改显示内容的大小。我确保将“缩放”设置设置为100%,但完全忽略了“文本大小”设置,该设置被设置为“最大”。将其设置为“中等”修复了我的问题,并使IE和Chrome显示相同。

答案 1 :(得分:2)

以像素为单位的em的大小与字体类型和&你正在使用的大小,屏幕的分辨率(取决于操作系统,浏览器),以及可能的其他操作系统和浏览器设置 - 例如“显示字体+ 10%”可能会改变em值。

根据Rudu的post