首页 > 其他分享 >BFC - 块级格式上下文

BFC - 块级格式上下文

时间:2023-02-02 16:34:40浏览次数:44  
标签:BFC 块级 元素 100px inner background overflow 上下文

1. 什么是BFC?

  浮动元素和绝对定位元素,非块级盒子的块级容器,以及overflow值不为visible的块级盒子,都会为他们的内容创建新的BFC

2. 触发条件?

  根元素

  浮动元素

  绝对定位元素

  行内元素

  表格单元格

   overflow值不为visible的快元素

3.应用场景 / 可以解决哪些问题?

  • 防止浮动导致父元素高度塌陷

  <head>

    <style>

      .container { border: 10px solid red; }

      .inner { background: #08BDEB; height: 100px; width: 100px; }

    </style>

  </head>

  <body>

    <div class="container">

      <div class="inner"></div>

    </div>

  </body>

接下来将inner元素设为浮动,会产生父元素塌陷:
  .inner {
    float: left;
    background: #08BDEB;
    height: 100px;
    width: 100px;
  }
对父元素设置BFC,即可解决:
.container {
  border: 10px solid red;
  overflow: hidden;
}
  • 避免外边距折叠

两个块同一个BFC会造成外边距折叠,但如果对这两个块分别设置BFC,那么边距重叠的问题就不存在了

<style>
    .container {
      background-color: green;
      overflow: hidden;
    }

    .inner {
      background-color: lightblue;
      margin: 10px 0;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="inner">1</div>
    <div class="inner">2</div>
    <div class="inner">3</div>
  </div>
</body>
</html>

此时三个元素的上下间隔都是10px, 因为三个元素同属于一个BFC。 现在我们做如下操作:

  <div class="container">
    <div class="inner">1</div>
    <div class="bfc">
      <div class="inner">2</div>
    </div>
    <div class="inner">3</div>
  </div>
复制代码

style增加:

.bfc{
    overflow: hidden;
}


标签:BFC,块级,元素,100px,inner,background,overflow,上下文
From: https://www.cnblogs.com/felix-felix/p/17086435.html

相关文章

  • go context 了解 上下文
      了解上下文(go-rod.github.io)https://go-rod.github.io/#/understand-context 在了解上下文之前,请确保您已学习 Goroutines 和 Channels。上下文主要用于......
  • 上下文切换
    上下文切换 1.什么是上下文?Linux是一个多任务的操作系统,它支持远大于CPU数量的任务同时运行,当然,这些任务实际上并不是真正的在同时运行,而是系统在很短的时间内,将CPU轮流......
  • Android全局获取Context上下文实例
    如题,在没有用到Activity的类中也能轻松获取上下文Context实例方法很简单,继承Application,提供获取上下文的静态方法供全局调用在Application类的onCreate()方法中获取Con......
  • BFC
    概述1)什么是BFCBFC,全称BlockFormattingContent,译为“块级格式化上下文”。它是一个独立的渲染区域,只有block-levelbox参与,它规定了内部的block-levelbox如何布局。这......
  • 0148-Go-上下文
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/context目标使用Go语言的上下文。示例packagemainimport("fmt""net/http""time"......
  • BFC是什么?有什么作用
    Blockformattingcontext:块级格式化上下文1.前言官方文档解释为:一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素,BFC是一块块独立......
  • 转 [布局概念] 关于CSS-BFC深入理解 认识字就能学
    [布局概念]关于CSS-BFC深入理解barnett_y于 2018-01-2614:51:26 发布351 收藏 4分类专栏: 【HTML5+CSS3点滴知识】 【HTML5+CSS3点滴知识】......
  • C# WPF 报错 CS0103 当前上下文中不存在名称的解决方法
    使用WPF时有时会出现此错误 但是此部分是软件自动生成的,所以不可能出错,有时候重启VS就会好,但是也会遇到重启几次仍然报错的情况这个问题的解决方法是,在调试中打开,启动......
  • 4.2 JavaScript 执行上下文与作用域
    一、执行上下文JavaScript执行上下文是指JavaScript引擎在执行代码时的环境。它包含了代码所需的所有信息,包括变量对象、作用域链、this对象等。JavaScript引擎在执......
  • JavaScript 中 this 关键字的作用和如何改变其上下文
    一、this关键字的作用JavaScript中的this关键字引用了所在函数正在被调用时的对象。在不同的上下文中,this的指向会发生变化。在全局上下文中,this指向全局对象(在浏......