清除浮动流

浮动元素高度问题

  • 在标准流中内容的高度可以撑起父元素的高度
  • 在浮动流中浮动的元素是不可以撑起父元素的高度的

清除浮动方式一

  • 给前面的父元素盒子添加高度
  • 注意:
  • 在企业开发中, 我们能不写高度就不写高度, 所以这种方式用得很少

清除浮动方式二

  • 给后面的盒子添加clear属性
  • 取值:
  • none: 默认取值, 按照浮动元素的排序规则来排序(左浮动找左浮动, 右浮动找右浮动)
  • left: 不要找前面的左浮动元素
  • right: 不要找前面的右浮动元素
  • both: 不要找前面的左浮动元素和右浮动元素
  • 注意:
  • 当我们给某个元素添加clear属性之后, 那么这个属性的margin属性就会失效

清除浮动方式三

隔墙法

  • 外墙法
  • 在两个盒子中间添加一个额外的块级元素(div)
  • 给这个额外添加的块级元素设置clear: both;属性
  • 注意:
  • 外墙法它可以让第二个盒子使用margin-top属性
  • 外墙法不可以让第一个盒子使用margin-bottom属性
  • 内墙法
  • 在第一个盒子中所有子元素最后添加一个额外的块级元素
  • 给这个额外添加的块级元素设置clear: both;属性
    <div class="box1">
    <p>我是文字1</p>
    <p>我是文字1</p>
    <p>我是文字1</p>
    <div class="wall h20"></div>(这就是“墙”)
    </div>
  • 注意:
  • 内墙法它可以让第二个盒子使用margin-top属性
  • 内墙法它可以让第一个盒子使用margin-bottom属性
  • 外墙法和内墙法区别?
  • 外墙法不能撑起第一个盒子的高度, 而内墙法可以撑起第一个盒子的高度
  • 写的位置不同
  • 在企业开发中不常用隔墙法来清除浮动

清除浮动方式四--伪元素选择器

  • 伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素
  • 格式:
    标签名称::before{
    属性名称:值;
    }
    解析:给指定标签的内容前面添加一个子元素
    标签名称::after{
    属性名称:值;
    }
    解析:给指定标签的内容后面添加一个子元素
    div::after{
    content: "么么哒";(/指定添加的子元素中存储的内容/)
    width: 50px;
    height:0;(/内容是可以超出标签的范围的, 所以高度为0依然可以看见内容/)
    background-color: pink;
    display: block;(/指定添加的子元素的显示模式/)
    visibility: hidden;( /隐藏添加的子元素/)
    }
  • 清除浮动的方式:
    .box1::after{
    /设置添加的子元素的内容为空/
    content: "";
    /设置添加的子元素为块级元素/
    display: block;
    /设置添加的子元素的高度为0/
    height: 0;
    /设置添加的子元素看不见/
    visibility: hidden;
    /给添加的子元素设置clear: both;/
    clear: both;
    }
    .box1{
    /兼容IE6/
    *zoom:1;
    }
  • 本质上就是内墙法, 只不过是直接通过CSS代码添加了内墙, 其它特性和内墙法都一样
  • 注意:
  • IE6中不支持这种方式, 为了兼容IE6必须给前面的盒子添加*zoom:1;属性

清除浮动方式五

  • overflow: hidden;
  • 作用:
  • 可以将超出标签范围的内容裁剪掉
  • 清除浮动(直接在第一个盒子标签内加此属性)
  • 可以通过overflow: hidden;让里面的盒子设置margin-top之后, 外面的盒子不被顶下来
  • 注意:
  • IE6中不支持这种方式, 为了兼容IE6必须添加*zoom:1;属性
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,817评论 1 92
  • 1.清除浮动的第一种方式 给前面一个父元素设置高度 注意点:在实际开发中, 我们能不写高度就不写高度, 所以这种方...
    白的吓人阅读 354评论 0 0
  • 盒子的高度问题 1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度; 为什么要清...
    壹点微尘阅读 407评论 0 0
  • 网页布局方式——浮动流 标签(空格分隔): H5+CSS [TOC] 网页布局方式——浮动流 简介 浮动流是一种"...
    袁俊亮技术博客阅读 446评论 0 1
  • 【一、学长,请说实话,否则我就要强吻你了。】 毕业生送别晚会。 骆唐坐在第一排,目不转睛地盯着正在台上表演小品的顾...
    逗比女孩王小珊阅读 305评论 0 3