浮动产生的原因:
子级盒子对象使用了CSS中float
属性,导致父级盒子对象不能被撑开。
浮动产出的副作用:
- 父级盒子对象的背景不能显示
- 父级盒子对象的边框不能撑开
- 父级盒子对象的
margin
和padding
设置值不能正确显示
清除浮动的方法:
- 对父级设置适合CSS高度
clear:both
清除浮动
HTML代码如下:
1 | <div class="fatherDiv"> |
CSS代码如下:
1 | .fatherDiv { |
- 父级div定义
overflow:hidden
HTML代码如下:
1 | <div class="fatherDiv"> |
CSS代码如下:
1 | .fatherDiv { |
- 使用伪元素:
after
清除浮动(缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout)
HTML代码如下:
1 | <div class="fatherDiv"> |
CSS代码如下:
1 | .fatherDiv { |