2013-04-15 62 views
0

当我设置#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; 
} 
+3

你最好是说'display:none'而不是'height:0px' – Andrew

+0

我没有很好地解释这个问题。对不起,我的英文。重新编辑问题。 – Chef

回答

2

你的高度设置为0,但它的属性仍然显示。 Ergo,您应用于该元素的任何样式仍将显示。如果你做了1px的边框,它会显示1px的边框颜色。可能最为人所知的情况是当你在父div内部浮动元素并且父div崩溃时。所有边距和边框元素都保留,但div的高度为0.

由于@Andrew在评论中声明,您应该使用display:none;来隐藏元素。如果我可能会问,你有什么理由设置height: 0

编辑http://jsfiddle.net/bHPFN/如前所述,属性的元素导致其没有0像素的高度,而是元素的功能尺寸延伸到什么都CSS属性委托。