php里清除浮动代码,清除浮动的五种方式 - 20190429

一、为什么要清浮动?

当有嵌套关系的元素时, 父元素的高度应该由子元素撑开,

元素浮动后, 脱离了文档流,如果有父级区块,则父元素无法再包裹住

实例

实例

.box1 {

width: 300px;

border: 5px dashed red;

}

.box2 {

width: inherit;

height: 300px;

background-color: lightblue;

}

/*浮动后脱离文档流, 父区块无法再包裹住*/

.box2 {

float: left;

}

二、解决方案

Ⅰ父元素设置与子元一样的高度

注意:该方案非常Low,如果子元素高度变化,则必须同步修改父元素高度

实例

.box1 {

/*height: 300px;*/

}

Ⅱ 父元素跟着子元素一起浮动

注意:如果父元素(box1)还有父元素,(parent) 那么也要添加float,一级一级往上走

实例

.box1 {

/*float: left;*/

}

Ⅲ 添加一个块元素(clear),专用来清浮动

注意:这个方案简单粗暴,但会多增加一个dom元素, 在服务器端渲染页面时, 会遇到些麻烦

实例

.clear {

/*clear: both;*/

}

Ⅳ 父元素添加一个伪元素,专用来清浮动

思路:受方案Ⅲ提醒,既然不想添加一个多余的真实元素, 那就添加一个伪元素

实例

.box1::after {

/*content: '我是新增加的内容';*/

/*content: '\020';*/

/*content: '';*/

/*只要display是块就行,table,list-item...*/

/*display: table;*/

/*考虑到兼容性, 加个高度0,上个双保险,大多情况下可省略*/

/*height: 0;*/

/*clear: both;*/

}

注意:content、display、clear缺一不可

Ⅴ 父元素添加overflower,专用来清浮动

实例

.box1 {

/*overflow: auto;*/

overflow: hidden;

}

注意:此方案首选

三、BFC(块级格式化上下文)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值