当我设置#wrap {height: 0; overflow: hidden}时,内部锚点标记应该是隐藏的,因此单击阴影区域应该不会发生任何事情。
我在Firefox和IE上测试了它。它们都工作得很好。
但在Chrome上,当我点击阴影区域时,我仍然会看到警告窗口。
这是一个WebKit错误吗?
下面是演示:http://jsbin.com/ofuxar/3
<div id="wrap">
<a href="#" onclick="alert('clicked')">click</a>
</div>
#wrap {
height: 0;
overflow: hidden;
position: absolute;
box-shadow: 0 10px 10px 10px black;
}
#wrap a {
display: block;
height: 100px;
}发布于 2013-04-15 22:10:38
您正在将高度设置为0,但它的属性仍然显示。因此,您应用于该元素的任何样式仍将显示。如果你做了一个1px的边框,它会显示1px的边框颜色。这种情况最常见的例子可能是父div中有浮动元素,而父div折叠了。所有的边距和边框元素都会保留,但div的高度为0。
正如@Andrew在评论中所说的,你应该使用display:none;来隐藏元素。请允许我问一下,您设置height: 0的理由是什么?
EDIT http://jsfiddle.net/bHPFN/如前所述,元素的属性导致它的高度不是0px,而是将元素的功能维度扩展到CSS属性委托的任何位置。
https://stackoverflow.com/questions/16016310
复制相似问题