cssBFC盒模型和应用

BFC就是block formatting context的缩写,中文就是“块级格式化上下文”的意思

Formatting context是W3C CSS2.1规范中的一个概念。

它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

如何创建:

       1. float 除了none以外的值 
  2. overflow 除了visible 以外的值(hidden,auto,scroll ) 
  3. display (table-cell,table-caption,inline-block, flex, inline-flex) 
  4. position值为(absolute,fixed) 
  5. fieldset元素 
  在以上的情况里可以创建BFC。 
特性:

      1. 内部的Box会在垂直方向,从顶部开始一个接一个地放置。 
  2. Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加 
  3. 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。 
  4. BFC的区域不会与float box叠加。 
  5. BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。 
  6. 计算BFC的高度时,浮动元素也参与计算。 

应用:

<!DOCTYPE html>
<html>
<head>
    <title>BFC</title>
    <meta charset="utf-8"/>
    <style>
        .wrap{
            width:300px;
            position: relative;
            border:1px solid #000;
        }
        .aside{
            width:100px;
            height: 150px;
            float: left;
            background: red;
        }
        .main{
            height: 200px;
            background: yellow;
            overflow: hidden;
        }

        .par{
            border:5px solid #000;
            width:300px;
            overflow: hidden;
        }
        .child{
            border:5px solid #f66;
            width:100px;
            height:100px;
            float: left;
        }
        p{
            color:red;
            background: #fcc;
            width:200px;
            line-height: 200px;
            text-align: center;
            margin: 100px;
        }
        .wrapP{
            overflow: hidden;
        }
    </style>
</head>
<body>

    <h1>自适应两栏布局</h1>
      
    <div class="wrap">
        <div class="aside"></div>
        <div class="main"></div>
    </div>
    <h1>清除内部浮动</h1>
    <div class="par">
        <div class="child"></div>
        <div class="child"></div>
    </div>
    <h1>防止垂直margin重叠</h1>
    <p>哈哈</p>
    <div class="wrapP">
        <p>haha</p>
    </div>

    
</body>
</html>

 

 

参考:

https://blog.csdn.net/ziminghuohua/article/details/72794762

https://www.jianshu.com/p/c962078f011c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值