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

使标签在IE6中不可见?

  •  7
  • montrealist  · 技术社区  · 15 年前

    有办法摆脱边境吗 <hr> IE6中的元素没有用另一个元素包装?不幸的是,另一个要求是没有黑客。

    我已经成功地为所有浏览器设置了边框样式,如下所示:

    hr.clear {
        clear: both;
        border: 1px solid transparent;
        height: 0px;
    }
    

    然而IE6仍然呈现1像素的白线。

    3 回复  |  直到 12 年前
        1
  •  10
  •   BoltClock    12 年前

    display: none 无法工作,因为您正在完全删除 <hr> 来自元素流。这会导致它停止清理你的漂浮物。

    如果你可以完全隐藏它,只需使用 visibility: hidden 相反。它仍将清除浮动,这对所有IES都有效:

    hr {
        clear: both;
        visibility: hidden;
    }
    
        2
  •  1
  •   Hristo    15 年前

    所以问题是 <hr> 边框为“边框”。如果你设置

    border: 1px #f0f solid; 
    

    …它将在现有斜角边框周围添加紫红边框。幸运的是,firefox和ie8呈现了相同的结果,并意识到 border: 0; 意思是我不想要边界。不幸的是,IE7和更低版本不能做到这一点。

    所以要回答你的问题… …没有办法摆脱边境 <人力资源部; 元素在 IE6 如果不将它包装在另一个元素中或进行黑客攻击(根据我的经验,我找不到这样做的方法)。

    你的选择要么是包装 <人力资源部; 在一个 <div> ,如果您有纯色背景,请设置 color 属性设置为背景色,或使用图像作为背景。

    选项1:

    <div style="height:1px; background: transparent;">
        <hr style="display:none;" />
    </div>
    

    选项2:

    hr.clear {
        border: 0 none;
        height: 1px;
        color: #ffffff; /* if your bg is white, otherwise choose the right color */
    }
    

    选项3…看看这个: http://blog.neatlysliced.com/2008/03/hr-image-replacement/

    抱歉,IE(旧版本)不按规则运行。我希望这有帮助。

        3
  •  1
  •   TimS    15 年前