(1):浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
(2):高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷)
首先:清除浮动的属性设置
clear:/left/right/none/inherit:元素某个方向不能有浮动元素
clear:左右两侧不允许浮动,
1、给浮动元素下方添加一个空的div,给一系列声明{clear:both;heigth:0;overflow:hidden}
2、给浮动元素的父级设置高度:
我们知道了高度塌陷是因为给浮动元素的父级高度是自适应导致的,那么我们给它的设置适当的高度就可以解决这个问题了。 缺点:在浮动元素高度不确定的时候不适用
3、以浮治浮:就是给浮动元素的父级也添加浮动。
缺点:需要给每个浮动元素父级添加浮动,浮动多了容易出现问题。
4、给父级添加overflow:hidden 清浮动方法;
问题:需要配合 宽度 或者 zoom 兼容IE6 IE7;
overflow: hidden;
5、项目中推荐使用的还是万能清除浮动:
选择符:after{
content:".";
clear:both;
display:block;
height:0;
overflow:hidden;
visibility:hidden;
}