浮动与清除浮动

添加浮动

float 属性规定元素如何浮动。

描述
left规定元素浮动到父元素素左侧
right规定元素浮动到父元素素右侧
none默认值元素不浮动
inherit元素继承父元素的float值

浮动的元素向左或向右浮动时,直到它的外边框碰到父元素边框或另一个浮动元素的边框为止。

浮动产生的目的是为了做图文混排、文字环绕效果,因为浮动的元素只会压住标准流中的元素不会遮住标准流中的文字,正常布局时应当避免使用float属性(可以选择定位、flex布局)。

元素浮动后将脱离标准流,由于浮动元素父盒子很多情况下不方便给定高度,但是子盒子脱标后不占有位置,最后造成父元素高度为0,因此我们需要清除浮动。

清除浮动的本质

  • 清除浮动的本质是清除浮动元素造成的影响。

  • 如果父盒子本身有高度,则不需要清除浮动。

  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度,父级有了高度就不会影响下面的标准流了。

清除浮动的策略是:闭合浮动

清除浮动的方法

1.W3C推荐做法:额外标签法(隔墙法)

此方法是在浮动子元素的末尾添加一个空的标签来闭合浮动(新添加的标签必须是块级元素)

例如:<div style="clear:both"></div>

或者其他标签,(如<br />等)

优点:通俗易懂,书写方便

缺点:添加许多无意义的标签,结构化较差

2.父级添加overflow属性

给父元素添加overflow属性,将其属性值设置为hiddenaotuscroll

优点:代码简洁

缺点:无法显示溢出部分

3.父级添加after伪元素

优点:结构简单

缺点:不照顾低版本浏览器

4.父级添加双伪元素

此方法与第三种方法差不多,比第三种方法更常见

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值