html中浮动的原理,CSS中的浮动原理和清除浮动

浮动

浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素。

被浮动的元素可以内联排列。

浮动元素脱离了文档流,并不占据文档流的位置,自然父元素也就不能被撑开,所以没了高度。

清除浮动

主要有两种方式:分别是clear清除浮动和BFC清除浮动

1. clear清除浮动

clear:both 不允许元素的左边或右边挨着浮动元素,底层原理是在被清除浮动的元素上边或者下边添加足够的清除空间。

2. 利用伪元素清除浮动(现代浏览器clearfix方案,最佳实践方案)

// clearfix方案,不支持IE6/7

.clearfix:after {

display: table;

content: " ";

clear: both;

}

// 引入了zoom以支持IE6/7

.clearfix:after {

display: table;

content: " ";

clear: both;

}

.clearfix{

*zoom: 1;

}

// 最佳实践方案

// 加入:before以解决现代浏览器上边距折叠的问题

.clearfix:before,

.clearfix:after {

display: table;

content: " ";

}

.clearfix:after {

clear: both;

}

.clearfix{

*zoom: 1;

}

注: 加入:before是为了解决现代浏览器上边距折叠的问题

3. BFC容器清除浮动

BFC(Block Formatting Context)既块状格式化上下文,它是按照块级盒子布局的。

BFC的主要特征:

BFC容器是一个隔离的容器,和其他元素互不干扰;所以我们可以用触发两个元素的BFC来解决垂直边距折叠问题。

BFC可以包含浮动;通常用来解决浮动父元素高度坍塌的问题。

BFC的触发方式

// 给父元素添加以下属性来触发BFC

1. float: left | right

2. overflow: hidden | auto | scorll

3. display: table-cell | table-caption | inline-block | flex | inline-flex

4. position: absolute | fixed

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值