代码之家  ›  专栏  ›  技术社区  ›  burningstar4

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

  •  0
  • burningstar4  · 技术社区  · 15 年前

    我有 <a> <a>

    line-height:1.4;
    position: relative;
    left: 15px;
    margin-left: -5px;
    

    因为我目前的样式与一个 border-bottom: 1px dotted #333 ,则链接必须保持为内联元素。问题是,.section中的链接有时与just.container中的链接行为不同。后者在FF3.6和IE7中看起来都不错。前者在IE7中有大约第一个字符(无论在负边距的数量内是什么)被切断(我假设是由负边距)。

    我认为这可能是hasLayout的一个bug,所以我检查了三个案例的状态。具体如下:

    案例1)对于.container>a、 。容器布局为真( http://imgur.com/WJ3zM.png )
    http://imgur.com/4NHxj.png )
    案例3)对于.container>>。节>a、 .section hasLayout为false,除一个中间容器(div、li和ul)hasLayout为true外,其余所有容器hasLayout均为true,.container hasLayout为true( http://imgur.com/WefBk.png )

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

    2 回复  |  直到 15 年前
        1
  •  0
  •   ScottS    15 年前

    可能是因为 hasLayout . 你有没有试着在案例3中添加布局 .container ? (对不起,你说它已经有布局了,我是说其中一个 .section

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

    改变你的想法 margin-left: -5px text-indent: -5px 在你的 a 标签。

        2
  •  1
  •   meder omuraliev    15 年前

    设置 z-index 显式重写同级元素,或者可能需要在相对定位元素的父元素上设置位置。IE错误地将z索引0应用于所有元素。也可能是overflow:hidden.

    图像不如真实的例子好。

    推荐文章