首页 > 其他分享 >理解BFC是什么,怎么触发,解决了什么问题;

理解BFC是什么,怎么触发,解决了什么问题;

时间:2023-04-15 11:57:41浏览次数:42  
标签:BFC 触发 bfc color 什么 元素 100px background margin

 BFC是什么,怎么触发解决了什么问题; 一 css有3种文档流       1 普通流:块独占一行,内联元素在行内       2 定位流       3 浮动流  3种流会相互影响产生问题;可通过BFC(block formatting context,bfc里面的子元素不会对外面的元素产生影响)来解决相关的问题     二 BFC触发条件       1 float不为none       2 overflow不为visible       3 display不为block inline none (为tabale-cell table-caption grid flex inline-block五种之一)       4 position不为static或者relative       5 body本身
三 存在的问题,可以利用bfc解决     1 margin重叠的问题;       解决方案可以分别放在两个具有bfc特性的父元素里面     1 margin塌陷的问题;       解决方式两种         父级bfc,         父级设置边框     3 高度坍塌 当子元素设置float:left|right或者position:absolute;子元素影响了父级元素,子元素脱离了文档流导致父元素高度撑不起来;        可以设置父级元素bfc即可 详细相关的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>交行面试题验证</title>
  <style>
    /* marign重合问题 解决 */
    .bfc-container{
      /*
       此处触发的bfc,bfc里面的元素不会对外面的元素产生影响;
      */
      overflow: hidden;
    }
    .box{
      width: 100px;
      height: 100px;
    }
    .box1{
      background-color: lightcoral;
      margin-bottom: 20px;
    }
    .box2{
      background-color: lightgreen;
      margin-top:20px;
    }
    /* margin塌陷问题 解决*/
    .box-f{
      width: 100px;
      height: 100px;
      background-color: brown;
      /* 下面的不设置会使得整体被顶下去 ,方案一设置父元素bfc*/
      /* overflow: hidden;
      display: inline-block;
      float: left; */
      /* 解决方法二,给父元素设置边框 */
      border: 1px solid #f00;
    }
    .box-c{
      width: 50px;
      height: 50px;
      margin-top:50px;
      /* margin-left: 50px; // 发现margin-left不会像margin-top一样存在塌陷问题 */
      /* 给子元素设置margin-top 直接top在父元素的上层了,就会直接将父元素也顶下去 */
      background-color: aquamarine;
    }

    /* 高度坍塌解决 */
    .boxhf{
      width: 100px;
      background-color: aqua;
      border: 1px solid #000;
      /* 设置父元素bfc */
      position: absolute;
    }
    .boxhc{
      width: 100px;
      height: 100px;
      background-color:bisque;
      float: left;
    }
  </style>
</head>
<body>
  <!-- margin重合问题 -->
  <div class="bfc-container">
    <div class="box box1"></div>
  </div>
  <div class="bfc-container">
    <div class="box box2"></div>
  </div>
  --------------
  <!-- margin塌陷问题 -->
  <div class="box-f">
    <div class="box-c"></div>
  </div>
  ---------------
  <!-- 高度坍塌 -->
  <div class="boxhf">
    <div class="boxhc"></div>
  </div>
</body>
</html>

  

标签:BFC,触发,bfc,color,什么,元素,100px,background,margin
From: https://www.cnblogs.com/xhliang/p/17320797.html

相关文章

  • 美国服务器的优势是什么?
    简述如果客户群是中国大陆,直观判断香港服务器必然是较理想的选择,那为什么会有美国服务器的出现?美国地区走足半个地球才到中国,能有什么优势?文章内会为大家详细说明什么美国服务器?美国服务器的一切刚刚好是香港服务器的相反,网络距离刚好跑足半个地球才到中国大陆,CN2直连......
  • 华电软工非全研究生室内定位研究-室内定位物联网平台中的时序数据库和mq队列他们的作
    时序数据库(TimeSeriesDatabase,TSDB)是一种专门用于存储和处理时间序列数据的数据库系统。在室内定位物联网平台中,时序数据库通常用于存储传感器采集的数据,如定位节点的位置、传感器数据等。时序数据库具有以下优点:优点:快速插入和查询时序数据,适用于海量数据存储和实时数据分析;......
  • 开发中需要知道的相关知识点:什么是 OAuth 2.0 授权码授权类型?
    OAuth详解<2>什么是OAuth2.0授权码授权类型?授权代码授权类型可能是您将遇到的最常见的OAuth2.0授权类型。Web应用程序和本机应用程序都使用它在用户授权应用程序后获取访问令牌。这篇文章是我们探索常用的OAuth2.0授权类型系列文章的第一部分。如果您想在深入了解OAut......
  • 开发中需要知道的相关知识点: 什么是 OAuth 2.0 密码授予类型?
    OAuth详解<3>什么是OAuth2.0密码授予类型?OAuth2.0密码授权类型是一种在给定用户名和密码的情况下获取访问令牌的方法。它通常仅由服务自己的移动应用程序使用,通常不提供给第三方开发人员。这篇文章是我们探索常用的OAuth2.0授权类型系列文章的第三篇。之前我们介绍了授权......
  • “文件协作”到底是什么意思?
    伴随着信息化的发展,文件从直至存储变成了线上存储,现代职场中文件协作的概念也不再陌生,“文件协作”一词到底是什么意思呢?文档协作是指通过第三方工具,对项目文件进行实时协作。这个词经常与网盘工具一起出现,企业网盘可以帮助团队实现即使分隔多地,也可以与团队成员共同办公,将距离影......
  • 为什么要掌握员工出勤时间和出勤率?
    监控员工的出勤时间和出勤率对于提高业务绩效和生产力至关重要。实施有效计时策略的组织可以帮助员工跟上项目目标和截止日期,提高客户满意度,并加强对员工产出的整体意识。所以每个企业组织都应该掌握员工出勤时间和出勤数据。为什么要掌握员工出勤时间和出勤数据:1.保持及时结算员工......
  • 单利和复利的主要区别是什么?
    单利和复利都是计息的方式。单利与复利的区别在于利息是否参与计息。单利计算方法下在到期时段内利息不参与计息;复利计算中利息按照约定的计息周期参与计息。二者的计算公式也有不同。例如:一项存款为单利年利率为4.50%,数额为10000元,如果选择存两年,那么两年后应得的利息为: 10000×4......
  • 远程桌面连接是什么?远程桌面连接使用教程
    有时候电脑出现各类网络连接、网址访问出错问题,自己无法解决的情况下,常常会求助其他擅长IT的同事或朋友,要么自己通过社交工具在线沟通、要么抱着电脑找人家解决。然而,通过远程桌面完全可以让朋友同事远程帮自己查看电脑问题,既节省了沟通成本,又节省了来回带着电脑找人的时间精力,真......
  • 视频直播点播EasyDSS迁移至新服务器,启动正常但无法访问是什么原因?
    EasyDSS能实现视频流媒体的上传、转码、存储、录像、推拉流、直播、点播等功能,具备超低延迟、超高画质、超大并发访问量等特点,可应用在多样化的场景中,如:在线课堂、教育直播、校园活动直播、企业培训、游戏直播等。平台支持HTTP、HLS、RTMP等播出协议,并且兼容多终端,如:Windows、Andro......
  • 什么是 三维渲染内核?
    一、引言随着计算机图形学的发展,三维图形已经成为电子游戏、动画电影和可视化、数字孪生等领域的关键技术。为了将三维模型转换成二维图像,我们需要依赖一个称为三维渲染内核的工具。本文将详细介绍三维渲染内核的原理、实现方法和应用,以帮助读者更好地了解这一先进的技术。二、......