解决父元素塌陷的问题

父元素塌陷的定义

在标准文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。但是当子元素浮动之后,子元素会完全脱离文档流,无法撑开父盒子,导致父盒子没有高度。


父盒子中的子元素浮动之前:

让父盒子中的元素浮动(float:left;),发现父盒子中的背景没有了


HTML主体结构

<body>
	<div class="father">
		<div class="son1"></div>
		<div class="son2"></div>
		<div class="son3"></div>
	</div>
</body>

要想让父盒子中的内容显示出来,需要对其清除浮动,方法有三个

1.使用after伪对象清楚浮动(推荐)

在说这种方法以前先解释几个东西的作用

  1. :after 选择器在被选元素的内容后面插入内容。使用content属性来指定要插入的内容。

这种清除浮动的方法大概思想是在父元素的空内容后添加了一个空内容,并对这个空的内容清除浮动

<style>
		.father:after{
			display: block;
			clear: both;
			content: "";
		}
</style>

发现绿色的父元素被撑开了


2.使用空标记清除浮动

在浮动元素之后添加一个空标记,并对这个空标记应用clear:both;,不过这种方法不建议使用,因为增加了毫无意义的结构元素(空标记)

	<style>
		.blank{
			clear:both;
		}
	</style>
<body>
	<div class="father">
		<div class="son1"></div>
		<div class="son2"></div>
		<div class="son3"></div>
		<div class="blank"></div><!-- 添加的空标记 -->
	</div>
</body>
</html>

发现绿色的父元素被撑开了


3.使用overflow:hidden;清除浮动
<style>
		.father{
				overflow:hidden;
		}
</style>

发现绿色的父元素被撑开了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值