网站首页 > 知识剖析 正文
css清除浮动
1.需要清除浮动的原因
清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题
2.清除浮动的方法1,额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)
Bash
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.fahter{
width: 400px;
border: 1px solid deeppink;
}
.big{
width: 200px;
height: 200px;
background: darkorange;
float: left;
}
.small{
width: 120px;
height: 120px;
background: darkmagenta;
float: left;
}
.footer{
width: 900px;
height: 100px;
background: darkslateblue;
}
.clear{
clear:both;
}
</style>
</head>
<body>
<div class="fahter">
<div class="big">big</div>
<div class="small">small</div>
<div class="clear">额外标签法</div>
</div>
<div class="footer"></div>
</body>
</html>
不推荐的原因:添加无意义的标签,语义化差
3清除浮动方法2 给父元素添加overflow:hidden
Bash
.fahter{
width: 400px;
border: 1px solid deeppink;
overflow: hidden;
}
原理:触发了b f c
不推荐使用:因为如果父元素中的字元素内容的高度超过父元素的高度那么溢出的部分会被隐藏掉
4 清除浮动方法3 使用after伪元素清除浮动(推荐使用)
.clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
content: "";
display: block; // 伪元素都是内联元素, clear:both;只对块级元素起作用
height: 0;
clear:both;
visibility: hidden;
}
.clearfix{
*zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
}
<body>
<div class="fahter clearfix">
<div class="big">big</div>
<div class="small">small</div>
<!--<div class="clear">额外标签法</div>-->
</div>
<div class="footer"></div>
</body>
推荐使用:符合闭合浮动的思想,结构语义化正确
总结:
通过上面的列子,我们不难发现清除浮动的方法可以分为两类:
- 利用clear 属性,包括在浮动元素末尾添加一个带有 clear: both 属性的空 div 来闭合元素,其实利用 :after 伪元素的方法也是在元素末尾添加一个内容为一个点并带有 clear: both 属性的元素实现的。
- 触发浮动元素父元素的 BFC (Block Formatting Contexts, 块级格式化上下文),使到该父元素可以包含浮动元素
今天清除浮动就给大家分享这么多,希望大家能够一起学习一起进步。请关注知乎,头条,掘金 ,公众号, 前端明明,大家一起学习交流前端知识。我会把这些文章的视频发布在知乎,和今日头条上,希望大家支持。
猜你喜欢
- 2024-12-26 css布局方案汇总(28个实例图文并茂)
- 2024-12-26 StackOverflow 2022 年度调查报告
- 2024-12-26 滑动页面时的控件设计规范——吸底&锚点
- 2024-12-26 css精髓:这些布局你都学废了吗? css布局是什么意思
- 2024-12-26 产品必会的30个Axure使用技巧 axure基础知识
- 2024-12-26 微信小程序开发极简入门(四):文件导入
- 2024-12-26 CSS新特性contain,控制页面的重绘与重排
- 2024-12-26 两句css代码实现全屏滚动效果-demo案例
- 2024-12-26 CSS实现溢出显示省略号 html溢出省略号
- 2024-12-26 详解css清除浮动方法 详解css清除浮动方法是什么
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)