我在链接上声明了一个负余量,但它在IE 7上不起作用。
#search a {
color: #E5E5E5;
text-decoration: none;
font-weight: bold;
float:right;
margin-top:-20px; // this is not working on ie, only mozilla
}
这是否有解决方法?
答案 0 :(得分:8)
{position: relative;}
,但您可能还有其他问题:
一般情况下,如果负边距是用于将元素拉出的技术,IE7将不会绘制突出于其父容器外部的元素的一部分(尽管它会考虑其他影响突出的方法,如{{ 1}})。
这是一个“hasLayout”相关的IE错误,可以在“Has Layout: Negative Margin Bug找到对它的彻底处理。
正如上面引用的参考说明,有一些方法可以诱骗IE7绘制元素的一部分,其边缘突出于其父元素之外,但它涉及“......不使用任何给出元素布局的属性“。这可能会限制您想要使用的其他设计技术,并且还有其他副作用(再次参见引用的参考文献)。
但是要回答你的问题:对于解决方法,请参阅在Get Me Layout! Please!引发“hasLayout”的属性列表(如位置,高度和宽度 - yikes!)并确保它们都不会被应用到你的容器。
答案 1 :(得分:1)
设定位置:相对; 这是使用负边距http://www.smashingmagazine.com/2009/07/27/the-definitive-guide-to-using-negative-margins/
的良好指南答案 2 :(得分:1)
确保您设置了有效的Doctype。 Quirks模式不允许负边距。