Css 为什么不';负利润在IE 7中不起作用吗?

Css 为什么不';负利润在IE 7中不起作用吗?,css,internet-explorer,internet-explorer-7,Css,Internet Explorer,Internet Explorer 7,我在一个链接上声明了一个负边距,但它在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上不起作用

#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,即bug,有关它的详细处理方法,请访问“hasLayout”

正如上面引用的参考注释所述,有一些方法可以诱使IE7绘制元素的负边缘部分,该部分突出其父元素之外,但它涉及“。。。不使用任何提供元素布局的属性。”这可能会限制您想要使用的其他设计技术,并具有其他副作用(同样,请参阅引用的参考资料)


但要回答您的问题:有关解决方法,请参阅(如位置、高度和宽度——yikes!),并确保它们都未应用于您的容器。

确保设置了有效的Doctype。怪癖模式不允许负边距。

可能是Doctype不兼容加上未显示:块(即不给没有显式显示:block的元素提供布局,即使您浮动它)我尝试了显示块,但它还不起作用:((你能帮我解决一下你的问题吗?是的,我会给我一分钟的时间谢谢?这对我来说真的很有效检查,我在主体容器中添加了边框,这样你就可以看到-30px的左边哦,哇,你甚至修复了文本输入问题,如果你能准确地显示你所做的事情可以吗?谢谢,我有点太慢了!!我没有改变任何东西,你可以检查吗代码,我基本上添加了一个容器,验证您是否正在重置元素,或者它被重写的样式,如果您将整个代码放在一起,我可能可以帮助您。非常感谢,{position:relative;}修正了我的问题。我被IE7的错误弄疯了!记录在案:我在`位置:相对;''plus'缩放:1;'.-(我给了我的主要“经典”单列布局一个负右页边距,两/三列布局的内部浮动元素…这早就打破了)