有没有办法摆脱IE6中<hr>
元素的边界而不将其包装在另一个元素中?不幸的是,另一项要求是没有黑客攻击。
我已经设法通过为边框设置样式来为所有浏览器执行此操作:
hr.clear {
clear: both;
border: 1px solid transparent;
height: 0px;
}
然而IE6仍然呈现1像素的白线。
答案 0 :(得分:10)
display: none
不起作用,因为您正在从元素流中完全删除<hr>
。这导致它停止清理你的花车。
如果您可以完全隐藏它,只需使用visibility: hidden
即可。它仍将清除浮动,这适用于所有IE:
hr {
clear: both;
visibility: hidden;
}
答案 1 :(得分:1)
答案 2 :(得分:1)
所以问题是IE不会将<hr>
边框视为“边框”。如果你设置
border: 1px #f0f solid;
...它会在现有斜面边框周围添加一个紫红色边框。幸运的是,Firefox和IE8也是如此,并且意识到border: 0;
意味着我不想要边框。不幸的是,IE 7及更低版本不会这样做。
所以回答你的问题...... 没有 ...没有办法摆脱 IE6 中<hr>
元素的边框没有把它包装在另一个元素中或者黑客攻击它(我没有找到根据我的经验做到这一点的方法)。
您的选项要么将<hr>
包裹在<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(旧版本)不遵守规则。我希望这会有所帮助。