3

我在 Firefox 4.0.1 中发现了一个奇怪的错误(它也发生在 Opera 11.5 中),所以我创建了这个例子来说明这个问题:

http://jsfiddle.net/whYC7/

如果在 safari 中查看一切看起来都很好,但是当我在 Firefox 或 Opera 中打开它时,具有负边距的 div 内的图像仍会占用下面 div 的空间。

有谁知道解决这个问题的方法?

4

3 回答 3

4

这是根据 CSS 规范的正确渲染。负边距意味着红色 div 的顶部高于其他情况,但是一旦确定它的顶部是文本的位置,就取决于浮动和 div 的交集。请参阅http://www.w3.org/TR/CSS21/visuren.html#floats以“A line box is next to a float”开头的段落。

您可能想在此处提交有关 WebKit 的错误。

于 2011-07-23T04:58:22.280 回答
0

在大多数情况下可行的解决方法是使您的 div 的位置绝对,然后使用顶部/左侧/右侧/底部来控制位置

于 2015-02-08T07:00:47.637 回答
0

我在 FF 和 IE9 中也遇到过这个问题...绝对定位的 div 似乎无法识别负边距,尽管使用 top:100px 而不是 margin-top:-100px 似乎在 FF 12 和 ie9 中有效

于 2012-09-17T17:37:42.737 回答