清除浮动的方式、原理及优缺点

本文详细介绍了五种解决CSS中因浮动元素导致的父级高度无法自动获取的问题的方法,包括手动定义高度、使用overflow:auto、添加clear:both的空div、使用clearfix类以及推荐的clearfix伪元素方法。每种方法都附带了实现原理、优缺点分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 给父级 div 设置 height
    原理:父级 div 手动定义 height,解决了浮动元素脱离文档流,父元素无法获取高度的问题
    优点:代码简单易掌握
    缺点:只适用于高度固定的布局
  2. 给父级 div 添加样式 overflow: auto
    原理:overflow: auto 会创建一个 BFC,计算高度时会将浮动元素计算进去
    优点:代码简单、浏览器支持性好
  3. 在浮动元素末尾添加一个兄弟元素空 div 标签并设置样式 clear:both
    原理:添加一个空 div,利用 css 提供的 clear:both 清除浮动,让父元素自动获取高度
    优点:代码简单、浏览器支持性好
    缺点:添加无意义空标签,代码编写不友好,不方便后期维护
  4. 【推荐】给父级 div 添加类名 clearfix,设置以下样式:
.clearfix::after{
	content:'';
	display:block;
	clear:both;
}
/* 兼容IE */
.clearfix{ zoom:1; }

原理:添加伪元素设置样式,等同于法三中的空 div,利用 clear:both 清除浮动
优点:使用方便、浏览器支持性好
缺点:样式代码较多

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值