css清除浮动float的三种方法总结,为什么清浮动

 我来答
网海1书生
科技发烧友

2016-01-18 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

不清除浮动的话,浮动层后面的非浮动内容就有可能被浮动层所覆盖,造成版面错乱,所以必须清除浮动。除非浮动层所在的位置是有固定的高度的,也就是说不管是否浮动它所占用的区域都不变,这样就无需清除。比如:

<div>
    <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
</div>
<div style="width:200px; height:200px; background-color:#00f"></div>

可以看到蓝色框会被红色框覆盖(IE6-9中则不会,因为它不是标准浏览器)。清除浮动以后就不会了:

<div>
    <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
    <div style="clear:both"></div>
</div>
<div style="width:200px; height:200px; background-color:#00f"></div>

或者给浮动层预留位置:

<div style="width:100px; height:100px">
    <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
</div>
<div style="width:200px; height:200px; background-color:#00f"></div>
我买行了吧
2016-01-18 · 超过12用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:17.8万
展开全部
我推荐一种方法去清浮动,特别简单。

就是在要清浮动的地方加上:
<div style="clear:both;"></div>
即可。
清除浮动的作用是:清除同行元素,不允许其它元素与之在一行内。

PS:如果想深入研究,请参考https://segmentfault.com/a/1190000004237437
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4e53aa6
2019-02-01
知道答主
回答量:8
采纳率:0%
帮助的人:6676
展开全部
其实究其原因,就两种原理清除与闭合,可以看下我写的这个思路可能会清楚一点https://juejin.im/post/5c5027c26fb9a049f912fa10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式