2013-04-15 81 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屬性委託。