zoukankan      html  css  js  c++  java
  • 4.清除浮动

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

    未清除浮动的情况:

    清除浮动的第一种方法:使用clear属性的空元素(这里用的是div,其它均可)

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    		.parent{
    			background: gray;
    		}
    		.clear{
    
    		}
    		.box{
    			float: left;
    			 100px;
    			height: 100px;
    			border: 1px solid red;
    		}
    		.next{
    			 100px;
    			height: 100px;
    			background: green;
    		}
    		.clear{
    			clear: both;
    		}
    	</style>
    </head>
    <body>
    <div class="parent clear">
    	<div class="box"></div>
    	<div class="box"></div>
    	<div class="box"></div>
    	<div class="clear"></div>
    </div>
    	<div class="next"></div>
    </body>
    </html>
    

    清除之后的效果:

    第二种方法:给浮动元素的父元素容器添加overflow:hidden(auto)另外在 IE6 中还需要触发 hasLayout ,例如为父元素设置容器宽高或设置 *zoom:1。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            .parent{
                background: gray;
                overflow: auto;
                /*overflow: hidden;*/
                /*兼容IE6*/
                *zoom: 1;
    
            }
            .clear{
    
            }
            .box{
                float: left;
                width: 100px;
                height: 100px;
                border: 1px solid red;
            }
            .next{
                width: 100px;
                height: 100px;
                background: green;
            }
        </style>
    </head>
    <body>
    <div class="parent clear">
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>
        <div class="next"></div>
    </body>
    </html>

    第三种方法:使用:after伪元素法(在浮动元素的父元素添加一个属性clearfix)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            .parent{
                background: gray;
            }
            .clearfix:after{
                content: '.';
                height: 0;
                visibility: hidden;
                display: block;
                clear: both;
            }
            /*.clearfix{
                zoom:1;在IE6和IE7时添加
            }*/
            .box{
                float: left;
                width: 100px;
                height: 100px;
                border: 1px solid red;
            }
            .next{
                width: 100px;
                height: 100px;
                background: green;
            }
        </style>
    </head>
    <body>
    <div class="parent clearfix">
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>
        <div class="next"></div>
    </body>
    </html>
  • 相关阅读:
    [NOIP2010]关押罪犯
    图的联通入门题
    【luogu4777】扩展中国剩余定理(EXCRT)[数论 扩展中国剩余定理]
    【luogu3868】【TJOI2009】猜数字[模板] [数论 中国剩余定理]
    【luogu1082】【noip2012】同余方程 [数论 扩展欧几里德]
    【luogu1962】斐波那契数列 [矩阵乘法]
    【uva1644】 素数间隔 Prime Gap [数学 质数筛]
    【uva307】小木棍 Sticks [dfs搜索]
    【luogu4011】孤岛营救问题(拯救大兵瑞恩) [最短路][分层思想]
    【noip2015】
  • 原文地址:https://www.cnblogs.com/rained/p/6416863.html
Copyright © 2011-2022 走看看