什么是浮动
浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷)
after伪类 清浮动(万能清除法,主流,推荐使用)
1 | 选择符:after{ |
同时为了兼容 IE6,7 同样需要配合zoom使用例如:
1 | .clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;} |
需要注意的东西:
1 | after伪类: 元素内部末尾添加内容; |
添加空div用clear清除浮动
在浮动元素下方添加空div,并给该元素写css样式
1 | clear:both; |
给浮动元素父级设置高度
我们知道高度塌陷是父级高度自适应导致的,那么我们给它的设置适当的高度就可以解决这个问题了。
缺点:在浮动元素高度不确定的时候不适用
以浮制浮
父级同时给浮动
缺点:需要给每个浮动元素父级添加浮动,浮动多了容易出现问题。
父级设置成inline-block
缺点:父级的margin左右auto失效,无法使用margin: 0 auto;
居中了
br 清浮动
1 | <div class="box"> |
br 标签自带clear属性,将它设置成both其实和添加空div原理是一样的。
缺点:不符合工作中:结构、样式、行为,三者分离的要求。
给父级添加overflow:hidden 清浮动方法;
缺点:需要配合 宽度 或者 zoom 兼容IE6 IE7;
1 | overflow: hidden; |
参考来源:
css清除浮动float的七种常用方法总结和兼容性处理
最后更新: 2019年10月13日 22:16