CSS深入淺出-IFC

IFC(inline formatting content)內(nèi)聯(lián)格式化上下文,也是BFC的兄弟。

詳情鏈接:深入理解 CSS:字體度量、line-height 和 vertical-align

font-size是什么

  • font-size:100px

不是指里面字的大小,也不是字的高度

  • 活體印刷

font-size是指那個模具的高度,也就是活體印刷塊的高度
所以有的字體是可以比font-size大的

  • fontsize就是em-square

每一個字體的英文字符都要定義很多東西。
如果字體里面的部分相對于em-square超出的話,就叫出血(bleed outside)

line-height是(規(guī)定了)什么

每個字體都有一個默認(rèn)的,字體設(shè)計師推薦的行高,設(shè)計師可以隨意添加

  • line-height的意義
  1. 讓里面的字體自動居中顯示
  2. line-height決定一個內(nèi)聯(lián)元素的真實占位(真實占行高度)
  • 內(nèi)聯(lián)元素對齊方式

內(nèi)聯(lián)元素是默認(rèn)用基線(Baseline)對齊的,因為這樣好看

  • 多個font-size高度問題
  1. 字體不一樣,基線也不一樣
  2. 當(dāng)兩個inline元素的字體不一樣時,會使他們的父元素變高
    因為兩個字體基線不一樣,而一行又是已基線對齊的,所以會多幾像素

vertical-align屬性(少用)

  • vertical-align:top

所謂的top就是把字體的實際占地高度與父級元素默認(rèn)字體的頂端對齊
所以大部分情況這個元素沒用

  • vertical-align:middle

不是居中對齊,也沒用

圖片下面為什么有空隙

  • 原因

<img>也是inline元素,它會與看不見的基線對齊

  • 解決
  1. vertical-align: top
  2. img{display: block;}
  3. font-size: 0 傻逼采用

其他

  • inline-block 元素對不齊

幾乎無解,不過可以使用display:flex或使用float解決

  • inline-block 有空隙

可以使用display:flex或使用float解決

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容