html清除浮动的方法

当元素设置为浮动时,不会占据文档的高度 ,从而使它父元素的 高度为 0 ,后面的元素会被浮动元素覆盖
html和css如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#parentDiv{
				border: 1px solid black;
			}
			div span{
				width: 100px;
				height: 100px;
				border: 1px solid red;
				float: left;
			}
		</style>
	</head>
	<body>
		<div id="parentDiv" >
			<span>
				span1
			</span>
			<span>
				span2
			</span>
		</div>
		<div>后面的元素</div>
	</body>
</html>

效果如下图:
在这里插入图片描述
本该在span1和span2下一行出现的后面的元素却在同一行出现了,所以清楚浮动的方法如下:

  1. 给父类设置高度
#parentDiv{
				border: 1px solid black;
				height: 100px;
			}

效果如下:
在这里插入图片描述
当然这是最简单的一个办法,但是也有它的局限行,这个方法你必须由手动来输入精确的高度,若果输入的高度比他父类的高度还要低的话就会出现布局问题了,如下图
在这里插入图片描述=

  1. 在浮动结尾div后增加一个空白div 并设置样式 clear:both
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#parentDiv{
				border: 1px solid black;
			}
			div span{
				width: 100px;
				height: 100px;
				border: 1px solid red;
				float: left;
			}
			#clear{
				clear: both;
			}
		</style>
	</head>
	<body>
		<div id="parentDiv" >
			<span>
				span1
			</span>
			<span>
				span2
			</span>
		</div>
		<div id="clear"></div>
		<!--这里插入并设置样式-->
		<div>后面的元素</div>
	</body>
</html>

效果如下:
在这里插入图片描述
这样写也很简单,但是如果在没一个浮动后面增加一个空白div的话会增加冗余,不利于优化。

  1. 增加 overflow: hidden /auto:
#parentDiv{
				border: 1px solid black;
				overflow: auto;
			}

如下图
在这里插入图片描述
这个写起来也很简单,但是不适合与position 配合使用,多出的部分会被隐藏掉。

  1. 增加伪类样式 :
			.parentDiv:after{
				display: block;
				clear: both;
				content: "";
				visibility: hidden;
				height: 0;
			}
			.parentDiv{
				zoom: 1;
			}

如下图
在这里插入图片描述
这都是我学习时的笔记和各位分享分享

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值