CSS 清除浮动的方法

1. 使用额外标签法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .outer{
            border: 1px solid black;
            width: 210px;
        }
        .inner{
            width: 50px;
            height: 50px;
            background-color: #005FC3;
            margin:0 10px;
            float: left;
        }
        .footer{
            background-color: #ff4400;
            width: 212px;
            height: 100px;
        }
        .clearfix{
            clear: both;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
        <div class="inner"></div>
        <div class="inner"></div>
        <div class="clearfix"></div>
    </div>
    <div class="footer"></div>
</body>
</html>

这是早期普遍使用的方法,但是对于有代码洁癖的人来说,解决的不够完美

2. 使用 :after 为元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .outer{
            border: 1px solid black;
            width: 210px;
        }
        .inner{
            width: 50px;
            height: 50px;
            background-color: #005FC3;
            margin:0 10px;
            float: left;
        }
        .footer{
            background-color: #ff4400;
            width: 212px;
            height: 100px;
        }
        .clearfix:after{  /*最简方式*/
            content: ‘‘;
            display: block;
            clear: both;
        }
        /* 新浪使用方式
        .clearfix:after{
            content: ‘‘;
            display: block;
            clear: both;
            height: 0;
            visibility: hidden;
        }
        */
        .clearfix{ /*兼容 IE*/
            zoom: 1;
        }
    </style>
</head>
<body>
    <div class="outer clearfix">
        <div class="inner"></div>
        <div class="inner"></div>
        <div class="inner"></div>
    </div>
    <div class="footer"></div>
</body>
</html>

3. 给父元素定高

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .outer {
                border: 1px solid black;
                width: 210px;
                height: 50px;
            }
            .inner {
                width: 50px;
                height: 50px;
                background-color: #ff4400;
                margin: 0 10px;
                float: left;
            }
            .footer {
                background-color: #005FC3;
                width: 212px;
                height: 100px;
            }
        </style>
    </head>
    <body>
        <div class="outer">
            <div class="inner"></div>
            <div class="inner"></div>
            <div class="inner"></div>
        </div>
        <div class="footer"></div>
    </body>
</html>

4. 利用 overflow:hidden 属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .outer{
            border: 1px solid black;
            width: 210px;
            overflow: hidden;
            zoom: 1;/*兼容 IE*/
        }
        .inner{
            width: 50px;
            height: 50px;
            background-color: #005FC3;
            margin:0 10px;
            float: left;
        }
        .footer{
            background-color: #ff4400;
            width: 212px;
            height: 100px;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
        <div class="inner"></div>
        <div class="inner"></div>
    </div>
    <div class="footer"></div>
</body>
</html>

时间: 2024-08-01 22:40:11

CSS 清除浮动的方法的相关文章

css清除浮动各方法与原理

说到清除浮动的方法,我想网络上应该有不下7,8的方法,介绍这些方法之前,想下为什么清除浮动? 再次回到float这个属性,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列. 这就产生了一个问题:浮动元素所在父元素不会自动伸长以便闭合浮动元素,任其“红杏出墙”,这显然不符合我们的“伦理观”,所以要“抓回来”施以家法:那么如何抓呢? 提起css,提起(x)html,首先进入脑海的是楚楚动人的页面吗?不,首先应该是这楚楚动人的页面的背后的“楚楚冻人

css清除浮动的方法汇总

这是在其他地方看到的一篇文章,汇总的不错,摘过来做个记录. 引用地址 : http://www.cnblogs.com/ForEvErNoME/p/3383539.html ----------------------------------以下是原文 什么是CSS清除浮动? 在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布

CSS清除浮动的方法

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一.下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”><!–    *{margin:0;padding:0;}    body{font:36px bold; color:#F00; text-align:center;}    

css清除浮动的方法总结

在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过 ie chrome firefox opera,需要的朋友可以参考下 清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了.解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问

8种CSS清除浮动的方法优缺点分析

为什么清除CSS浮动这么难? 因为浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了. 解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问题. 我根据自己的经验总结8种清除浮动的方法(测试已通过 ie chrome firefox opera,后面三种方法只做了解就可以了): 1.父级div定义height <style type="text/cs

CSS清除浮动各种方法

当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动. #div { background-color: blueviolet; } #div p { width: 100px; height: 100px; background-color: red; float: righ

CSS清除浮动的方法】

CSS清除浮动 1.在浮动的元素上,定义父元素,然后再父元素上加固定高height. <style type="text/css"> /*方法一*/ .div1 { width: 500px; /*在浮动的元素上,定义父元素,然后再父元素上加固定高height.*/ height:200px; } .box1, .box2 { width: 100px; height: 100px; background: red; margin-left: 10px; float: le

css清除浮动主要方法

1.浮动元素尾部添加空div标签,设置css为clear:both: 缺点:如果页面浮动布局多,则需要添加较多div: 2.父级元素定义伪类:after和zoom:1: .father:after{display:block;clear:both;content:"";visibility:hidden;height:0} .father{zoom:1} 推荐使用,定义公共类,减少css代码: 3.父级元素使用overflow:hidden: 原理:父级元素还必须设置boom:1或者w

CSS清除浮动的三种方法,很实用

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一. 下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”> <!–     *{margin:0;padding:0;}     body{font:36px bold; color:#F00; text-align:center;}