美文网首页
css中的BFC

css中的BFC

作者: 开车去环游世界 | 来源:发表于2016-12-19 09:03 被阅读16次

    在普通流中的盒子会参与一种格式上下文,这个盒子可能是块盒也可能是行内盒,但不可能同时是块盒又是行内盒。块级盒参与块级格式上下文(BFC),行内级盒参与行级格式上下文(IFC)。

    BFC的形成

    浮动,绝对定位元素,和display属性为inline-boxs、table-cells、table-captions的不是块盒的块容器(除非这个值已经被传播到视口),以及当overflow不为visible的块盒才会为它的内容创建新的BFC。

    为了看得更清晰,梳理如下

    • float 的值不为 none
    • position 的值不为 static 或 relative
    • display 的值为 table-cell、table-caption、inline-block、flex 或 inline-flex
    • overflow 的值不为 visibility

    BFC的特性

    1.在BFC中,盒子都是从它的包含块的顶部一个一个的垂直放置的。两个相邻盒子的垂直间距决定于margin属性。在BFC中,两个相邻块级盒子之间垂直方向上的外边距是会塌陷的。
    2.在BFC中,每个盒子的左外边界挨着包含块的左边界(对于从右到左的格式化,则为右边界互相挨着)。即使是存在浮动元素也是如此(即使一个盒子的行盒是因为浮动而收缩了的),除非这个盒子建立了一个新的BFC(在某些情况下这个盒子自身会因为浮动而变窄)。

    相关文章

      网友评论

          本文标题:css中的BFC

          本文链接:https://www.haomeiwen.com/subject/ytazmttx.html