父元素不能自适应宽高

子元素float,使得父元素不能自适应高度

<!-- syle部分 -->
  <style>
    .item {
      float: left;
      width: 100px;
      height: 200px;
      background-color: red;
    }
    .item1 {
      width: 200px;
      height: 100px;
      background-color: blue;
    }
  </style>
<!-- html部分 -->
  <div class="box">
    <div class="item">Hello overflow float</div>
    <div class="item1">Hello overflow</div>
  </div>
父元素变窄

父元素的高度变窄:不能在包含浮动子元素的高度,而变窄了,变窄的部分也刚好是浮动元素的高度。

(1) 如何在让父元素重新的包含浮动部分的子元素高度呢???

方法: 给父元素添加 格式化上下文(BFC)。

(2) 那怎么添加BFC呢??

最简单的方法:通过 overflow:hidden 属性

.box{
  overflow: hidden
}
父元素重新自适应

(3) 定位的影响
前提我们还是通过overflow:hidden 属性,来实现同一个BFC,来达到父元素子适应。


浮动元素相对定位的效果

总结

元素内部的元素因为浮动, 而产生了父元素变窄的情况,父元素不能自适应。
父元素通过创建BFC来重包含浮动元素,来达到自适应的效果,同时也清除了浮动!

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,343评论 2 66
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,543评论 5 15
  • 重庆的一个山村,和他一样的孩子都去上幼儿园了,年龄已经要上中班的琪琪(化名)却只能在家里和他的爷爷和奶奶一起生活。...
    玲姐说教育阅读 483评论 0 1
  • M有如果阅读 968评论 9 25