大家都知道,如何設置文字垂直居中,也就是:設置line-height 和 外圍盒子的高度height一致;
其實這里有個地方,是多余的,也就是height,設不設置都居中;
那么,行高是生產高度的?
先上一個小問題:當div沒有設置高度的情況下,撐開其高度是里面的文字嗎?
答案是否定的,你可以試試,當你設置行高為line-height: 0; 的時候,div的高度還是0;事實證明,撐開div高度與其里面文字的行高有關系;
先理解下,inline box模型,其中有個line boxes,它是看不到摸不着的東西,它的工作是包裹每行文字,它的屬性只有高度height,首先如果div沒有設置高度,則其高度是里面一個個line boxes的高度累加而成的;(垂直很多行文字)
但是當只有一行的情況下,line boxes會查詢里面哪一個的行高比較大,從而取其高度;如:<div> <span style="line-height:20px;">取手下line-height<span style="line-height:40px;">最高</span>的值</span></div>,此時line boxes取的行高是40px,從而div的高度為40px;(水平一行文字)
接下來,再補充一個妙用,利用line-height和vertical屬性實現多行圖片垂直水平居中的
父級包裹層設置,line-height 和 height相等和text-align: center,里面的圖片設置vertical-align:middle;這樣就可以實現了



