了解CSS中的BFC以及用法

这篇具有很好参考价值的文章主要介绍了了解CSS中的BFC以及用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一 常见的定位方案

1. 普通流(所有元素默认为普通流的定位)

2. 浮动

3. 绝对定位

二  BFC 

1. 定义

2. 触发条件

3. 作用

(1) 避免外边距重叠

​(2)清除浮动

(3) 阻止元素被浮动元素覆盖


一 常见的定位方案

        首先,先了解一下常见的定位方案。有三种:普通流(默认)、浮动、绝对定位。

1. 普通流(所有元素默认为普通流的定位)

了解CSS中的BFC以及用法,CSS,css,前端

2. 浮动

了解CSS中的BFC以及用法,CSS,css,前端

3. 绝对定位

了解CSS中的BFC以及用法,CSS,css,前端

二  BFC 

1. 定义

        BFC 即 Block Formatting Contexts (块级格式化上下文),属于上面提到的定位方案中的普通流。
        我们可以把BFC看成页面中的一块渲染区域。它有自己的渲染规则。简单来说,BFC可以看作元素的一种属性,当元素拥有了BFC这个属性的时候,这个元素就可以看作是隔离了的独立容器。容器里面的元素不会在布局上影响到外面的元素。

了解CSS中的BFC以及用法,CSS,css,前端

2. 触发条件

        如果元素种有以下任一属性,就将触发BFC。

了解CSS中的BFC以及用法,CSS,css,前端

3. 作用

(1) 避免外边距重叠

        外边距重叠现象:如下代码,希望的结果是,上下两个div的间距应该是200px,但是实际上只有100px。原因:块的上外边距margin-top 和下外边距 margin-bottom 会合并为单个边距,其大小为单个边距的最大值。如果这两个边距相等的话,则为其中一个

了解CSS中的BFC以及用法,CSS,css,前端

解决办法:

        将两个div放到不同的BFC中。那么这两个BFC中的内容将不会相互干扰。代码如下:

了解CSS中的BFC以及用法,CSS,css,前端(2)清除浮动

        示例:以下定义两个div,呈父子关系,并为子元素设置float:left。理想情况是一个红色边框包裹一个蓝色方块。但是实际效果如下。原因是:子元素设置了浮动,脱离了文档流,所以就只剩下了2px的边框高度。

了解CSS中的BFC以及用法,CSS,css,前端

解决办法:

        给父容器添加overfloat:hidden 属性,触发父容器的BFC,那么父容器就会包含子容器,从而达到了清除浮动的作用。

了解CSS中的BFC以及用法,CSS,css,前端

(3) 阻止元素被浮动元素覆盖

        示例:如下两个div,其中一个设置了浮动,可以看到浮动的元素覆盖到了没有设置浮动的元素之上。原因:设置了浮动的元素脱离了文档流,就导致元素重叠。

了解CSS中的BFC以及用法,CSS,css,前端

解决办法:

        触发正常元素的BFC属性。在第二个元素中加上overfloat属性,这样两个元素就互不干扰。

了解CSS中的BFC以及用法,CSS,css,前端

备注:本文是看视频 带你用最简单的方式理解最全面的BFC 后的记录。文章来源地址https://www.toymoban.com/news/detail-848798.html

到了这里,关于了解CSS中的BFC以及用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • html+css 浮动、清除浮动、什么是BFC?、如何开启BFC

    介绍: 其实早期的浮动是用来文字环绕图片效果,但是后来发现浮动还可以设置页面布局问题 块元素在文档流中默认垂直排列,如果希望块元素在页面中水平排列,可以使块元素脱离文档流 特点: 哪个元素设置浮动,哪个元素就会脱离文档流 如果给上边的元素设置浮动时,

    2024年02月02日
    浏览(9)
  • 【CSS】讲一讲BFC、IFC、GFC、FFC

    1. 前言         FC(Formatting Contexts),是CSS2.1的一个概念,是页面中的一块渲染区域,具有一套渲染规则,决定FC中子元素如何定位,以及和其他元素的关系和相互作用。在说FC之前说一下文档流。 1.1. 普通流         元素按照其所有HTML中的位置先后位置至上而下布局

    2024年02月02日
    浏览(33)
  • 前端:css less语法 /deep/ 深度影响的用法

    前端:css less语法 /deep/ 深度影响的用法

    css中通常会在 style 标签内添加 scoped 来避免父组件对子组件的影响,添加了之后只能修改当前组件的样式。 这样做的原理是通过在打包的时候给每个样式都添加一个独一无二的hash值,从而避免父组件对子组件的样式的影响。 添加后控制台显示的样式就会像这样:     设置

    2024年02月12日
    浏览(8)
  • 深入了解 CSS 中的 :where() 和 :is() 函数

    深入了解 CSS 中的 :where() 和 :is() 函数

    :where() 函数接受一个选择器列表作为参数,允许你编写更少的代码并同时设置它们的样式。在本文中,我们将讨论 :where() 伪类函数,并演示如何在生产环境中使用它。我们将回顾与 :where() 函数相关的叠加、优先级和安全性。我们还将研究一些特定的用例,并讨论它与 :is() 函

    2023年04月08日
    浏览(11)
  • 如何在CSS中写变量?一文带你了解前端样式利器

    如何在CSS中写变量?一文带你了解前端样式利器

    目录 引言 概念 语法 基本用法 使用场景 全局变量 局部变量 ​编辑 媒体查询变量 动态定义 继承变量 自变量 与其他方案的区别 使用方式上 作用域的区别 编译产物 功能及拓展 总结 写在最后 前端的变量写法大致可以分为三大类,分别是CSS-in-JS,CSS预处理器,和CSS原生变量

    2024年02月06日
    浏览(43)
  • 前端中的BFC是什么?

    前端中的BFC是什么?

    BFC(Block formatting context)直译为\\\"块级格式化上下文\\\"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 MDN给出的解释是:BFC是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素

    2023年04月09日
    浏览(9)
  • 〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景

    〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专栏\\\"加入社区获取 所有 付费专栏的内容之外, 还可以通过加入 星荐官共赢计划 加入私域社区。 当前子专栏 基础入门

    2024年02月01日
    浏览(12)
  • WEB前端IDE的使用以及CSS的应用

    IDE的使用 表单标签 css层叠样式表(cascading style sheet) 外链样式的好处 首先提高代码的复用性 他可以降低代码的耦合性 基本选择器 包含选择器

    2024年01月23日
    浏览(8)
  • 解析CSS中的new Color(200, 200, 200, 100) 参数用法及应用实例

            在前端开发中,颜色是一个至关重要的视觉元素,而在JavaScript和Web开发中创建和操作颜色时,我们经常需要用到 Color 对象。例如, new Color(200, 200, 200, 100) 就是一种表示颜色的方式,它来源于HTML5的Canvas API或者一些JavaScript库如jQuery UI等。这个构造函数接收四个参

    2024年04月22日
    浏览(14)
  • 前端开发中需要注意的CSS命名规则以及书写顺序

    1、CSS的命名——BEM规则: CSS命名一般是用 BEM 规则命名的。它背后的想法是将用户界面划分为独立的块。 BEM 的意思就是 B模块(block) 、 E元素(element) 、 M修饰符(modifier) , 即: [block]__[element]--[modifier] 。 模块和子元素之间用两个下划线分隔(如:order__security),子元素和修饰

    2024年02月01日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包