Iwen's blog Iwen's blog
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于

Iwen

不摸鱼的哥哥
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于
  • Vue

  • Vue进阶

  • CSS

    • CSS 世界
    • BFC 浮动
      • 触发条件
      • BFC的渲染规则是什么
      • BFC的应用场景
      • 清除浮动
    • 盒子模型
    • 页面布局
    • 选择器
    • Flex布局
    • CSS 揭秘
  • ES6

  • Base

  • Core

  • Array

  • Object

  • String

  • Async

  • Browser

  • Http

  • 性能优化

  • 正则

  • 经典总结

  • 设计模式

  • 数据结构

  • 算法

  • 手写

  • TypeScript

  • 复盘
  • CSS
Mr.w
2020-11-29

BFC 浮动

# BFC 浮动

BFC全称 Block Formatting Context 即块级格式上下文,简单的说,BFC是页面上的一个隔离的独立容器,不受外界干扰或干扰外界

# 触发条件

  • float不为 none
  • overflow的值不为 visible
  • position 为 absolute 或 fixed
  • display的值为 inline-block 或 table-cell 或 table-caption 或 grid

# BFC的渲染规则是什么

  • BFC是一个独立的独立容器,不受外界干扰或干扰外界
  • 计算BFC高度的时候,浮动元素也会参与计算
  • BFC的区域不会与浮动元素的区域重叠
  • BFC垂直方向边距重叠

# BFC的应用场景

  • 清除浮动:BFC内部的浮动元素会参与高度计算,因此可用于清除浮动,防止高度塌陷
  • 避免某元素被浮动元素覆盖:BFC的区域不会与浮动元素的区域重叠
  • 阻止外边距重叠:属于同一个BFC的两个相邻Box的margin会发生折叠,不同BFC不会发生折叠

# 清除浮动

  1. 使用after伪元素清除浮动(推荐)
/* 对父元素添加伪元素 */
.parent::after{
    content: "";
    display: block;
    height: 0;
    clear: both;
}
1
2
3
4
5
6
7
  1. 触发父元素BFC
/* 触发父元素BFC */
.parent {
    overflow: hidden;
    /* float: left; */
    /* position: absolute; */
    /* display: inline-block */
    /* 以上属性均可触发BFC */
}
1
2
3
4
5
6
7
8
  1. 添加新元素 (不推荐,语义化)
<div class="parent">
    <div class="child"></div>
    <!-- 添加一个空元素,利用css提供的clear:both清除浮动 -->
    <div style="clear: both"></div>
</div>  
1
2
3
4
5
CSS 世界
盒子模型

← CSS 世界 盒子模型→

最近更新
01
flex布局页面自适应滚动条问题
12-28
02
前后端分离开发请求接口跨域如何携带cookie的问题
12-28
03
怎么实现div长宽比固定width-height4比3
12-28
更多文章>
Theme by Vdoing | Copyright © 2017-2022 Iwen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式