フロントエンド開発のプロセスでは、float をよく使用しますが、これは私たちが好きでも嫌いでもある属性です。フローティングによって簡単にレイアウトできるので気に入っていますが、フローティング後に解決すべき問題が多すぎるため嫌いです。この章では、CSS がフロートをクリアする理由とフロートをクリアする方法、および CSS でフロートを削除するいくつかの方法を紹介します。困っている友人は参考にしていただければ幸いです。
#1. なぜ浮くのですか?
フローティング (float) の最も基本的な理由は、テキストの折り返し効果を実現するためです。後に、これをレイアウトに使用すると、いくつかの欠点を補うことができることがわかりました。従来のレイアウトでは非常に便利です。2. float をクリアする必要があるのはなぜですか?
Float (float) は、フローティング ボックスが別のフローティング ボックスまたはその外端にあるボックスを含むボックスに遭遇するまで左右に移動するように制御できます。フローティング ボックスはドキュメント フロー内の通常のフローに属しません。要素がフローティングされると、ブロック レベルの要素のレイアウトには影響しませんが、インライン要素のレイアウトにのみ影響します。このとき、ドキュメント フローの通常のフローでは、フローティング ボックスのレイアウト モードが同じではないことがわかります。包含ボックスの高さがフローティング ボックスよりも小さい場合、「高さの崩壊」が発生します。- 親要素内の子要素が float に設定されていない場合、親要素も自動的に引き伸ばされ、高さの値が表示されます。
- 親要素内の子要素が float に設定されている場合、親要素の高さは表示されません。自動的に引き伸ばされ、高さの値はありません。
- 親要素のマージンが影響を受け、マージンが変更できなくなります。
- 親要素の高さが設定されておらず、フローティング後に親要素の高さが拡張されていない場合、親要素はディスプレイに表示されません。
#3. フロートをクリアする方法
フロートをクリアするいくつかの方法を以下に紹介します。 CSS 内 (上の図の効果を実現します):
空のタグを使用してフロートをクリアします。 float をクリアする必要がある親要素 すべてのフローティング要素の後に空のタグを追加し (理論的には任意のタグにすることができますが、一般的には
が使用されます) フローティング要素をクリアし、CSS コードのクリアを定義します。どちらも彼らにとって。
コード例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .demo{ width: 500px; margin: 50px auto; background-color: #CCCCCC; } .left{ width: 100px; height: 100px; float: left; background-color: #21B4BB; } .right{ width: 100px; height: 50px; float: right; background-color: #21B4BB; } .clear{ clear:both; } </style> </head> <body> <div class="demo"> <div class="left">left</div> <div class="right">right</div> <div class="clear"></div> </div> </body> </html>
利点: シンプル、コードが少なく、ブラウザーとの互換性が良好。
欠点: 多数の非セマンティックな HTML 要素を追加する必要があり、コードは十分に洗練されておらず、後で保守するのは簡単ではありません。
2. CSS の overflow プロパティを使用します。オーバーフローを使用して浮動小数点をクリアします。浮動小数点数が含まれる要素に CSS コード overflow:auto または overflow:hidden を定義するだけです。それをクリアする必要があります。
コード例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .demo{ width: 500px; margin: 50px auto; background-color: #CCCCCC; overflow:hidden } .left{ width: 100px; height: 100px; float: left; background-color: #21B4BB; } .right{ width: 100px; height: 50px; float: right; background-color: #21B4BB; } </style> </head> <body> <div class="demo"> <div class="left">left</div> <div class="right">right</div> </div> </body> </html>
メリット: 構造的・意味的に問題がなく、コード量が非常に少ない
デメリット: コンテンツが増えた場合、簡単自動行折り返しが発生し、コンテンツが非表示になり、オーバーフローする必要がある要素を表示できなくなります。
3. CSS:after pseudo-elementを使用します。親要素の :after 疑似要素と set display:table
display:table により、生成された要素がブロック レベルのテーブルに表示され、残りのスペースが占有されます。
content: " " を通じて最後の要素としてコンテンツを生成します。コンテンツの内容については、従来の CSS は content: "." でOKです。バージョンによっては空のコンテンツが含まれる場合があります。
コード例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .demo{ width: 500px; margin: 50px auto; background-color: #CCCCCC; *zoom: 1; } .demo:after { content: " "; display: table; clear: both; } .left{ width: 100px; height: 100px; float: left; background-color: #21B4BB; } .right{ width: 100px; height: 50px; float: right; background-color: #21B4BB; } </style> </head> <body> <div class="demo"> <div class="left">left</div> <div class="right">right</div> </div> </body> </html>
短所: 最新のブラウザに適していますが、IE6/7 はサポートしていません。*ズーム: 1 は IE6/7 との互換性のためです
以上がCSSクリアフロートは何をするのですか?フロートをクリーンアップする方法 (概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
