Html布局 BFC的概念和作用讲解

简介: BFC(Block Formatting Context)是Web页面的CSS渲染机制之一,它如同一个独立的容器,确保内部元素的变化不会影响外部布局。本文介绍了BFC的基本概念、作用及实现方法,包括通过设置`float`、`position`、`overflow`属性或使用伪元素等方式使元素成为BFC,有效解决布局中的边距塌陷等问题,优化网页布局效果。

目录

BFC的概念

BFC的作用

把元素变成BFC元素的方法

BFC的概念

BFC是Web页面的可视CSS渲染的一部分,我们可以认为BFC是一个封闭的大箱子,无论箱子内部的元素如何变动,都不会影响到外部。
BFC的作用

首先我们来看一段代码

<!DOCTYPE html>














效果如图

我们发现 我们给里面的div加了上边距应该让他在大div里向下移动,而结果是都往下移了100px相当于给外面的div加了上边距,造成这个问题的原因就是我们外面的div没有闭合,导致上边距溢出,所以就出现了上面这种情况。

解决办法就是将外面的div变成BFC元素,也就是把他闭合起来。

把元素变成BFC元素的方法

float的属性不为none。
position的属性为absolute,fixed。
overflow的属性不为visible。
通过伪元素

.box1::after,
.box1::before {
   content: '';
   display: table;
 }
.box1::after {
   clear: both;
}

当我满足以上任意条件时,外面的div就会变成一个BFC元素,效果如图

大家可以看到外面的div上边距已经没有了,因为里面的div背景颜色也为黑色,下面我进行修改

可以看到里面的div上边距已经给上了,所以这就是BFC的作用,可以让一个元素封闭起来,让里面的元素不会影响外面的元素从而进行更好的布局。BFC一般与浮动相使用来布局,我将会在之后更新浮动的一些文章。

目录
相关文章
|
2月前
|
前端开发
HTML布局
HTML布局
54 0
|
1月前
|
容器
HTML中使用Flex布局实现双行夹批效果
在HTML中,还可以用table元素来实现双行夹批效果,但比flex布局代码更复杂,效果也不见得更理想。
42 10
|
1月前
|
前端开发
HTML 布局1
网页布局对网站外观至关重要。推荐使用 `&lt;div&gt;` 元素进行布局,尽管 `&lt;table&gt;` 也可行但不建议使用。示例代码展示了如何用 `&lt;div&gt;` 创建多列布局,包括头部、菜单、内容和底部区域。
|
2月前
|
人工智能
|
1月前
|
前端开发 搜索推荐
HTML 布局3
HTML 布局技巧:使用外部 CSS 样式表可提高站点维护效率,只需编辑一个文件即可更改所有页面布局。创建高级布局耗时,使用模板是快速选项,可通过搜索引擎找到许多免费模板。常用布局标签:`&lt;div&gt;` 定义块级区域,`&lt;span&gt;` 组合行内元素。
|
1月前
|
前端开发
HTML 布局2
使用 HTML `&lt;table&gt;` 标签是一种简单的布局方式,适用于创建多列结构。尽管可以使用表格来设计美观的布局,但其初衷是展示表格化数据,而非作为布局工具。以下示例展示了如何使用三行两列的表格布局,第一行和最后一行使用 `colspan` 属性横跨两列。
|
3月前
|
前端开发 搜索推荐 UED
HTML布局思维
在现代 Web 开发中,通过合理使用语义化 HTML 和 CSS 技巧,结合 Flexbox 和 CSS Grid 布局,可以创建灵活、响应式和可维护的网页。语义化 HTML 增强了页面的可访问性和 SEO;Flexbox 和 Grid 提供强大的布局能力,支持复杂结构和响应式设计;配合 CSS 预处理器及前端框架,提升代码组织性和开发效率。使用媒体查询和流式布局确保不同设备上的良好体验,并通过原型迭代和真实数据测试不断优化布局。
|
2月前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
36 0
|
4月前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
46 0