float导致父元素坍塌,(这里是父元素直接下移了)

现象:子元素加float:left以后父元素div下移了在这里插入图片描述
原因:子元素加上float,父元素高度坍塌(我也想不通坍塌为什么会下移)总之要么给父元素足够的高度,或者用其他原因撑开高度
通用的四种方法如下:

(1)给父级元素添加一个高度(不推荐)
  此方法中高度无法确认,需要多次尝试设置,如果像我一样没有父元素背景颜色,随便给父元素一个高度就恢复了,但是如果涉及背景颜色且子元素高度不确定的就不方便了
  
(2)<divstyle=“clear:both;”>
  在最后一个子元素后加一个空的div,给他添加样式clear,清除两侧浮动;这种方法也很有效,但是加了一个空的div,造成代码的冗余
  
(3)父级元素设置overflow:hidden;
  overflow有一点不好,在有下拉菜单的时候,下拉菜单会显示不出来。

(4)父级元素添加after伪类;(推荐),
  没有任何副作用,对文件中的其他元素没有任何影响,在需要防止父级边框的元素中,给它的class值中添加clear就行了

.parent:after{

content:"";

display:block;

clear:both;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值