CSS清除浮动

来源:

https://www.bilibili.com/video/BV14J4114768?p=196

清除浮动的本质

  • 清除浮动的本质就是清除浮动的影响
  • 如果父盒子本身有高度,则不需要清除浮动
  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了

清除浮动策略

闭合浮动,只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子

清除浮动——额外标签法

隔墙法,是W3C推荐的做法
在最后一个浮动元素末尾添加一个空的块级标签,例如<div style="clear:both;"></div>
优点:通俗易懂,书写方便
缺点:添加许多无意义的标签,结构比较差

清除浮动——父级添加overflow

给浮动元素父级添加overflow属性,属性值可以为hidden、auto或scroll任意之一。
优点:代码简洁
缺点:无法显示溢出部分

清除浮动——:after伪元素

:after方式是额外标签的升级版,也是给父元素添加

.clearfix:after {
            content: "";//伪元素必须写的属性
            display: block;//插入的元素必须是块级
            height: 0;//不要看见这个元素
            clear: both;//核心代码清除浮动
            visibility: hidden;//不要看见这个元素
        }
 .clearfix { /* IE6、7专有 */
            *zoom: 1;
        }

优点:没有增加标签,结构更简单
缺点:照顾低版本浏览器
代表网站:百度,淘宝网,网易等

清除浮动——双伪元素清除浮动

.clearfix:before, .clearfix:after {
            content: "";
            display: table;//转换为块级元素并且一行显示
        }
        .clearfix:after {
            clear: both;
        }
        .clearfix {
            *zoom: 1;
        }

优点:代码更简洁
缺点:照顾低版本浏览器
代表网站:小米、腾讯等

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

相关阅读更多精彩内容

  • 为什么清除浮动? 父级没高度 子盒子浮动了 影响下面布局了,我们就应该清除浮动了。 1. 额外标签法(隔墙法) 优...
    硅谷干货阅读 468评论 0 5
  • 1.什么是浮动? css中,一共给我们了三种布局方式 标准文档流浮动(float)定位(postion) 在css...
    旧忆ajm阅读 1,252评论 0 0
  • 为什么清除浮动? 父级没高度子盒子浮动了影响下面布局了,我们就应该清除浮动了。 1.额外标签法(隔墙法) 优点:...
    硅谷干货阅读 187评论 0 0
  • 1、父级div定义 height 原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题...
    百度怎么用阅读 141评论 0 0
  • CSS-04 浮动 1 浮动(float) 1.1 传统网页布局的三种方式 网页布局的本质——用 CSS 来摆放盒...
    Tutuls阅读 471评论 0 0

友情链接更多精彩内容