css - 相对定位的内联元素的负边距有时会在 IE7 中剪切字符

标签 css internet-explorer-7 haslayout

我有 <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/

相关文章:

css - 看到红色 : How to NOT clear a div in IE7?

wordpress - ie7 和 ie8 忽略 "margin:0px auto;"

css - webkit "haslayout"漏洞

html - 列表元素符号在 IE7 中消失

javascript - Angular highchart 和 ng-grid header 不考虑框架宽度

javascript - Highcharts 仪表样式和添加 CSS 元素

javascript - 如何自定义 Angular Material 日期选择器?

html - 影响标题文本的 Css 背景覆盖

css - Internet Explorer 9 中的躲猫猫错误?

jquery - 由于 z-index 错误,堆叠式菜单在 ie7 中不起作用