首先要看DIV有無內(nèi)容,然后才會決定誰影響其高度:
1.當(dāng)DIV為一個空標(biāo)簽的時候:DIV有一個默認的高度(大約20px左右吧),如果hiehgt的值小于這個數(shù)字,DIV不會有任何反應(yīng),大于則可以控制;而line-height在這兒根本沒有用,因為沒有內(nèi)容,所以也就不存在行高了。
2.當(dāng) DIV標(biāo)簽內(nèi)有內(nèi)容時(哪怕是一個 ):DIV的高度依然是默認的(依舊是20px左右),而這時候的height仍然只能 設(shè)置大于這個數(shù)的值,否則DIV不會受控制;但是,這時候卻可以使用line-height來控制DIV的高度,準(zhǔn)確來說是控制DIV內(nèi)的內(nèi)容行高,使 DIV受行高的變化而變化。
不過,如果你設(shè)置了height的值,那么當(dāng)line-height小于height的值的時候,DIV取的是height的 值;如果line-height大于height的值,那這時候影響DIV高度的就是line-height的值了。
在其它的瀏覽器就不會出現(xiàn)這個問題,也就是說line-height大于height的時候,DIV的高度依舊是height,最多是看不見內(nèi)容,但DIV的高度不會被line-height所控制。
期間有一個朋友評論說“使用overflow:hidden;第二種情況也是由height來控制了”:嘿嘿,試了一下,的確如此,當(dāng)DIV的高度被line-height撐高的時候,使用overflow:hidden;則會使超出DIV高度那部份的內(nèi)容不可見,從而使DIV的高度受hiehgt控制。