張鑫旭的CSS深刻理解之line-height學習筆記
行高:兩行文字基線之間的距離瀏覽器
爲什麼是基線:基線是定義全部字線的根本curl
不一樣字體和基線的距離不一樣,在字格中放置的樣式不一樣學習
行高決定內聯盒子高度字體
內容區域高度只與字號和字體有關,和行高無關url
行間距(vertical padding)= 行高 - 內容區域spa
行框高度是行內最高內聯盒子到最低內聯盒子的距離code
隱匿文本節點產生一個不可見的行內框,圖片默認對齊基線,致使圖片並不是貼緊容器底邊
https://codepen.io/curlywater...orm
對單行行內元素的垂直居中,有一種慣用的方法,設置line-height和height一致。
內聯盒子的高度由line-height決定,height限制包含盒子的高度,二者一致,即把內聯盒子安放在包含盒子內,排除其餘外界干擾。
這時候由內聯盒子模型可知,行間距是等分的,中間部分是content area,達到看似居中的效果。繼承
但其實這個時候,並非徹底居中;
https://codepen.io/curlywater...
上面的例子裏,增長字體大小,發現inline-block的盒子再也不居中;
結合vertical-align來講明,vertical-align:middle實際上是根據x字符的中心線居中,因爲字符有下沉的特性,致使這條中心線並不與容器中心線重合。
內聯盒子模型中,content-area的高度受font-size影響,font-size變大,content-area的空間變大,基線的位置向下,x的位置也向下偏移,兩條中心線之間的差距也就越大。圖片
能夠獲得結論:line-height和height設置一致,並不是是徹底垂直,除非font-size爲0。