zoukankan      html  css  js  c++  java
  • CSS—BFC学习

    什么是BFC(Block formatting context)

    BFC(Block formatting context),翻译过来为“块级格式化上下文”。

    其实BFC就是一个独立的渲染区域,只有块级盒子参与,规定了内部的块级盒子如何布局,并且与这个区域外部没半毛钱关系。

    哪些元素具有BFC条件

    不是所有的元素都能产生BFC,W3C规定

    display属性为block, list-item , table的元素,会产生BFC

    什么样的情况可以产生BFC

    要给元素添加下列属性就可以产生BFC:

    float属性不为none。

    position为absolute或fixed。

    display为inline-block, table-cell , table-caption , flex , inline-flex。

    overflow不为visible。

    BFC元素具有的特性

    BFC布局特性:

    1,盒子从顶端开始垂直地一个接一个地排列。

    2,盒子垂直方向的距离由margin决定。属于同一个BFC的相邻两个盒子的margin会发生重叠,会选择其最大的。

    3,每一个盒子的左外边缘(margin-left)会触碰到容器的左边缘(border-left)。

    4,BFC区域不会与浮动的盒子产生交集,而是紧贴浮动边缘。

    5,计算BFC高度时,自然也会检测浮动的盒子高度。

    BFC的用途

    1,清除浮动

    只要把父元素设为BFC就可以清理子元素的浮动了,最常见的做法就是在父元素上设置overflow:hidden;样式。

    2,解决外边距合并问题

    只要加一个Div将其中一个盒子隔离为具有BFC特性就可以避免外边距合并问题

    3,制作右侧自适应的盒子问题

    BFC区域不会与浮动的盒子产生交集,而是紧贴浮动边缘

  • 相关阅读:
    LightOJ 1313 Protect the Mines (Convex Hull && Minimum Circle)
    Hangzhou Invitation Day1
    hdu 2907 Diamond Dealer (Convex Hull)
    LightOJ 1239 Convex Fence (Convex Hull)
    POJ 2164 && LA 3218 Find the Border (Geometry, PSLG 平面直线图)
    hdu 1140 War on Weather (3DGeometry)
    uva 10347 Medians (Simple Geometry)
    String匹配函数
    动态读取外部文件
    转_读取外部数据
  • 原文地址:https://www.cnblogs.com/markniefeng/p/10561869.html
Copyright © 2011-2022 走看看