2017-03-14 64 views
-3

據我所知(不遠),一個divheight:0;和一個div沒有指定的高度都將擴大到包含其子元素所需的高度。你爲什麼要編碼height:0在CSS中高度:0和高度沒有指定的區別是什麼?

(我敢肯定,有一個很好的理由)

+3

''div' with'height:0' will never expand。沒有指定高度的'div'會。 –

+0

它可能看起來像是因爲內容溢出而擴展。嘗試將邊框或背景顏色或「overflow:hidden」放置到「height:0」元素。 – JJJ

+0

謝謝你們。我要刪除這個問題,這是愚蠢的。哦,等等,我現在不能,因爲它已經被回答了。好吧。 – Monkeybrain

回答

2

我不認爲你說的divheight:0展開顯示它的children.As正如你所料,通過設置高度爲零,div消失。它的孩子仍然可能被展示,但div的高度爲零。嘗試組合:

#my-div{ 
    height:0; 
    overflow:hidden; 
} 

這樣,任何溢出從div將被隱藏和height:0效果應該會更爲明顯。

2

不正確。

具有特定高度的div永遠不會展開。所以如果一個div的內容大於所需的高度,內容將會溢出,但div不會擴展。

下面是一個例子來說明這一點。

#div-1 { 
 
    margin: 5px; 
 
    border: 5px solid grey; 
 
    background: red; 
 
} 
 

 
#div-2 { 
 
    margin: 5px; 
 
    border: 5px solid grey; 
 
    background: green; 
 
    height: 0; 
 
}
<div id="div-1"> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
</div> 
 
<div id="div-2"> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
\t <p>a</p> 
 
</div>

0

當您指定height: 0元素不會膨脹大於零個像素高。

如果不指定高度,則元素將展開到其內容的高度。

0

身高:0與身高沒有明確區別。兩者都會顯示內部內容,但顯示哪個高度:0這是內容將顯示如果您不設置溢出:隱藏;但不會增加基於高度的內容,但沒有指定的高度會顯示內容,其高度會自動增加,請參閱[這裏] [1]。

[1]: https://jsfiddle.net/ntpr5enu/ 
相關問題