天天看點

CSS line height 介紹

CSS line height 介紹
CSS line height 介紹

1. line-height行高的定義就是兩基線之間的距離

2. vertical-align預設值就是基線(基線是字型本身的東西)

3. 字母X的下邊緣就是基線

4. x-height:代表的的就是基線和等分線之間的距離

5. vertical-align: middle,需要注意的是,middle和median(midline)的差別,這兩者并不等價,嚴格來講,middle指的是基線(baseline)往上1/2‘x-height’的高度,是以,我們近似可以把middle腦補成字母X的交叉點

是以可見,vertical-align:middle并不是絕得的垂直居中,平常看到的middle效果隻是一種近似的效果,嚴格的垂直居中應該是基于baseline來的居中。

6. 尺寸機關ex:這是CSS中的一個相對機關,指的是小寫字母x的高度,其實ex就是代表了x-height而已

ex的價值:不受字型字号影響的内聯元素的垂直居中效果,也即是ex就是一個相對于字型字号的機關。

7. 行高:是指上下文本行的基線間的垂直距離 = ① + ② + 2*③ + ④

8. 行距:是指一行底線到下一行頂線之間的垂直距離 = 2*③;即使不是設定line-height,隻是設定font-size,行距也是預設不為0的,行距在沒有line-height影響下時,會随着font-size的大小變化而動态的改變

9. font-size: 頂線和底線之間的垂直距離 = ① + ② + ④ = 行高 - 行距 10. 内容區就是一行内底線和頂線之間的距離,也就是font-size的面積 11. line-height再用到一個塊級元素時候,則定義的是元素中基線之間的最小間距 12. 像素是相對機關長度,實作對于顯示器螢幕封邊路而言的 13. em是相對機關長度,相對于目前對象内文本的字型尺寸,如果目前行内文本的字型尺寸未被設定,則相對的是浏覽器的預設字型尺寸,是以預設情況下1em = 16px, 12px = 0.75em 14. 所謂的padding是從font-size之外的部分開始向外延伸的,也就是内容區以外擴充的區域,是以,padding的區域會和半行距重合起來,如果font-size>=行高的話,那麼半行距==0,半行距不可能小于0 15. 在預設情況下, line-height是目前font-size大小的1.14倍,得到的結果四舍五入,如果結果為奇數,上下分成上下半邊距(|上半邊距-下半邊距| == 1);如果是偶數,則均分成上下兩個相等的半邊距,是以,當font-size的大小是0的時候,也未必圖檔就能絕對的垂直居中,之後當line-height-圖檔size==偶數時才是絕對的居中,但是,對于不同的浏覽器,配置設定方式和預設值1.14可能不同 16. 如果字型大小為0,這時候的基線是一個點或者是一條線,不同的浏覽器有不同的差異, 總而言之,對于上面提到的很多線之間的距離并不是固定的或者是對稱的,需要擺脫定勢思維 17. 從下面的第二個圖可以看出,局對局中的位置在不考慮上下半邊距影響的情況下,隻和字型的大小有關,而中線的确定也隻和字型大小有關,可以确定的是,随着字型的變大,中線位置和絕對居中位置的差距會越來越大。 18. 一個inline-block元素,如果裡面沒有inline内聯元素,或者overflow不是visible,則該元素的基線就是其margin底邊緣,否則,其基線就是元素裡面最後一行内聯元素的基線。