line height 與 height 的區別

2022-06-24 12:12:10 字數 2661 閱讀 7598

line-height是行高的意思,它決定了元素中文字內容的高度,height則是定義元素自身的高度

舉例:

第一種情況:使用height

結果:

第二種情況:行高為50px和文字高度為

20px

情況:這時候文字會居中顯示(

對於文字為什麼會居中顯示問題解釋如下:我們把line-height設定為

50px

,也就是說這行文字會佔

50px,

但是顯然每個字的大小只有

20px

,這時候瀏覽器把多出來的

30px,

在文字上面加了

15px,

文字下面加了15px這個時候文字就在

50px

的空間上居中了

結果:

第三種情況:設定了文字高度和文字大小一樣的此時滿屏顯示

結果:

「行高」

顧名思意指一行文字的高度。具體來說是指兩行文字間基線之間的距離。

css中起高度作用的就是height以及line-height!如果乙個標籤沒有定義

height屬性(包括百分比高度

),那麼其最終表現的高度一定是由line-height起作用

先說乙個大家都熟知的現象,有乙個空的div標籤

,如果沒有設定至少大於1畫素高度height值時,該div的高度就是個0。如果該div裡面打入了乙個空格或是文字,則此div就會有乙個高度。那麼您思考過沒有,為什麼div裡面有文字後就會有高度呢?

這是個看上去很簡單的問題,是理解line-height非常重要的乙個問題。可能有人會跟認為是:文字撐開的!文字佔據空間,自然將div撐開。但是深入理解inline模型後發現,根本不是文字撐開了div的高度,而是line-height!要證明很簡單(如下測試**):

css:

.test1.test2
html:

<

div

class

="test1"

>測試

div>

<

div

class

="test2"

>測試

div>

結果:

結果是如此的顯而易見,test1 div有文字大小,但行高為0,結果div的高度就是個0;test2 div文字大小為0,但是有行高,為20畫素,結果div高度就是20畫素。這就說明撐開div高度的是line-height不是文字內容

到底這個line-height行高怎麼就產生了高度呢?在inline box模型中,有個line boxes,這玩意是看不見的,這個玩意的工作就是包裹每行文字。一行文字乙個line boxes。例如「艾佛森退役」這

5個字,只有乙個line boxes;但「春哥純爺們」這

5個字,要是豎著寫,一行乙個,

那麼乙個字罩著乙個line boxes,於是總計五個line boxes。line boxes什麼特性也沒有,就高度。所以乙個沒有設定height屬性的div的高度就是由乙個乙個line boxes的高度堆積而成的。

其實line boxes不是直接的生產者,屬於中層幹部,真正的活兒都是它的手下  inline boxes幹的,這些手下就是文字啦,啊,

之類的inline屬性的標籤啦。line boxes只是個考察匯報人員,考察它的手下誰的實際line-height值最高,誰最高,它就要誰的值,然後向上匯報,形成高度。

網上都是這麼說的,把line-height值設定為height一樣大小的值可以實現單行文字的垂直居中。這句話確實是正確的,但其實也是有問題的。問題在於height,看我的表述:「

line-height

設定為您需要的

box的大小可以實現單行文字的垂直居中

」,差別在於我

height去掉了,這個height是多餘的,您不信您可以自己試試。

line height與height學習和總結

目錄 問題引入 height與line height是什麼?height與line height的作用物件是什麼?height與line height之間存在什麼關係?必要基本術語和概念 名詞 概念 字型 作用的過程 height的作用過程 line height的作用過程 總結 注 height ...

關於line height設定

乙個小小屬性就有那麼多的學問,我們來一起了解一下關於line height設定 行高有五種設定方法inherit normal 百分比 固定大小 純數字 如果使用百分比的話,只會根據父元素font size來計算的行高,且它的子元素僅僅繼承父元素的行高,而不能根據自己的font size來計算的行高...

textblock的LineHeight的調整

原文 textblock的lineheight的調整 在上面的 textblock控制項中允許huanhang,也就是說some 和 text將分行顯示,會發現some和text的行距,會很寬,要調整他們之間的行距,即便是設定 lineheight為50,發現調整的幅度也是很小,也無法縮小行距。如果...