CSS-清除浮动的7种方法详解

在实际的开发过程中很多情况下父级盒子不方便给高度,但是子级元素设置了浮动就不再占有原来的空间,如果父级元素中没有别的子级元素最后父级盒子高度为 零,就会影响下面的标准流盒子的布局;所以为了解决这种问题就要清除元素浮动后带来的影响

清除浮动主要是通过 CSS 的 clear 属性,常用的属性值如下:

属性值 作用
left 在左侧不允许浮动元素(清除左侧浮动的影响)
right 在右侧不允许浮动元素(清除右侧浮动的影响)
both 同时清除左右两侧浮动的影响
清除浮动的方法
清除浮动方法1:给浮动的元素的祖先元素加高度
  • 如果一个元素要浮动,那么它的祖先元素一定要设置高度(高度不小于浮动的元素的高度)
  • 只要浮动在一个有高度的盒子中,那么这个浮动就不会影响后面的浮动元素;所以就清除浮动带来的影响了
清除浮动方法2:给浮动元素的下一个兄弟元素设置 clear: both;
  • 网页实际开发中,很少通过设置 height 来清除浮动的影响,元素的高度一般有内容来决定;所以上面的的方法1,工作中很少用到
  • 通过该方法可以不设置 height,也可以将浮动的影响清除了
  • 使用该方法清除浮动会有一个非常大的问题,垂直方向的 margin 会失效(无法设置 margin)

示例:

.box {
   
  width: 200px;
  height: 200px;
  /* 设置浮动 */
  float: left;
  background-color: red;
}

.box2 {
   
  width: 200px;
  height: 200px;
  /* 清除浮动 */
  clear: both;
  /* 设置的 margin 无效 */
  margin-top: 50px;
  background-color: blue;
}
<div class="box"></div>
<div class="box2"></div>

在这里插入图片描述

清除浮动方法3:隔墙法
  • 在浮动的元素与下面紧挨着的未浮动的元素之间放置一个元素用于清除浮动
  • 通过该方法可以解决 margin 失效的问题,不过这种方法会导致页面的结构混乱,使用过多不利于页面的维护

示例:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值