1. 目的 この記事を通じて、誰もがフロートをクリアする原理と方法を理解し、最終的にこの記事が最良であると考える方法を思いつくことができます。 II. はじめに 1. フローティングの本来の意味を紹介し、復元する 3. 本文 1. 浮かぶことの本来の意味 フローティングの本来の目的は、テキストを画像の周囲に折り返すことだけでした。 上図から、画像を左フロートに設定すると、通常のドキュメントフローから画像を抽出できることがわかります。後続の要素はフローティング要素の元の位置を無視するため、ブロック要素として表示される span タグが画像の下に挿入されていることがわかります。ただし、テキストは画像の下に埋め込まれないことがわかります。これは、テキストで画像を囲むというフローティングの最も純粋な意味だからです (テキストがフローティング要素の下に挿入されない理由については、インターネット上でいくつかの議論があります。検索してください。この記事では、これ以上詳しく説明しません)。 PS: フローティング要素の下にテキストを挿入したい場合は、絶対位置を設定することで挿入できます。 // HTML コード <セクション> <div class="origin1">  <span>私が大きなテキストだと想像してください</span> </div> <div class="float1">  <span>私が大きなテキストだと想像してください</span> </div> </セクション> // css code.origin1 span { 表示: ブロック; 幅: 250ピクセル; 高さ: 120px; 背景色: #78f182; } .float1 画像{ フロート: 左; } .float1 スパン { 表示: ブロック; 幅: 250ピクセル; 高さ: 120px; 背景色: #78f182; } 2. フローティングはどのような目的でよく使用されますか? フローティングではブロック要素を並べて表示できるため、ナビゲーション バーやコンテンツ ブロック バーなどのレイアウトによく使用されます。 // HTML コード <section class="section2"> <ul> <li><a href="#">製品センター</a></li> <li><a href="#">サービスセンター</a></li> <li><a href="#">ニュースセンター</a></li> <li><a href="#">お客様の声</a></li> <li><a href="#">採用</a></li> </ul> </セクション> //cssコード.section2 li{ リストスタイル: なし; フロート: 左; パディング: 20px; 高さ: 20px; 背景色: #1249c3; 右境界線: 1px 実線 #a0a2a2; } .section2 li a { 色: #fff; } 3. 浮動小数点をクリアする必要がある理由 上の図から、3 つのセクションが左にフロートした後、通常のドキュメント フローから外れているため、親要素 ul は高さを設定せずに子要素によって拡張できないことがわかります (ul の padding を 10px に設定したため、背景色が見えています)。そのため、後で新しい要素を追加すると、自然に ul の後ろ、つまり 3 つのフロート セクションの下に挿入されます。 // HTML コード <ul> <li><p>インタラクティブ セクションli</p></li> <li><p>学習セクション</p></li> <li><p>メッセージボード</p></li> 私は3つのセクションの外側にラップされるべき親要素ulです </ul> <div class="new">私はulに続く新しいdivです</div> //cssコードul{ パディング: 20px; 背景色: #b7db05; } ul li { 幅: 200ピクセル; 高さ: 200px; 背景色: #e3e3e3; 右マージン: 20px; テキスト配置: 中央; フロート: 左; } 。新しい { 高さ: 50px; 背景色: #1be751; } 4. フローティングをクリアする方法 (1)最後のフロートli要素の後に空のブロック要素divを追加し、clear:bothを設定してすべてのフロートをクリアします。 // HTML コード <ul> <li><p>インタラクティブ セクションli</p></li> <li><p>学習セクション</p></li> <li><p>メッセージボード</p></li> 私は3つのセクションの外側にラップされるべき親要素ulです <div style="clear:both;"></div> // コードを追加</ul> <div class="new">私はulに続く新しいdivです</div> 効果: ul の後ろにある div 要素は、実際にフローティング要素の下に配置することができ、マージン、パディングなどの設定は、フローティング要素の下の境界線に対しても行われます。 デメリット: 構造上意味のない冗長なタグが存在します。 (2)親要素ulのoverflow: hiddenまたはoverflow: autoを設定します。 //cssコードul{ パディング: 20px; 背景色: #e7a5b8; オーバーフロー: 非表示; } 効果: ul 以降の要素については、フローティング要素の下に順番に配置できます。 (3)疑似クラス方式を使用して、最後のフローティング要素の後にclear:bothを追加します。 // css コード ul:after { コンテンツ: ""; クリア: 両方; 表示: ブロック; } 効果: 追加の効果や意味的に誤った新しいタグなしで、フローティングの影響が効果的に排除されます。 IV. 結論 まとめると、この記事では、after 疑似クラスを使用してフローティングの影響を解消するのが最善の方法であると考えています。皆さんの議論をお待ちしています。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: Docker ロード後にイメージ名が none になる問題の解決方法
目次1. 左端接頭辞原則2. 表に戻る3. インデックスプッシュダウン序文:インデックス プッシュダ...
<br />原文: http://andymao.com/andy/post/103.h...
前回の記事 https://www.jb51.net/article/154157.htm では、B...
Linux がすべてのコマンドをサポートしていない場合はどうすればいいですか?すべてのLinuxコマ...
目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...
CSS は Web ページで非常に重要な役割を果たします。近年の CSS の発展に伴い、疑似要素/疑...
設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...
表では、右下の境界線の色を個別に定義したり、セルの左上の境界線の色を定義したりできます。これら 2 ...
北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...
1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...
最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...
mysql5.7.18の解凍版はmysqlサービスを起動します。具体的な内容は以下のとおりです。 1...
1. ソースコードの設計コードをコピーコードは次のとおりです。 <!DOCTYPE html ...
Docker はポートを IPv6 にのみマッピングし、IPv4 にはマッピングしません。 dock...
1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...