BFC:块级格式化上下文,如果一个元素具有BFC,内部子元素再怎么翻江倒海、翻云覆雨,都不会影响外部的元素。所以BFC不可能发生margin重叠,也可以清除浮动。触发BFC的条件包括:
1. html根元素
2. float的值不为none
3. overflow的值为auto、scroll或hidden
4. display的值为table-cell、table-caption和inline-block中的任何一个
5. position的值不为relative和static
这些方法中,在创建BFC享受特性的同时,也会有一些副作用,比如float会触发浮动,position:absolute会脱离文档流,相对而言只有overflow:hidden的影响最小
如果overflow-x和overflow-y属性中的一个值设置为visible,而另一个设置为scroll、auto或者hidden,则visible的样式表现如同auto
在PC端,无论什么浏览器,默认滚动条均来自html,而不是body,所以如果要去除滚动条,应该设置html而不是body属性
1. html根元素
2. float的值不为none
3. overflow的值为auto、scroll或hidden
4. display的值为table-cell、table-caption和inline-block中的任何一个
5. position的值不为relative和static
这些方法中,在创建BFC享受特性的同时,也会有一些副作用,比如float会触发浮动,position:absolute会脱离文档流,相对而言只有overflow:hidden的影响最小
如果overflow-x和overflow-y属性中的一个值设置为visible,而另一个设置为scroll、auto或者hidden,则visible的样式表现如同auto
在PC端,无论什么浏览器,默认滚动条均来自html,而不是body,所以如果要去除滚动条,应该设置html而不是body属性