天天看點

CSS 中的字号與行高

問題: 設定字号大小為 20px , 然而真實字型高度卻不是20px, 為什麼???

CSS 中的字号與行高

一、設計的字型

設計字型的三個參考線: 上線、基線、下線

CSS 中的字号與行高

如圖所示: 字型大小 = 頂線(ascender) + 底線(descender)

假設 将字型高度設定為1000個機關 (具體的數值根據設計的字型而定)

CSS 中的字号與行高

以上圖為例:字型的真實高度 = (ascender - (-descender)) / 字型高度 * fontSize;

二、為什麼字型高度大于字型大小

一般來說設計師在設計字型時, (ascender - (-descender)) / 字型高度 的比例都不會是标準的1 : 1, 是以 一般來說字型高度會大于字型大小

三、關于行高 line-height

我們在寫樣式時,都喜歡給文字設定行高,但是行高到底是怎麼計算得來的呢?

行高: 行間的距離,上下對半分

條件假設: font-size: 50px, line-height: 70px;

那麼半行距就為: (70 - 50) / 2 = 10px,向上的距離是10px,向下的距離也是10px

CSS 中的字号與行高