<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • css清楚浮動的四種常用方法

    程序猿 2021-03-10 21:29:57 1786瀏覽 加載中

    清除浮動之后效果,如圖所示:

    微信圖片_20210310212352.png

    1、額外標簽法(就是在最后一個浮動的標簽后,新加一個標簽,設置樣式clear:both;)   (不推薦)

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .fahter{
                width: 400px;
                border: 1px solid #000;
            }
            .big{
                width: 200px;
                height: 200px;
                background: yellow;
                float: left;
            }
            .small{
                width: 120px;
                height: 120px;
                background: blue;
                float: left;
            }
            .footer{
                width: 900px;
                height: 100px;
                background: darkslateblue;
            }
            .clear{
                clear:both;
            }
            </style>
    </head>
    <body>
        <div>
            <div>大盒子</div>
            <div>小盒子</div>
            <div>額外標簽法</div>
        </div>
        <div></div>
    </body>
    </html>

    如果我們清除了浮動,父元素自動檢測子盒子最高的高度,然后與其同高。

    優點:通俗易懂,方便

    缺點:添加無意義標簽,語義化差

    不建議使用。

    2.父級添加overflow屬性(父元素添加overflow:hidden)(不推薦)

    .fahter{
        width: 400px;
        border: 1px solid deeppink;
        overflow: hidden;
    }

    優點:代碼簡潔

    缺點:內容增多的時候容易造成不會自動換行導致內容被隱藏掉,無法顯示要溢出的元素

    不推薦使用

    3.使用after偽元素清除浮動(推薦使用)

    .clearfix:after{/*偽元素是行內元素 正常瀏覽器清除浮動方法*/
        content: "";
        display: block;
        height: 0;
        clear:both;
        visibility: hidden;
    }
    .clearfix{
        *zoom: 1;/*ie6清除浮動的方式 *號只有IE6-IE7執行,其他瀏覽器不執行*/
    }
    
    <body>
        <div class="fahter clearfix">
            <div class="big">big</div>
            <div class="small">small</div>
            <!--<div class="clear">額外標簽法</div>-->
        </div>
        <div class="footer"></div>
    
    </body>

    優點:符合閉合浮動思想,結構語義化正確

    缺點:ie6-7不支持偽元素:after,使用zoom:1觸發hasLayout.

    推薦使用

    4.使用before和after雙偽元素清除浮動

    .clearfix:after,.clearfix:before{
        content: "";
        display: table;
    }
    .clearfix:after{
        clear: both;
    }
    .clearfix{
        *zoom: 1;
    }
    
    <div class="fahter clearfix">
        <div class="big">big</div>
        <div class="small">small</div>
    </div>
    <div class="footer"></div>


    優點:代碼更簡潔

    缺點:用zoom:1觸發hasLayout.

    推薦使用


    標簽:
    最后修改:2025-03-26 13:04:49

    非特殊說明,本博所有文章均為博主原創。

    主站蜘蛛池模板: 宜兰市| 罗源县| 凤山市| 星座| 英超| 襄城县| 罗山县| 易门县| 健康| 陕西省| 湟源县| 合江县| 沐川县| 耒阳市| 延吉市| 神木县| 丰县| 临湘市| 武邑县| 桃江县| 固始县| 绿春县| 循化| 阳西县| 禄丰县| 广饶县| 襄垣县| 翁牛特旗| 涿鹿县| 舒城县| 获嘉县| 榕江县| 延吉市| 永福县| 道孚县| 镇江市| 寿宁县| 和林格尔县| 湖州市| 吉林市| 伊金霍洛旗|