我的页面上有两个不同的上下文中有<a>
个元素,有些是div(称为.container&gt; a),有些是子div(比如.container&gt; .section&gt; a)甚至还有一些在后代的div中(比如.container&gt; ...&gt; .section&gt; a)。我目前正在使用以下CSS对内联<a>
元素进行一些格式化:
line-height:1.4;
position: relative;
left: 15px;
margin-left: -5px;
由于我目前使用border-bottom: 1px dotted #333
设置链接样式,因此链接必须保留内联元素。问题是,.section中的链接行为有时与.container中的链接不同。后者在FF 3.6和IE7中看起来都很好。在IE7中,前者有第一个字符左右(负面边际内的任何内容)切断(我假设为负边距)。
我认为它可能是hasLayout的错误,所以我检查了三种情况的状态。它们如下:
案例1)对于.container&gt; a,.container hasLayout是真的。 (http://imgur.com/WJ3zM.png)
案例2)对于.container&gt; .section&gt; a,.section hasLayout为false,.container hasLayout为true。 (http://imgur.com/4NHxj.png)
案例3)对于.container&gt; ...&gt; .section&gt; a,.section hasLayout为false,除了其中一个插入容器(div,li和ul)hasLayout为true,并且.container hasLayout为true。 (http://imgur.com/WefBk.png)
前两种情况在IE7中看起来很好,第三种情况有负边距错误。是什么导致这种情况发生,并且在如此有限的背景下?
答案 0 :(得分:1)
显式设置z-index
以覆盖同级,或者您可能需要在该相对定位元素的父元素上设置位置。 IE错误地将z-index为0应用于所有元素。它也可能是溢出的:隐藏的。
图像不如实例。
答案 1 :(得分:0)
可能是hasLayout
。您是否尝试将案例3中的布局添加到.container
? (对不起,你说它已经有了布局,我的意思是.section
...)
根据我的评论和实验添加:
将margin-left: -5px
标记上的text-indent: -5px
更改为a
。