7

我在一个项目中使用字体“Lucida Sans Unicode”,但遇到了问题。在 IE9 中,文本下方有一些空间,我不知道为什么会这样。在 Chrome 中没有那么多空间。这是一个示例,您看到的边框来自 IE9 开发人员工具中的“单击时选择元素”功能:

IE 9 模式

这是在浏览器模式:IE9 和文档模式:IE9 标准。

这是浏览器模式:IE8 和文档模式:IE8:

IE 8 模式

如您所见,“p”下方的空间较小。Chrome 的显示方式与 IE8 模式相同。

当我想对齐东西时,渲染的差异会造成麻烦;当它在一个浏览器中正常时,在另一个浏览器中就不行了。

有谁知道为什么会发生这种情况,更重要的是,如何解决它?

提前感谢所有回复。

编辑:
小提琴:http: //jsfiddle.net/94Tq9/
.

4

2 回答 2

1

我不能告诉你它为什么这样做,但值得注意的是这是一个渲染问题而不是布局问题。换句话说,段落的行高不受影响,只是 IE 认为它应该画一个边框。(我没有检查可点击区域,抱歉。)

如果,如您的图像所示,您可以添加display:inline-block;到锚样式,IE8 和 IE9 将呈现相同的方式,只要您有line-height设置。

我目前被放逐到只有 IE 的存在(长篇故事),所以我不能说这是否也适用于 Chrome。

于 2013-04-11T23:09:31.973 回答
0

好的,所以我找到了解决这个问题的方法。这肯定不理想,但我们组织中的其他人已经使用了这种方法,所以希望它可以使用它。

解决方案是通过将此元标记添加到标题中来强制 IE9 进入 IE8“文档模式”:
<meta http-equiv="X-UA-Compatible" content="IE=8">

现在字体在 Chrome 和 IE 中的显示方式完全相同,我的对齐问题也消失了。

于 2013-04-13T15:36:44.537 回答