zoukankan      html  css  js  c++  java
  • overflow:hidden为何能清除浮动?

     设置float之后,比如在一个容器里,一个图片后面有一段文字,图片设置了float。会有3个变化:

    1、被float的元素会脱离标准文档流。(如果float的是inline element,会变成float-box)shift to the left or right,到包含他的盒子边缘或者其他float元素边缘。

    2、段落会上移。

    3、段落内容会shorten来适应float的宽度(这个宽度是包括图片的margin的,如果float宽度很大,导致没有空间容纳一个单词,就下移)。 

    清除浮动一般有2种方法:clear: both; overflow: hidden。

    通过clear: both来清除浮动,会有一个问题:就是如果这个容器没有设置高度,子块只有float元素,容器高度会坍陷。这个时候可以设置overflow: hidden来解决。

    可是为什么overflow能解决这个问题呢?

    overflow这个属性本来是隐藏超出父块之外的子块。在隐藏的时候,需要计算全部高度,这个时候会把float元素的高度算上。顺带达成了清理浮动的效果。

  • 相关阅读:
    JS原生带小白点轮播图
    JS原生轮播图
    Vue.js小案例(2)
    Vue.js小案例(1)
    Vuejs入门级简单实例
    Vue.js简单入门
    微信登录oauth2.0
    PHP四维数组、三维数组封装遍历
    常用linux命令30个
    好架构是进化来的,不是设计来的
  • 原文地址:https://www.cnblogs.com/guojunru/p/5370207.html
Copyright © 2011-2022 走看看