1. 程式人生 > >[CSS3]對line-height的理解,什麼時候使用line-height合適

[CSS3]對line-height的理解,什麼時候使用line-height合適

line-height行高。自己寫的時候總是不能隨意使用這個樣式,要麼忘了加,要麼用起來不知所措,說明對它不甚熟悉,不知道什麼情況下應該使用,看了一些很有用的文章,貼在這裡

1.如果一個標籤沒有定義height屬性(包括百分比高度),那麼其最終表現的高度一定是由line-height起作用。

在inline box模型中,有個line boxes,這玩意是看不見的,這個玩意的工作就是包裹每行文字。一行文字一個line boxes。例如“艾佛森退役”這5個字,如果它們在一行顯示,你艾佛森再牛逼,對不起,只有一個line boxes罩著你;但“春哥純爺們”這5個字,要是豎著寫,一行一個,那真是夠爺們,一個字罩著一個line boxes,於是總計五個line boxes。line boxes什麼特性也沒有,就高度。所以一個沒有設定height屬性的div的高度就是由一個一個line boxes的高度堆積而成的。

由此有第二點:

2.行高還有一個特性,叫做垂直居中性。line-height的最終表現是通過line boxes實現的,而無論line boxes所佔據的高度是多少(無論比文字大還是比文字小),其佔據的空間都是與文字內容公用水平中垂線的。

1) 單行文字的垂直居中對齊

把line-height值設定為height一樣大小的值可以實現單行文字的垂直居中。這句話確實是正確的,但其實也是有問題的。問題在於height,看我的表述:“把line-height設定為您需要的box的大小可以實現單行文字的垂直居中”,差別在於我把height去掉了,這個height是多餘的。

2) 多行文字的垂直居中

要實現高度不固定的文字垂直居中使用padding就好了。對於高度固定的div,裡面文字單行或多行顯示,字型大小有大有小的情況怎麼辦呢?方法之一就是藉助於line-height。

待續

文章來源:http://www.cnblogs.com/xiezichang/archive/2013/12/13/3473392.html