首先,我们需要先了解什么是CSS浮动以及浮动的特性,浮动元素会脱离文档流和父元素的控制,从而产生问题,如外部div不能撑开内部浮动元素的高度等。
首先,我们需要先了解什么是CSS浮动以及浮动的特性,浮动元素会脱离文档流和父元素的控制,从而产生问题,如外部div不能撑开内部浮动元素的高度等。
为了解决这种问题,我们通常会使用clearfix:after方法,让外部div能够正常的撑开内部浮动元素的高度,这个方法的核心是在外部div的伪元素:before或:after中加入clear:both这个属性,来清除浮动元素造成的影响。
下面,以两种完整的示例说明此方法的具体使用:
- 示例1
HTML代码如下:
<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
<div class="clear"></div>
</div>
CSS样式如下:
.parent {
background-color: gray;
overflow: hidden;
}
.child1 {
width: 50%;
float: left;
height: 100px;
background-color: red;
}
.child2 {
width: 50%;
float: right;
height: 120px;
background-color: blue;
}
.clear {
clear: both;
}
在上述代码中,我们使用了clear:both来清除浮动对外部div造成的影响,进而让外部div正常地撑开内部元素的高度。
- 示例2
HTML代码如下:
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
CSS代码如下:
.container {
border: 1px solid #000;
overflow: hidden;
}
.box {
width: 200px;
height: 200px;
background-color: #ccc;
margin: 10px;
float: left;
}
.container::after {
content: "";
display: table;
clear: both;
}
在上述代码中,我们使用了::after伪元素来清除浮动对外部div造成的影响,这种方法更为简洁,使用起来也比较方便。
综上所述,使用clearfix:after清除CSS浮动有两种通用的方法,一是加入一个空div,然后在该div中使用clear:both,二是使用伪元素::after来达到清除效果。这两种方法虽然写法有所不同,但底层都是通过清除浮动来解决外部div不能撑开问题的。
本文标题为:用clearfix:after消除css浮动解决外部div不能撑开问题


- CSS属性中Display与Visibility区别分析 2024-02-05
- Three.Js实现看房自由小项目 2023-12-25
- CSS布局实例:上中下三行,中间自适应 2023-12-15
- 锁链战记魔神袭来活动攻略 2024-02-05
- js+ajax处理java后台返回的json对象循环创建到表格的方法 2023-01-21
- 负margin功能介绍及用法总结 2024-01-04
- ES6新特性六:promise对象实例详解 2024-01-15
- 又一个典型css实例 2022-11-04
- Ajax技术组成与核心原理分析 2023-01-21
- 从html表单插入数据到sql数据库(html,php,sql)时未保存输入的值 2023-10-26