有没有办法摆脱在IE6中的<hr>
元素的边框,而没有将其包装在另一个元素中?不幸的是,另一个要求是没有黑客。使<hr>标签在IE6中不可见?
我已经成功通过造型边框这样做对所有的浏览器:
hr.clear {
clear: both;
border: 1px solid transparent;
height: 0px;
}
但IE6依然呈现一个1像素的白线。
有没有办法摆脱在IE6中的<hr>
元素的边框,而没有将其包装在另一个元素中?不幸的是,另一个要求是没有黑客。使<hr>标签在IE6中不可见?
我已经成功通过造型边框这样做对所有的浏览器:
hr.clear {
clear: both;
border: 1px solid transparent;
height: 0px;
}
但IE6依然呈现一个1像素的白线。
display: none
不起作用,因为您完全从元素流中删除<hr>
。这会导致它停止清理浮游物。
如果您完全隐藏它,那么只需使用visibility: hidden
。它仍然会清除漂浮物,并且这适用于所有IE:
hr {
clear: both;
visibility: hidden;
}
邦上。谢谢! – montrealist 2010-08-17 14:27:56
明确:两者都是我必须的,知名度:隐藏只是没有工作.. – 2016-09-22 16:43:04
是的,我看到了。但我不需要一个图像,我只是需要它完全不可见。 – montrealist 2010-08-13 15:52:04
..'display:none;'只会隐藏它,而海报想要的1px的垂直空间将会消失。 – Hristo 2010-08-13 16:22:34
我不需要隐藏它,只是为了摆脱它的边界。我需要它作为结算要素。因此,'display:none'不是一个选项。 – montrealist 2010-08-16 17:45:52
所以问题是,IE不考虑<hr>
边框为 “边界”。如果你设置
border: 1px #f0f solid;
......它会在现有的斜切边界周围添加紫红色边框。幸运的是,Firefox和IE8渲染了这一点,并意识到border: 0;
意味着我不需要边框。不幸的是,IE 7和更低版本不这样做。
因此,要回答你的问题...... 没有 ...有没有摆脱了边框的<hr>
元素IE6的方式没有包装它在另一个元素或黑客攻击(我的避风港根据我的经验,没有找到办法做到这一点)。
如果您有纯色背景色,请将<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浏览器(旧版本)不玩规则。我希望这有帮助。
为什么不'border:none'?我认为它甚至适用于IE6。 – zneak 2010-08-13 15:45:47
上述两种解决方案在所有IE浏览器中都保留了1-px行。我在Windows上使用IETester和IE8进行测试。 – montrealist 2010-08-13 15:54:12