5

我已经包含了一个视频链接,该视频深入描述了这一点,但基本上 Firefox 正在向元素添加左/右空格,从而使感知到的填充不同于 Chrome 和 IE。如果我修改 Firebug 中的值并改回来,那么空白就消失了,并且一开始就按照我的预期工作。这很令人沮丧,有什么想法吗?

请观看视频以获得准确的描述。

谢谢

更新 1:这是一个您可以检查代码的测试服务器,它可能与视频略有不同,但问题仍然相同。test.audrey-oxenhorn.gotpantheon.com

更新 2:它似乎是 :first-letter FF 有问题的伪元素。我认为这是一个实际的浏览器错误,但现在不确定如何解决。

4

2 回答 2

4

好的,我想通了!

在尝试在 JSfiddle 上重新创建它之后,我发现 :first-letter 伪元素导致了这个问题。然后我做了一些搜索,发现这是Firefox 中一个已知的浏览器错误,自 2007 年以来一直开放。这里有一个类似的问题。由于我能够通过 Firebug 触发重排/重绘来纠正该问题,因此我怀疑该问题与前面提到的问题相同,因此我使用以下代码触发了该块元素上的重排:

@-moz-keyframes bugfix { from { padding-right: 1px ; } to { padding-right: 0; } }

.sf-menu a {
  -moz-animation: bugfix 0.001s;
}

问题解决了,我将 bugzilla 报告链接到这个问题。

于 2012-10-31T16:32:16.053 回答
0

您可能需要应用 CSS 主重置。您可以在这里找到:http: //meyerweb.com/eric/tools/css/reset/

在 CSS 文档的开头应用它。或者检查你的父 CSS 声明。继承可能有问题。

希望这可以帮助!

于 2012-10-31T14:31:47.447 回答