细谈清除浮动的几种方法
来源:互联网 发布:平井一夫 知乎 编辑:程序博客网 时间:2024/05/21 09:33
在前端中经常会在布局方面需要清除浮动,我自己总结了一下,清除浮动的几种方法,也有清除浮动的原理,这也是面试中经常会问到的。
1.overflow:hidden
父元素设置overflow:hidden属性
原理:必须定义width或zoom=1,同时不能定义height。使用overflow:hidden会触发BFC(块级格式化上下文)/(这里的BFC会在后面一篇文章详解),浏览器会自动检查浮动区域的高度。
缺点:不能和position配合使用,因为超出的尺寸会被隐藏。
优点:代码量少,简单。
2.父级div定义伪类:after和zoom
.clearfix:after{ content:""; height:0; display:block; clear:both; //清除浮动 visibility:hidden;}.clearfix{ zoom:1; // 兼容IE}
原理:IE8以上才支持 :after
优点:不容易出现错误
缺点:代码多,不易记
3.使用双伪元素清除浮动
.clearfix:before,clearfix:after{ display:table; content:""; clear:both;}.clearfix{ zoom:1;}
缺点:不严谨
4.在结尾处加空div标签:clear:table
在要清浮动的地方的结尾加上一个空div标签
<div class="clearfloat"></div>.clearfloat{clear:both;}
原理:添加一个空div,利用css提高clear:both清除浮动,让父级div能自动获取高度。
5.父级div定义overflow:auto
原理:必须定义width或zoom:1,使用overflow:auto时,浏览器会自动检查浮动区域的高度。
6.BFC(Block Formatting Contexts)
触发BFC 的几种规则:
- 浮动元素,float除none以外的值
- 绝对定位元素:position(absolute,fixed)
- display为以下其中之一:inline-blocks,table-cells,table-captions
- overflow除visible以外的值:hidden,auto,scroll,inherit(包括IE8都不支持)
阅读全文
0 0
- 细谈清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种常见方法
- 清除浮动的几种常用方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- 清除浮动的几种方法
- Docker:Swarm + Stack 一站式部署容器集群
- linux 下使用 tc 模拟网络延迟和丢包
- sql总结
- Java注解详解,自定义注解,利用反射解析注解
- 新出炉的车牌识别验证模块
- 细谈清除浮动的几种方法
- hadoop6-Hbase入门
- 数据库常用操作
- hdu 1205 吃糖果
- @Repository、@Service、@Controller 和 @Component
- 从零开始的vue.js实战项目
- 【转】Java技能清单
- oracle数据库常用基础语法
- python中的变量赋值,浅拷贝,深拷贝