1. ホーム
  2. Web制作
  3. CSS

[CSSチュートリアル】CSS clear float clear:both サンプルコード

2022-02-02 11:12:31

今日はクリアフロートについて説明します。クリアフロートについて説明する前に、フロートとは何かを理解する必要があります。
フロートはまた、ドキュメントフローのうち、親の幅と高さがサブセットで支柱することはできませんので、我々はフロートをクリアする必要があること、ドキュメントフローのうち、として知られている、これ以上説明せずに、我々はコードに。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 1000px;
            margin: 0 auto;
            border: 8px solid black;
        }
        .box::after{
            content: "";
            clear: both;
            display: block;
        }
        .box .left{
            width: 50%;
            height: 300px;
            background-color: red;
            float: left;
        }
        .box .right{
            width: 50%;
            height: 300px;
            background-color: blue;
            float: right;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="left"></div>
        <div class="right"></div>
    </div>
</body>
</html>

ここから、float自体を使うことで、親の幅と高さをサブセットで突っ張ることができず、その場合、思っているのと違うレイアウトになることがわかります。ここには、いくつかの解決策があります。

まず一つ目。

親要素にdivを追加し、追加したdivにクリアフロートを追加する

 <div class="clear"></div>
   clear{
            clear: both;
        }

2番目

親divに高さを設定すれば、それもうまくいきます。

 The .box{
            width: 1000px;
            height: 300px;
            margin: 0 auto;
            border: 8px solid black;
        }

第3の

親にoverflow:hidden;属性を追加すれば、うまくいくでしょう。

The .box{
            overflow: hidden;
            width: 1000px;
            margin: 0 auto;
            border: 8px solid black;
        }

第4回

floatをposition: absoluteやdisplay: inline-blockでクリアすることができる。

.box{
            /* position: absolute; */
            display: inline-block;
            width: 1000px;
            margin: 0 auto;
            border: 8px solid black;
        }

実際には、他の4つを知ることは良いことですが、5番目は使用する必要があります、他の4つは、フロートをクリアすることができますが、彼は不必要なトラブルをもたらすでしょう、第二を取る、親が後で子要素を追加する必要がある場合、我々は多くの問題をもたらすだろう、親の高さを変更する必要があります、第五も最も実用的なものである。

5つ目

擬似要素を使ってfloatを解除する。親に擬似要素を追加すればいい。

.box::after{
            content: "";
            clear: both;
            display: block;
        }

この記事はCSS clear float clear:bothのサンプルコードについて紹介されています、より関連するCSS clear both clear floatの内容はスクリプトホームの過去の記事を検索してくださいまたは、次の関連記事を引き続き閲覧してください、私はあなたが将来的にもっとスクリプトホームをサポートしてほしい!。