- time: 2016-02-23 21:00
- tags: css
在css布局中常用的一个属性就是float,它可以让div块脱离原本的文档流向左或向右浮动,但是...这个浮动有时候很烦,需要清除浮动,下面详细整理一下关于浮动,为什么要清除浮动和怎样清除浮动。
一. float
float浮动样式没有靠中(浮动居中)的样式,在css布局中如果需要让标签对象居中需要margin等其它方法(先偷懒下次整理(●°u°●) ),这里记住浮动靠右使用float:right,浮动靠左使用float:left样式即可。例子到下面一起举。
二.为什么要清除浮动?
div嵌套式子元素浮动而父元素未浮动
后果:因为float会脱离文档流,这样就导致了父元素的height为0.
![](http://7xpt78.com1.z0.glb.clouddn.com/float1.png)
![](http://7xpt78.com1.z0.glb.clouddn.com/float2.png)
三.如何清除浮动?
(第一类):在元素末尾添加一个内容带有clear:both属性的空元素
1.方法一:使用带clear属性的空元素
![](http://7xpt78.com1.z0.glb.clouddn.com/float3.png)
![](http://7xpt78.com1.z0.glb.clouddn.com/float4.png)
2.方法二:使用CSS的:after伪元素
![](http://7xpt78.com1.z0.glb.clouddn.com/float5.png)
![](http://7xpt78.com1.z0.glb.clouddn.com/float6.png)
(第二类):触发浮动元素父元素的 BFC (Block Formatting Contexts, 块级格式化上下文),使到该父元素可以包含浮动元素
3.方法三:使用CSS的overflow属性
![](http://7xpt78.com1.z0.glb.clouddn.com/float7.png)
![](http://7xpt78.com1.z0.glb.clouddn.com/float4.png)
4.方法四:给浮动的元素的容器添加浮动(但是这样会使其整体浮动,影响布局,不推荐使用. )
![](http://7xpt78.com1.z0.glb.clouddn.com/float8.png)
四.后记
网上推荐说在网页主要布局时使用:after伪元素方法并作为主要清理浮动方式;在小模块如ul里使用overflow:hidden;如果本身就是浮动元素则可自动清除内部浮动,无需格外处理;正文中使用邻接元素清理之前的浮动。回顾一下洗洗睡觉(●°u°●) 」