国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

CSS之IFC

lufficc / 1751人閱讀

摘要:行框的寬度是由包含塊和與其中的浮動來決定。中的高度由行高計算規(guī)則來確定,同個下的多個高度可能會不同。當(dāng)一個超過父元素的寬度時,它會被分割成多個,這些分布在多個中。如果子元素未設(shè)置強制換行的情況下,將不可被分割,將會溢出父元素。

IFC

Inline Formatting Contexts,也就是“內(nèi)聯(lián)格式化上下文”。

符合以下任一條件即會生成一個IFC

塊級元素中僅包含內(nèi)聯(lián)級別元素

形成條件非常簡單,需要注意的是當(dāng)IFC中有塊級元素插入時,會產(chǎn)生兩個匿名塊將父元素分割開來,產(chǎn)生兩個IFC,這里不做過多介紹。

IFC布局規(guī)則

子元素水平方向橫向排列,并且垂直方向起點為元素頂部。

子元素只會計算橫向樣式空間,【padding、border、margin】,垂直方向樣式空間不會被計算,【padding、border、margin】。

在垂直方向上,子元素會以不同形式來對齊(vertical-align)

能把在一行上的框都完全包含進(jìn)去的一個矩形區(qū)域,被稱為該行的行框(line box)。行框的寬度是由包含塊(containing box)和與其中的浮動來決定。

IFC中的“l(fā)ine box”一般左右邊貼緊其包含塊,但float元素會優(yōu)先排列。

IFC中的“l(fā)ine box”高度由 CSS 行高計算規(guī)則來確定,同個IFC下的多個line box高度可能會不同。

當(dāng) inline-level boxes的總寬度少于包含它們的line box時,其水平渲染規(guī)則由 text-align 屬性值來決定。

當(dāng)一個“inline box”超過父元素的寬度時,它會被分割成多個boxes,這些 oxes 分布在多個“l(fā)ine box”中。如果子元素未設(shè)置強制換行的情況下,“inline box”將不可被分割,將會溢出父元素。

相比較于BFC,IFC的規(guī)則噼里啪啦一大堆,很少有人會耐心看下去,舉幾個例子,花幾分鐘就可以大概明白其特性。

很多時候,上下間距不生效可以使用IFC來解釋
.warp { border: 1px solid red; display: inline-block; }
.text { margin: 20px; background: green; }
文本一 文本二


左右margin撐開,上下margin并未撐開,符合IFC規(guī)范,只計算橫向樣式控件,不計算縱向樣式空間。

多個元素水平居中
.warp { border: 1px solid red; width: 200px; text-align: center; }
.text { background: green; }
文本一 文本二

水平排列規(guī)則根據(jù)IFC容器的text-align值來排列,可以用來實現(xiàn)多個子元素的水平居中。

float元素優(yōu)先排列
.warp { border: 1px solid red; width: 200px; }
.text { background: green; }
.f-l { float: left; }
這是文本1 這是文本2 這是文本3 這是文本4


IFC中具備float屬性值的元素優(yōu)先排列,在很多場景中用來在文章段落開頭添加“tag”可以用到。

最后總結(jié)

利用IFC還可以做很多其他的事情,例如:解決元素垂直居中、多個文本元素行高不一致排列混亂。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/114357.html

相關(guān)文章

  • 【Hello CSS】第六章-文檔流與排版

    摘要:作者陳大魚頭正常流什么是正常流其實就是我們?nèi)粘Kf的文檔流。在官方文檔里對應(yīng)的是。然后,包含形成一條線的框的矩形區(qū)域稱為線盒。基線線盒的高度由的計算結(jié)果決定。級層疊上下文被自動視為父級層疊上下文的一個獨立單元。自由分配,由具體情況決定。 作者:陳大魚頭 github: KRISACHAN 正常流 什么是正常流?其實就是我們?nèi)粘Kf的文檔流。在W3C官方文檔里對應(yīng)的是normal ...

    nihao 評論0 收藏0
  • 【Hello CSS】第六章-文檔流與排版

    摘要:作者陳大魚頭正常流什么是正常流其實就是我們?nèi)粘Kf的文檔流。在官方文檔里對應(yīng)的是。然后,包含形成一條線的框的矩形區(qū)域稱為線盒。基線線盒的高度由的計算結(jié)果決定。級層疊上下文被自動視為父級層疊上下文的一個獨立單元。自由分配,由具體情況決定。 作者:陳大魚頭 github: KRISACHAN 正常流 什么是正常流?其實就是我們?nèi)粘Kf的文檔流。在W3C官方文檔里對應(yīng)的是normal ...

    null1145 評論0 收藏0
  • BFC與IFC

    摘要:行內(nèi)級元素與行內(nèi)元素行內(nèi)級元素行內(nèi)級元素是那些不會為自身內(nèi)容形成新的塊,而讓內(nèi)容分布在多行中的元素。行內(nèi)元素行內(nèi)元素僅僅是屬性值為的元素。置換和非置換元素置換元素瀏覽器根據(jù)元素的標(biāo)簽和屬性,來決定元素的具體顯示內(nèi)容。 參考鏈接: https://segmentfault.com/a/11...https://juejin.im/post/59b73d...面試之CSS篇 - 邊距重疊與...

    wpw 評論0 收藏0
  • css布局的各種FC簡單介紹:BFC,IFC,GFC,F(xiàn)FC

    摘要:完整的說法是屬于同一個的倆個相鄰的的會發(fā)生重疊,與方向無關(guān)。元素會位于與與之間,使得寬度縮短。簡單的說,有了之后,布局不再局限于單個維度了。 什么是FC? Formatting Context,格式化上下文,指頁面中一個渲染區(qū)域,擁有一套渲染規(guī)則,它決定了其子元素如何定位,以及與其他元素的相互關(guān)系和作用。 BFC 什么是BFC Block Formatting Context,塊級格式...

    mindwind 評論0 收藏0

發(fā)表評論

0條評論

lufficc

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<