1。什么是FC2.BFC块格式化上下文(Blockformattingcontext) Box是CSS布局的对象和基本单元。直观地说,一个页面是由很多个Box组成的。元素的类型和显示属性决定了Box的类型。不同类型的Box会参与不同的FormattingContext(决定如何渲染文档的容器),因此Box内部的元素会以不同的方式呈现。看看都有哪些框:块级框:显示属性为block、list-item、table的元素会生成块级框。并参与块格式化上下文;inline-levelbox:display属性为inline,inline-block,inline-table的元素会生成一个inline-levelbox。并参与内联格式化上下文;仅在磨合框中:css3。(1)定义:是一个独立的渲染区域,只有block-level-box参与。它指定块级框内子元素的布局。(2)BFC常见的触发条件:1>。根元素,即HTML元素2>.float不是none3>.position不是static或relative4>.overflow是hidden,auto或scroll5>.display是table-cell,table-caption或inline-block(3)BFC布局规则:1>。BFC内部的盒子在垂直方向2>依次放置。同一个BFC中相邻框的边距会合并3>。每个元素框的左外边缘(margin-box)和包含它的容器的border-box接触(从右到左排版则相反,是右接触),即使有浮动抽象1>,2>,3>:盒子的排列,当盒子相邻时外边距会合并,当盒子嵌套时,内部元素的外边距盒子和元素的border-box外容器彼此相邻。eg:描述:img图片的margin-box与第一个block元素的border-box的内侧接触。4>.BFC区域不会与浮动框重叠5>接触。BFC在页面上是一个独立的容器,它的子元素不会影响外层元素,外层元素也不会影响内层6>。BFC计算高度时,浮动元素也会参与简单记录顺序的计算:独立(5>)渲染(3>、1>、2>、4>)面积(面积计算方法6>)(4).重叠计算方法1>当两个margin都为正值时,取两者的最大值;2>当margin为负时,取绝对值大的那个,然后,从0位置开始,负位移;3>当有一个正数和一个正数为负数时,先取出负数margin的绝对值最大的,然后将其加到正数margin值中最大的margin。(5).BFC的使用1>。可以防止元素被浮动元素覆盖2>。实现自适应两栏布局3>。可以包含浮动元素——清除内部浮动4>。不同的BFC可以防止margin重叠(6)mindMapping
