「CSS」常见的清除浮动方法

当元素设置float浮动后,该元素就会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素,浮动元素会造成父元素高度塌陷,所以当我们设置float后,需进行相应的清除浮动操作。

方法一:创建BFC

BFC的全称为 Block Formatting Context,即块级格式化上下文。一个BFC有如下特性:

  • 处于同一个BFC中的元素相互影响,可能会发生margin collapse(高度塌陷);
  • BFC在页面上是一个独立的容器,容器里面的子元素不会影响到外面的元素,反之亦然;
  • 计算BFC的高度时,考虑BFC所包含的所有元素,包括浮动元素也参与计算;
  • 浮动盒的区域不会叠加到BFC上。

创建BFC的方法如下:

  • 浮动(float的值不为none);
  • 绝对定位元素(position的值为absolutefixed);
  • 行内块(displayinline-block
  • 表格单元(displaytabletable-celltable-caption等HTML表格相关属性);
  • 弹性盒(displayflexinline-flex);
  • overflow不为visible
方法二:额外标签

在浮动的盒子之下再放一个标签,在这个标签中使用clear: both;,来清除浮动对页面的影响。
缺点:这种清除浮动的方式会增加页面的标签,造成结构的混乱。

方法三:使用伪元素
    <style>
        .parent:after{	    /*伪元素是行内元素 正常浏览器清除浮动方法*/
            content: "";
            display: block;
            clear:both;
        }
    </style>

<body>
    <div class="parent">
        <div class="son"></div>
    </div>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值