CSS 子元素浮动,父元素高度塌陷解决办法

CSS 子元素浮动,父元素高度塌陷

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
	<style>
		.wrapper{
			border:1px solid red;
		}
		.content{
			float:left;
			width:100px;
			height:100px;
			background-color:black;
			color:#fff;
		}
	</style>
</head>
<body>
	<div class="wrapper">
		<div class="content">1</div>
	</div>
</body>
</html>

效果:

解决办法

一、使用BFC,消除高度塌陷

1、父元素增加属性  float:left;

2、设置父元素  position:absolute

3、设置父元素  display:inline-block;

使用后效果:

设置完后,父元素将被子元素撑大,但父元素会变成行级元素。

总结:设置了position:absolute,float:left/right 后在内部将元素转换成了inline-block,所以使用BFC后,会将父元素变成行级元素。

 

二、使用.clearfix,清除浮动影响,不改变父元素。

父元素添加.clearfix样式

.clearfix:before,
.clearfix:after{
       content:"";
       display:table;
       clear:both;
}

父元素被子元素撑开,但父元素依然是块级元素。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值