清除浮动方法

本文介绍了清除浮动影响的三种常见方法:1) 空标记法,通过在浮动元素后添加带有`clear:both`样式的空div来恢复正常布局;2) after伪对象,利用CSS的`:after`选择器创建一个内部伪元素并清除浮动;3) overflow属性,设置元素的`overflow`为`hidden`,触发BFC(块格式化上下文)来清除浮动。这些方法有助于解决浮动元素导致的父元素高度塌陷问题。

1、空标记法

在浮动元素之后添加空标记,并对该标记应用 ”clear:both“ 样式,即可清除浮动的产生的影响。

<style>
  .one,.two,.three{
    float: left;
    width: 100px;
    height: 100px;
    margin: 10px;
    background: red;
  }
  .box{
    border: 1px solid #ccc;
    background: blue;
  }
  .four{
    clear: both;  /* 清除左右两侧浮动影响,按原来块级元素显示 */
  }
</style>
  
<body>
  <div class="box">
    <div class="one"></div>
    <div class="two"></div>
    <div class="three"></div>
    <div class="four"></div>
  </div>
</body>

2、after伪对象

实现原理类似于第一种方法,区别是前者是在结构中插入一个空标记,而后者利用其为伪类::after在元素内部增加一个类似于空标记的效果。

<style>
  .one,.two,.three{
    float: left;
    width: 100px;
    height: 100px;
    margin: 10px;
    background: red;
  }
  .box{
    border: 1px solid #ccc;
    background: blue;
  }
  
  .box::after{ 
    display: block;
    clear: both;
    content: "";
    visibility: hidden;
    height: 0;
  }
</style>
  
<body>
  <div class="box">
    <div class="one"></div>
    <div class="two"></div>
    <div class="three"></div>
  </div>
</body>

3、overflow属性

为什么overflow能清楚浮动?overflow:hidden 触发了 BFC

<style>
    .one,.two,.three{
      float: left;
      width: 100px;
      height: 100px;
      margin: 10px;
      background: red;
    }
    .box{
      border: 1px solid #ccc;
      background: blue;
      overflow: hidden;
    }
</style>

<div class="box">
   <div class="one"></div>
   <div class="two"></div>
   <div class="three"></div>
 </div>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值