清除浮动

清除浮动有两种方法:

一、设置 width:100%(或固定宽度) 和 overflow:hidden

.parent {
    border: 4px solid black;
    width: 200px;
    overflow: hidden;        /*这样可以清除浮动*/
  }

  .child {
    width: 200px;
    height: 200px;
    float: left;
    background-color: #8bc528;
  }
    
    <div class="parent1">
        <div class="child1"></div>
    </div>

设置 overflow:hidden 可以清除浮动的原因:

正常父元素包含浮动子元素,父元素的高度确实为0。但是父元素overflow:hidden; 后,首先会计算 height: auto; 的真实高度,由于其触发了BFC,需要包含子元素,所以高度不是0,而是子元素高度。这时 overflow:hidden; 才起到隐藏作用,不过父元素高度足够大,所以子元素没有被隐藏。
CSS中为什么overflow:hidden能清除浮动(float)的影响?原理是什么?

二、使用 clear:both;clear:left;clear:right;

 .clearfix {
     display: inline-block;
   }
 .clearfix:after {
     content: '';
     display: block;
     height: 0;
     clear: both;
     visibility: hidden;
   }

将上面的 .clearfix 样式应用到需要清除浮动的元素的父元素上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 浮动,从诞生那天起,它就是个特别的属性——既为网页布局带来新的方法,却又随之产生一系列的问题。当然,随着时间的推移...
    郝特么冷阅读 860评论 0 6
  • 一、CSS浮动 1、三个固定宽度与高度的框,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包...
    张延伟阅读 574评论 0 4
  • 在CSS规范中,浮动定位不属于正常的页面流(page flow),是独立定位的。所以,只含有浮动元素的父容器,在显...
    隔壁的UNCLE张阅读 502评论 0 4
  • 我们在日常开发布局中经常会使用到流体布局,流体布局用到的一个最重要的属性就是浮动,今天就来看看浮动的相关知识。 1...
    一木_qintb阅读 1,153评论 0 2