美文网首页
清除浮动

清除浮动

作者: foolgry | 来源:发表于2016-11-19 17:33 被阅读0次

本文要说的是:如何清除浮动

在布局过程中,不可避免的会遇到浮动所带来的问题。

DOM元素浮动之后会脱离文档流,对后续DOM元素的布局产生不好的影响,所以要做的就是要浮动布局之后,清除该清除的浮动。

如果你写了一个这样的页面:

<div id="container">
    <div class="article">
        <p>article article article article article article article article</p> 
    </div>
    <div class="aside">
        <p>aside aside aside aside aside aside </p>
    </div>
</div>

它的CSS是这样的:

#container {
    width: 100%;
    border: 1px solid #000;
    background-color: #CCC;
}
.article {
    float: left;
    background-color: #0FF;
}
.aside {
    float: left;
    background-color: #66CDAA;
}

大家都知道这样肯定会出问题,像这样:

floatfloat
点击差看demo

所以要对浮动进行清除。

常用的有如下方法

1.给父元素也添加浮动。不过这样治标不治本,虽然解决了这个问题,但是父元素的浮动又会影响其他的,除非你整站都用浮动。

给父容器添加浮动:

#container {
    float: left;
}

效果如下:

floatfloat
点击查看demo

2.给浮动元素后追加一个元素如,"<div>""
"等来清除浮动。这样可以解决问题,但是会产生一些不必要的标记。

给页面添加元素:

<div id="container">
    <div class="article">
        <p>article article article article article article article article</p> 
    </div>
    <div class="aside">
        <p>aside aside aside aside aside aside </p>
    </div>
    <div class="clear"></div>
</div>

添加样式:

.clear {
        clear: both;
    }

效果和上面一样:

add-elmentadd-elment
点击查看demo

3.给父元素加overflow(auto或hidden)属性。overflow(auto或hidden)属性会默认清除浮动,所以这样也可以达到目的。

给父容器添加浮动:

#container {
    overflow: hidden;
}

效果和上面一样:

overflowoverflow
点击查看demo

4.利用伪元素来清除浮动。这种方式比较常用,但是IE6不支持。

给浮动元素父元素添加样式:

<div id="container" class="clear">
    <div class="article">
        <p>article article article article article article article article</p> 
    </div>
    <div class="aside">
        <p>aside aside aside aside aside aside </p>
    </div>
</div>
<div>some text</div>


<style>
    .clear {
        zoom: 1;
    }
    .clear:after {
        content: '';
        display: block;
        clear: both;
    }
</style>

效果如下:
pse-ele
点击查看demo

常用方式总结如上,欢迎交流。

相关文章

  • 11.22 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 前端06

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 06 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 清除浮动

    未清除浮动前 清除浮动后

  • 技术知识点整理

    清除浮动 BFC清除浮动浮动的父级末尾插入块级元素清除浮动 BFC(Block Formatting Contex...

  • H5前端开发学习笔记——0x15清除浮动

    清除浮动 课时130 浮动元素高度问题(掌握) 课时131 清除浮动方式一(理解) 课时132 清除浮动方式二(理...

  • css清除浮动

    前端开发中浮动处处可见,本文探讨浮动的成因以及如何更加有效的清除浮动。 1、浮动与清除浮动 2、清除浮动 基本cs...

  • CSS清除浮动三种方式

    清除浮动 当父盒子没有定义高度,嵌套的盒子浮动之后,下边的元素发生位置错误。 清除浮动不是不用浮动,清除浮动产生的...

  • 布局浮动的问题

    浮动的问题 什么是浮动?浮动(float)的副作用清除浮动两种清除浮动的办法如下:

  • 清除浮动

    一、清除浮动 or 闭合浮动 ? 清除浮动:清除对应的单词是 clear,对应CSS中的属性是 clear:lef...

网友评论

      本文标题:清除浮动

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