清除浮动最常用的四种方法

编程知识 行业动态 更新时间:2024-06-13 00:21:24

1、为什么要清除浮动

开发过程中,浮动是需要掌握的一个技能,页面布局当中,在无法确定子元素的高度(height)时,我们无法给父级标签一个固定的高度(height),我们想要的是,由子元素的高度去控制父元素的高度。

所以,当子元素设置了浮动(float)属性之后,父元素的高度没有进行设置,这样就会导致父元素的高度塌陷(原本的height被重置为0),这就涉及到了清除浮动的重要性

2、清除浮动的四种方法

第一种方法:额外标签法

该方法是在浮动元素末尾添加一个空的标签,再给空标签添加一个清除浮动的样式,如下 html 代码所示:
html代码

<div class="app">
  <div class="app1">手机</div>
  <div class="app2">电脑</div>
  <div class="clear" style="clear: both;"></div>  <!-- 添加一个空的标签 -->
</div>

第二种方法:父元素添加 overflow: hidden

html代码

<div class="app">
  <div class="app1">手机</div>
  <div class="app2">电脑</div>
</div>

css代码

<style type="text/css">
	* {
		margin: 0px;
		padding: 0px;
	}
	.app{
		overflow: hidden; /* 父元素添加 overflow 属性清除浮动 */
		width: 500px;
		margin: 0 auto;
		border: 1px solid #409EFF;
	}
	.app1{
		float: left;  /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: skyblue;
	}
	.app2{
		float: left; /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: pink;
	}
</style>

第三种方法::after 伪元素法,为父元素清除浮动

html代码

<div class="app clearfix">
  <div class="app1">手机</div>
  <div class="app2">电脑</div>
</div>

css代码

<style type="text/css">
	* {
		margin: 0px;
		padding: 0px;
	}
	/* --------以下两行样式代码为固定写法--------  */
	.clearfix:after{
		content: '';
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	.clearfix{
		/* 为 IE6、IE7浏览器设置的清除浮动 */
		*zoom: 1;
	}
	/* --------以上两行样式代码为固定写法--------- */
	.app{
		width: 500px;
		margin: 0 auto;
		border: 1px solid #409EFF;
	}
	.app1{
		float: left;  /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: skyblue;
	}
	.app2{
		float: left; /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: pink;
	}
</style>

优点:没有额外增加标签,结构简单

第四种方法::after:before双伪元素清除浮动

html代码

<div class="app clearfix">
  <div class="app1">手机</div>
  <div class="app2">电脑</div>
</div>

css代码

<style type="text/css">
	* {
		margin: 0px;
		padding: 0px;
	}
	/* --------以下两行样式代码为固定写法--------  */
	.clearfix:after,.clearfix:before{
		content: '';
		display: table;
	}
	.clearfix:after{
		clear: both;
	}
	.clearfix{
		/* 为 IE6、IE7浏览器设置的清除浮动 */
		*zoom: 1;
	}
	/* --------以上两行样式代码为固定写法--------- */
	.app{
		width: 500px;
		margin: 0 auto;
		border: 1px solid #409EFF;
	}
	.app1{
		float: left;  /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: skyblue;
	}
	.app2{
		float: left; /* 子元素向左浮动 */
		width: 200px;
		height: 100px;
		background-color: pink;
	}
</style>

总体来说,第四种方法和第三种方法并没有多大的区别,改动只有一点点,也使代码更加简洁了。

3、结语:

好啦,以上四种清除浮动的方法,最常用也就只有第二第三种还有第四种方法,有何疑问可留言评论!!!

更多推荐

清除浮动最常用的四种方法

本文发布于:2023-03-31 16:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/72b2db5fa62d5034094934000e856682.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:四种   最常用   方法

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!