文章目录
- 一、清除浮动 - 使用双伪元素清除浮动
- 二、代码示例
一、清除浮动 - 使用双伪元素清除浮动
为 .clearfix:before
和 .clearfix:after
并集选择器 , 设置如下样式 :
/* 清除浮动 - 使用双伪元素清除浮动 */
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
为 .clearfix:after
伪类选择器设置如下样式 :
.clearfix:after
伪元素选择器 的含义是 在 该父容器盒子 的内部 , 插入新的子元素 , 该子元素设置选择器中的样式 ;
.clearfix:after {
clear: both;
}
低版本浏览器 IE6 / IE7 清除浮动样式 :
代码语言:javascript复制 .clearfix {
*zoom: 1;
}
声明完上述元素后 , 在需要清除浮动元素的 父容器 中 , 声明 clearfix
类 ;
<div class="father1 clearfix">
<div class="son1"></div>
<div class="son2"></div>
</div>
二、代码示例
代码示例 :
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>清除浮动 - 使用双伪元素清除浮动</title>
<style>
/* 清除标签默认的内外边距 */
* {
padding: 0;
margin: 0;
}
/* 清除列表默认样式 ( 主要是前面的点 ) */
li {
list-style: none;
}
/* 设置总体背景 */
body {
background-color: #f4f4f4;
}
/* 插入图片自适应 */
img {
width: 100%;
}
/* 下面是正式内容 */
/* 清除浮动 - 使用双伪元素清除浮动 */
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
/* 清除浮动 - 使用 after 伪元素 ( 方法三 : 最流行写法 ) */
/*.clearfix:after {
content: "";
display: block;
height: 0;
visibility: hidden;
clear: both;
}*/
/* 低版本浏览器 IE6 / IE7 清除浮动样式 */
/*.clearfix {
*zoom: 1;
}*/
/* 父容器 1 没有指定高度 , 默认 0 像素 */
.father1 {
width: 500px;
background-color: pink;
border: 2px solid green;
/* 清除浮动 - 父级元素设置 overflow 样式 ( 方法二 ) */
/*overflow: hidden;*/
}
/* 子元素 1 */
.son1 {
float: left;
width: 200px;
height: 200px;
background-color: blue;
}
/* 子元素 2 */
.son2 {
float: left;
width: 250px;
height: 250px;
background-color: red;
}
/* 父容器 2 - 父容器 1 的兄弟元素 */
.father2 {
width: 700px;
height: 150px;
background-color: purple;
}
/* 清除浮动 - 额外标签法 ( 方法一 ) */
/*.son3 {
clear: both;
}*/
</style>
</head>
<body>
<div class="father1 clearfix">
<div class="son1"></div>
<div class="son2"></div>
</div>
<div class="father2"></div>
</body>
</html>
显示效果 :