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