我在链接上声明了负边距,但在IE7上不起作用。

#search a {
    color: #E5E5E5;
    text-decoration: none;
    font-weight: bold;
    float:right;
    margin-top:-20px; // this is not working on ie, only mozilla
}

有办法解决这个问题吗?

最佳答案

{position: relative;}可能是必需的,如前所述,但您可能有另一个问题:
一般来说,如果负边距是用于将元素拉出父容器的技术,则IE7不会绘制元素伸出其父容器外部的部分(尽管它会考虑其他影响突出的方法,如{overflow: visible})。
这是一个“haslayout”相关的,即bug,可以在“Has Layout: Negative Margin Bug找到对它的彻底处理。
正如上面引用的参考文献所指出的,有一些方法可以诱使ie7绘制出在其父元素外部突出的负边距元素部分,但它涉及“……“不使用任何给出元素布局的属性。”这可能会限制您想要使用的其他设计技术,并有其他副作用(再次,请参阅引用的参考资料)。
但要回答您的问题:要找到解决方法,请参阅在Get Me Layout! Please!处归纳“haslayout”的属性列表(如位置、高度和宽度——yikes!)并确保没有一个应用于您的容器。

08-19 04:15