1. 程式人生 > >css 清除float的方法

css 清除float的方法

charset div 原來 alt round 都是 在底部 坍塌 red

      首先我們要理解這個flaot 為什麽要清除,作為小白來說直接顛覆了我之前學的內容,因為之前學的東西雖然碰到float後,脫離文檔流後給兄弟元素或者父元素造成影響,但是都是通過option來定位 要麽絕對 要麽相對 ,都是能解決的.
      這個概念才理解的時候,我都想為什麽要清除,我都設置了還要清除幹嘛?
後來知道 這個清除float 並不是把自身浮動清除,而是相對與前後兄弟標簽來說的,也可能相對父級標簽;

下面來解釋一下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    .div1{
        width: 90px;
        height: 90px;
        background-color: steelblue;
        border: 1px red solid;

    }
</style>
<body>
    <div style="background-color: gold; border: 1px solid red;">
        <div class="div1">標簽1</div>
        <div class="div1">標簽2</div>
        <div class="div1">標簽3</div>
        <div class="div1">標簽4</div>
        <!--<div style="clear: both; "></div>-->
    </div>
</body>
</html>



技術分享圖片

因為DIV是塊級標簽很DIAO的,全部自成一行,如果想在標簽一後後面直接跟上div1就要加入float:left;

  技術分享圖片

技術分享圖片

結果出現的情況是因為原來的父級DIV標簽沒有設置高度導致高度坍塌,全部脫離文檔流後沒有東西能撐起高度.原來的邊框也就是一條線了!

技術分享圖片

就是在底部加入了行標簽 ,關鍵是裏面的CSS,clear:both;
他會清除裏面所有的兄弟標簽的float:left的屬性,父級標簽也撐起來了,所有的標簽1 2 3 4都按左依次排列. 這個方法即讓元素按設定浮動,又沒有損害父類的高度.可以隨著內部標簽的增加,父級標簽自動的填滿背景,不坍塌.結果如下:

技術分享圖片

還有另外一種方法:

技術分享圖片

css 清除float的方法