当前位置: 首页 > Web前端 > CSS

通俗地说,BFC是什么?

时间:2023-03-30 14:15:00 CSS

什么是BFC?为什么这个概念不断被提出来??为什么每个人都不能解释BFC???什么是BFC?BFC代表块格式化上下文(BlockFormattingContext)。你能从这个概念中看出什么吗?这个名字给我们的唯一信息是“块”、“格式化”和“上下文”。我们大概可以这样理解,这个东西是作用于上下文的。语境在那里??HTML文件!它的一般功能似乎是格式化上下文??可能不是我们通常意义上的格式化。我们从名字中得不到太多有用的信息,只知道它是一个作用于HTML文档的函数。那我们看看官方是怎么解释的。MDN:块格式化上下文是网页可视化CSS渲染的一部分。是块级框布局出现的区域,也是浮层元素交互的区域。块格式化上下文由以下之一创建:根元素或其他包含元素浮动元素(元素的浮动不是无)绝对定位元素(元素具有绝对位置或固定位置)内联块(元素具有显示:内联块)表格单元格(元素有display:table-cell,HTML表格单元格默认属性)表格标题(元素有display:table-caption,HTML表格标题默认属性)溢出的块元素,值为不可见,显示:flow-rootcolumn-span:all应该总是创建一个新的格式化上下文,即使具有column-span:all的元素没有包装在多列容器中。块格式化上下文包括创建它的元素内的所有内容,但创建新块格式化上下文的后代元素中包含的元素除外。块格式化上下文对于定位(参见浮动)和清除浮动(参见清除)很重要。定位和清除浮动的样式规则仅适用于同一块格式化上下文中的元素。浮动不会影响其他块格式化上下文中元素的布局,清除浮动只会清除同一块格式化上下文中它前面的元素的浮动。我们发现了一个问题!好像看不懂啊!!为什么会有这样的原因呢??你能解释一下什么是表吗??仔细想想,发现似乎也不能合理解释。BFC也是一样,只有features(函数),没有definitions。当我看到它时,我知道它。BFC特性(function)使得BFC内部的浮动元素不乱跑;浮动元素产生边框。使BFC内部的浮动元素不绕行HTML不生成BFCCSS在正常的文档流中,块级元素从上到下依次排列,内联元素从左到右排列。如果我给元素内部一个浮动或绝对定位,它就会脱离正常的文档流。不生成BFC。如果我们还想让外层元素包裹内层元素,怎么办呢??让外部元素生成一个BFC。(生成BFC的方法在MDN文档中有写)生成BFC这是BFC的第一个功能:防止BFC内部的浮动元素乱跑。生成带浮动元素的边距HTMLCSS不生成BFC一般来说,如果没有BFC,我们要让普通元素和浮动元素都产生左右边距,我们需要设置maring为浮动元素的宽度加上你的宽度想要产生利润。这里浮动元素的宽度是200px。如果你想用它创建一个20px的右边距,你需要将非浮动元素的margin-left设置为200px+20px。制作BFC总结不要试图解释BFC的定义!!BFC怎么解释,举个例子!!不要试图谈论定义!!当我看到它时,我知道它。微信公众号:我的web前端自救之路回复进群,一起和大佬交流技术