css清楚元素浮动

浮动元素导致元素向上浮动,影响到父元素的width和height;
解决浮动有多种方法,但是浏览器兼容导致有些方法还有问题;

1. 父元素设置height

原理: 父元素定义height就解决了父元素无法自动获取到高度的问题
优点: 简单,代码少
缺点: 只适合高度固定的布局,要给出精确的像素,如果子元素和父元素height不一致会产生问题
建议: 不推荐使用

2. 结尾加空div标签并设置clear:both

原理:添加一个空div,利用css提高的clear:both清楚浮动,让父元素能自动获取高度
优点:简单,代码少,兼容性好
缺点:不理解原理,如果页面浮动布局多,就要增加很多空div,冗余
建议:不推荐

3. 父元素 伪类:after和zoom

原理: ie8以上和非ie浏览器才支持:after,原理和方法2有点类似,zoom(ie专有属性)可解决ie6和ie7浮动问题
优点: 浏览器支持好,不容易出现怪问题
缺点: 代码多,不理解
建议: 推荐

4. 父元素定义 overflow:hidden

原理: 必须定义width或zoom:1,同时不能定义height,使用overflow:hidden时,浏览器会自动检测浮动区域高度
优点:简单,代码少,兼容性好
缺点: 不能和position配合使用,因为超出的尺寸会被隐藏
建议: 只推荐没有position或对overflow:hidden理解较深的使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容