Inline Formatting Contexts,也就是「內聯格式化上下文」。css
造成條件很是簡單,須要注意的是當IFC中有塊級元素插入時,會產生兩個匿名塊將父元素分割開來,產生兩個IFC,這裏不作過多介紹。html
相比較於BFC,IFC的規則噼裏啪啦一大堆,不多有人會耐心看下去,舉幾個例子,花幾分鐘就能夠大概明白其特性。佈局
.warp { border: 1px solid red; display: inline-block; } .text { margin: 20px; background: green; }
<div class="warp"> <span class="text">文本一</span> <span class="text">文本二</span> </div>
左右margin撐開,上下margin並未撐開,符合IFC規範,只計算橫向樣式控件,不計算縱向樣式空間。spa
.warp { border: 1px solid red; width: 200px; text-align: center; } .text { background: green; }
<div class="warp"> <span class="text">文本一</span> <span class="text">文本二</span> </div>
水平排列規則根據IFC容器的text-align值來排列,能夠用來實現多個子元素的水平居中。code
.warp { border: 1px solid red; width: 200px; } .text { background: green; } .f-l { float: left; }
<div class="warp"> <span class="text">這是文本1</span> <span class="text">這是文本2</span> <span class="text f-l">這是文本3</span> <span class="text">這是文本4</span> </div>
IFC中具有float屬性值的元素優先排列,在不少場景中用來在文章段落開頭添加「tag」能夠用到。orm
利用IFC還能夠作不少其餘的事情,例如:解決元素垂直居中、多個文本元素行高不一致排列混亂。htm