Css 相对定位的内联元素上的负边距有时会剪辑IE7中的字符

Css 相对定位的内联元素上的负边距有时会剪辑IE7中的字符,css,internet-explorer-7,haslayout,Css,Internet Explorer 7,Haslayout,我有) 案例2)对于.container>.section>a,.section hasLayout为false,.container hasLayout为true。() 案例3)对于.container>…>。section>a、.section hasLayout为false,除了一个中间容器(div、li和ul)hasLayout为true外,其余所有容器hasLayout均为true,.container hasLayout为true。() 前两个案例在IE7中看起来不错,第三个案例有负

我有

案例2)对于.container>.section>a,.section hasLayout为false,.container hasLayout为true。()
案例3)对于.container>…>。section>a、.section hasLayout为false,除了一个中间容器(div、li和ul)hasLayout为true外,其余所有容器hasLayout均为true,.container hasLayout为true。()


前两个案例在IE7中看起来不错,第三个案例有负边际缺陷。在如此有限的上下文中,是什么导致了这种情况的发生?

显式设置一个
z-index
以覆盖同级元素,或者您可能需要在相对定位元素的父元素上设置一个位置。IE错误地将z索引0应用于所有元素。它也可能是溢出的:隐藏的


图像没有活生生的例子那么好。

可能是
hasLayout
。您是否尝试将案例3中的布局添加到
.container
?(对不起,你说它已经有布局了,我是指
部分的一个
。)

根据我的评论和实验添加如下:


a
标记上的
左边距:-5px
更改为
文本缩进:-5px

对于案例2,我给出了.section div布局(使用IE开发者工具栏中的zoom:1),这实际上也使错误出现在该案例中。当我在案例3中给出.section布局时,它并没有解决问题。好吧,如果没有其他问题的话,它确认
hasLayout
是您的问题。没有代码,我就不可能调试。我不知道你为什么要这样做,但为什么不直接设置
left:10px
并消除-5px的边距(如果是负边距导致了错误)?边距,因为它只影响第一行,用于创建链接第二行的缩进,如果它是环绕的。我将努力获取一些可供查看的精简代码。不确定是否有帮助,但您可以尝试使用
文本缩进:-5px
而不是
边距来移动第一行文本。您可以在此处看到出错的代码(在Firefox中工作,而不是在IE7中):我不确定您对z索引的意思,你能澄清一下吗?我尝试在.section div上设置
position:relative
,但没有效果。我还试着给出.section
overflow:visible
,但也没有任何效果。很抱歉,图像不理想,我将以一个实例来看看我能做些什么,但在这种情况下,它相当复杂。案例3中的“>…>”实际上是2个div,然后是一个ul及其子li,然后是另一个div.
z-index:5。。你能做个演示吗?
line-height:1.4;
position: relative;
left: 15px;
margin-left: -5px;