什么是BFC? CSS 使用伪元素清除浮动的方法

Posted jb1352461

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是BFC? CSS 使用伪元素清除浮动的方法相关的知识,希望对你有一定的参考价值。

BFC概念:

  块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。

我们先了解一个名词:BFC(block formatting context),中文为“块级格式化上下文”。

先记住一个原则: 如果一个元素具有BFC,那么内部元素再怎么翻江倒海,翻云覆雨,都不会影响外面的元素。所以,BFC元素是不可能发生margin重叠的,因为margin重叠会影响外面的元素的;BFC元素也可以用来清除浮动带来的影响,因为如果不清除,子元素浮动则会造成父元素高度塌陷,必然会影响后面元素的布局和定位,这显然有违BFC元素的子元素不会影响外部元素的设定。

以下情况会触发BFC:

•<html>根元素
•float的值不为none
•overflow的值为auto,scroll,hidden
•display的值为table-cell,table-caption和inline--block中的任何一个
•position的值不为relative和static 即 position: absolute/fixed

显然我们在设置overflow值为hidden时使container元素具有BFC,那么子元素child浮动便不会带来父元素的高度坍塌影响。

利用伪类元素清除浮动:

.clearFix::after,.clearFix::before 
       display: block;
      content: ‘‘;
      clear: both;
      visibility: hidden;
      height: 0;

.clearFix  zoom: 1;

技术图片

以上是关于什么是BFC? CSS 使用伪元素清除浮动的方法的主要内容,如果未能解决你的问题,请参考以下文章

BFC是什么?是清除浮动的一种方法

关于清除浮动的方法

CSS清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )

如何“清除浮动”

CSS清浮动处理(Clear与BFC)

知道css有个content属性吗?有什么作用?有什么应用?可以伪类清除浮动