美文网首页
浮动溢出解决方法

浮动溢出解决方法

作者: 在路上_W | 来源:发表于2016-05-11 22:11 被阅读628次

浮动溢出

在非IE浏览器(如Firefox)下,当容器的高度(height)为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。

解决方法

html:
<body>
    <div class="parent">
        <div class="child1"></div>
        <div class="child2"></div>
    </div>
</body>

css:
.parent{
    margin: 0 auto;
    width: 500px;
    border: 2px solid red;
    padding: 10px;
}
.parent:after{
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
}
.child1{
    float: left;
    height: 300px;
    width: 200px;
    background: #666666;
    border: 1px solid blue;
}
.child2{
    height: 100px;
    margin-left: 210px;
    background: pink;
    border: 1px solid yellow;
}
  1. 方法一:
    在html的child2后添加<div class="clear"></div>,css为.clear{clear:both;}
    优点:简单,代码少,浏览器支持好   
    缺点:如果页面浮动布局多,则需要很多空标签
  2. 方法二:
    在parent中添加overflow:auto;
    优点:不存在结构和语义化问题,代码量极少   
    缺点:多个嵌套后,firefox某些情况会造成内容全选;IE中 mouseover 造成宽度改变时会出现最外层模块有滚动条等,firefox早期版本会无故产生focus等
  3. 方法三:
    在parent容器添加一个:after伪元素,并使用content:"." 或者为" "在元素的后面生成了内容为一个点的块级元素,并使用一切方法使这个块级元素隐藏并清除浮动clear:both.
    .parent:after{
    content: ".";/生成一个元素内容为".",为" "时也好用/
    display: block;/让元素为块级元素/
    height: 0;/用以下两种方式让元素不渲染/
    visibility: hidden;
    clear: both;/清除浮动/
    }
    优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)
  4. 方法四:
    让parent容器也浮动,只需给parent容器添加 float:left,也可闭合浮动。
    优点:代码少
    缺点:会导致整个页面大部分都处于浮动状态,容易出现问题

相关文章

  • 浮动溢出解决方法

    浮动溢出 在非IE浏览器(如Firefox)下,当容器的高度(height)为auto,且容器的内容中有浮动(fl...

  • 溢出,文档流和内联浮动

    overflow(溢出) 文档流 浮动 内联浮动

  • 浮动溢出/清除浮动

    子对象浮动,父对象不设置高度,块元素就会塌陷

  • 一些常用的CSS样式

    清除浮动 文本溢出显示省略号 移动端样式重置 移动端文本溢出 后续....

  • DIV+CSS布局3

    布局相关属性: 浮动属性——float:left right 清除浮动——clear:both 溢出处理——ov...

  • CSS第四节(第八天)

    1.浮动原理 2.内容溢出处理 1.浮动原理 标准流 *从上往下排布,从左往右排布 浮动特性 *浮动脱离标准流,不...

  • 清除浮动常用的几种解决方法

    关于清除浮动的几种解决方法 一、浮动产生原因 浮动的产生是因为使用了float:left或float:rig...

  • 溢出、文档流和浮动

    overflow(溢出) visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被修剪...

  • 溢出、文档流和浮动

    1.overflow(溢出) visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被...

  • 溢出、文档流和浮动

    1.overflow(溢出) visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被...

网友评论

      本文标题:浮动溢出解决方法

      本文链接:https://www.haomeiwen.com/subject/pogzlttx.html