我有 <a>
我页面上两个不同上下文中的元素,一些在 div 中(称它们为 .container > a),一些在子 div 中(如 .container > .section > a),甚至一些在进一步的后代 div 中(如 .container > ... > .section > a).我目前正在在线上做一些格式化 <a>
具有以下 CSS 的元素:
line-height:1.4;
position: relative;
left: 15px;
margin-left: -5px;
因为我目前正在使用 border-bottom: 1px dotted #333
设置链接样式, 链接必须保持内联元素。问题是有时 .section 中的链接与 .container 中的链接行为不同。后者在 FF 3.6 和 IE7 中看起来都不错。前者在 IE7 中截断了第一个字符左右(负边距内的任何内容)(我假设是负边距)。
我觉得可能是hasLayout的bug,于是查看了三个case的状态。它们如下:
情况 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 为 false,除了一个中间容器(divs、li 和 ul)之外的所有 hasLayout 为 true,并且 .container hasLayout 为 true。 ( http://imgur.com/WefBk.png )
前两种情况在 IE7 中看起来很好,第三种情况有负边距错误。是什么导致了这种情况的发生,而且是在如此有限的背景下?
最佳答案
显式设置 z-index
以覆盖兄弟元素,或者您可能需要在该相对定位元素的父元素上设置一个位置。 IE 错误地将 0 的 z-index 应用于所有元素。它也可以溢出:隐藏。
图像不如实例。
关于css - 相对定位的内联元素的负边距有时会在 IE7 中剪切字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3266255/