我在Firefox 4.0.1中发现了一个奇怪的错误(它也发生在Opera 11.5中)所以我创建了这个例子以显示问题:
如果在safari中查看一切看起来都很好,但是当我在Firefox或Opera中打开它时,带有负边距的div内的图像仍会占用下面div中的空间。
有没有人知道解决这个问题的方法?
答案 0 :(得分:4)
根据CSS规范,这是正确的渲染。负边距意味着红色div的顶部高于其他情况,但一旦确定其顶部的位置,文本的位置只取决于浮点数与div的交点。请参阅http://www.w3.org/TR/CSS21/visuren.html#floats段落“一个行框位于浮动旁边”。
您可能想在此处在WebKit上提交错误。
答案 1 :(得分:0)
我在FF和IE9中遇到过这个问题...绝对定位的div似乎没有识别出负边距,尽管使用top:100px而不是margin-top:-100px似乎在FF 12中有效和ie9
答案 2 :(得分:0)
在大多数情况下可以使用的修复方法是使div的位置绝对,然后使用top / left / right / bottom来控制位置