文章目录
- 一、清除浮动 - 使用双伪元素清除浮动
- 二、代码示例
一、清除浮动 - 使用双伪元素清除浮动
为 .clearfix:before
和 .clearfix:after
并集选择器 , 设置如下样式 :
/* 清除浮动 - 使用双伪元素清除浮动 */ .clearfix:before, .clearfix:after { content: ""; display: table; }
复制
为 .clearfix:after
伪类选择器设置如下样式 :
.clearfix:after
伪元素选择器 的含义是 在 该父容器盒子 的内部 , 插入新的子元素 , 该子元素设置选择器中的样式 ;
.clearfix:after { clear: both; }
复制
低版本浏览器 IE6 / IE7 清除浮动样式 :
.clearfix { *zoom: 1; }
复制
声明完上述元素后 , 在需要清除浮动元素的 父容器 中 , 声明 clearfix
类 ;
<div class="father1 clearfix"> <div class="son1"></div> <div class="son2"></div> </div>
复制
二、代码示例
代码示例 :
<!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>
复制
显示效果 :