分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

CSS布局基础--BFC

发布时间:2023-09-06 01:34责任编辑:胡小海关键词:CSS

1,什么是BFC

  BFC(Block Formatting Context)块级格式化上下文,它就是一个环境,HTML元素在这个环境中按照一定规则进行布局。一个环境中的元素不会影响到其他环境中的布局。它是W3C CSS2.1规范中的一个概念,是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level box如何布局,并且这个区域与外部毫不想干,

2,生成BFC

  下面的方法可以创建一个新的BFC

  (1)浮动元素,float: left | right

  (2)绝对定位元素,position: absolute | fixed

  (3)块级元素以及块级容器(比如display: inline-block、table-cell、table-capation)

  (4)overflow值不为visible的块级盒子

3,BFC的主要应用

  (1)浮动元素的塌陷问题。BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。当一个元素中的子元素浮动了,这个父元素就会发生高度塌陷问题。如下代码所示:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>BFC</title> ???<style> ???????.content { ???????????width: 100%; ???????????border: 2px solid #9acd32; ???????} ???????.content1{ ???????????width: 100px; ???????????height: 100px; ???????????background: red; ???????????float: left; ???????????margin-left: 20px; ???????} ???????.content2{ ???????????width: 100px; ???????????height: 100px; ???????????background: green; ???????????float: left; ???????????margin-left: 20px; ???????} ???????.content3{ ???????????width: 100px; ???????????height: 100px; ???????????background: blue; ???????????float: left; ???????????margin-left: 20px; ???????} ???</style></head><body> ???<div class="content"> ???????<div class="content1"></div> ???????<div class="content2"></div> ???????<div class="content3"></div> ???</div></body></html>

  所以照成这种现象的原因就是浮动元素创建了一个新的BFC,成为了一个独立的容器,不会影响到外部的父元素,因此就会照成高度崩塌。知道了原因所在,我们就可以很自然的想到解决这种问题的通常的办法,为父元素设置overflow:hidden,这样父元素就生成一个新的BFC,将浮动的元素包含起来,从而成为一个独立容器。这样外面的元素不再受其浮动的影响,从而达到清除浮动的作用。

 ???????.content { ???????????width: 100%; ???????????border: 2px solid #9acd32; ???????????overflow: hidden; ???????} ???????????????

  

  (2)边距折叠问题。相邻两个盒子之间的垂直间距是被margin属性决定的,在一个块级排版上下文中相邻的两个块级盒之间的垂直margin是折叠的。照成这种问题的原因就是属于同一个BFC的关系(跟BFC)。只要我们让其不在同一个BFC就可以解决了。

CSS布局基础--BFC

原文地址:https://www.cnblogs.com/tianhaining/p/8179583.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved