css清楚浮動的四種常用方法

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

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

微信圖片_20210310212352.png

1、額外標(biāo)簽法(就是在最后一個浮動的標(biāo)簽后,新加一個標(biāo)簽,設(shè)置樣式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>額外標(biāo)簽法</div>
    </div>
    <div></div>
</body>
</html>

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

優(yōu)點:通俗易懂,方便

缺點:添加無意義標(biāo)簽,語義化差

不建議使用。

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

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

優(yōu)點:代碼簡潔

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

不推薦使用

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

.clearfix:after{/*偽元素是行內(nèi)元素 正常瀏覽器清除浮動方法*/
    content: "";
    display: block;
    height: 0;
    clear:both;
    visibility: hidden;
}
.clearfix{
    *zoom: 1;/*ie6清除浮動的方式 *號只有IE6-IE7執(zhí)行,其他瀏覽器不執(zhí)行*/
}

<body>
    <div class="fahter clearfix">
        <div class="big">big</div>
        <div class="small">small</div>
        <!--<div class="clear">額外標(biāo)簽法</div>-->
    </div>
    <div class="footer"></div>

</body>

優(yōu)點:符合閉合浮動思想,結(jié)構(gòu)語義化正確

缺點:ie6-7不支持偽元素:after,使用zoom:1觸發(fā)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>


優(yōu)點:代碼更簡潔

缺點:用zoom:1觸發(fā)hasLayout.

推薦使用


標(biāo)簽:
最后修改:2025-04-05 02:53:11

非特殊說明,本博所有文章均為博主原創(chuàng)。

国产免费久久受久久,人妻AV成熟片久久久久久,亚洲综合无码日韩,国产AV无码乱码精品国产 www.sucaiwu.net