DIV+CSS クリアフロートメソッド summary_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:18:47
オリジナル
1187 人が閲覧しました

DIV+CSS フロートのクリアは、ページ レイアウトにおける一般的な問題です。すべての専門家が独自の方法を持っていると思います。今日は、いくつかの一般的な方法を要約します (追記: これはオリジナルではありません。私自身の要約も同様です)。私自身の内在化プロセス)、それがあなたのお役に立てれば幸いです。ブログガーデンプラットフォームに感謝します! ---- <夢のあるフロントエンド初心者>より

DIV+CSS フローティング効果とは、親要素の高さが定義されていない場合、子要素がすべてテキスト フローから浮き出ることを意味します。親要素がテキスト フローからはみ出してしまう (追記: 通常の状況では、親要素の高さは子要素によってサポートされているか、一部の子要素が浮いてテキストから外れてしまいます)。流れが生じ、他の要素のレイアウトが乱れます。

DIV+CSS フロートをクリアする一般的な方法は次のとおりです:

1. フローティングされていない子要素の CSS に両方を追加します。子要素にフロートがある場合は、空の子要素を追加します。 CSS は、clear:both; を追加します。これにより、左右のフローティング子要素をクリアして親要素の高さを再サポートできるようになり、フローティング要素をクリアする効果が得られます。コードと効果は次のとおりです:

<style type="text/css"> .fl{float:left;} .demo{background:#ccc;} .item1{background:#F571E3;height:100px;width:100px;} .item2{background:#21B2F7;height:200px;width:100px;clear: both;} </style> </head> <body>     <h2>用 clearfix 清除浮动</h2>     <div class="demo">         <div class="fl item1"></div>         <div class="item2"></div>     </div> </body>
ログイン後にコピー

フロートをクリアする前に、item1 が左にフローティングされる効果 (このとき、親要素の高さはアンフロートされた item2 要素の高さによって引き伸ばされます):

フロートをクリアする前に、item1 は右にフロートします。 効果 (このとき、親要素の高さは、フローティングされていない item2 要素の高さだけ引き伸ばされます):

フロートをクリアした後の効果 (DIV はブロックであるため、 level 要素と排他的な行を占有するため、item2 は下の行になります。このとき、親要素の高さは item1 要素と item2 要素の高さによって引き伸ばされます):

2.子要素がフローティングの場合は、親要素の CSS に overflow: hidden; を追加します (子要素がすべてフローティングではない場合、フローティング要素は親要素の高さを拡張しませんが、フローティング要素によって生じるレイアウトは拡張されます)。ただし、このメソッドでは、position を使用して親要素を配置することはできません。そうでない場合は機能しません。コードと効果は次のとおりです。

<style type="text/css"> .fl{float:left;} .demo{background:#ccc;overflow: hidden;} .item1{background:#F571E3;height:100px;width:100px;} .item2{background:#21B2F7;height:200px;width:100px;} </style> </head> <body>     <div class="demo">         <div class="fl item1"></div>         <div class="fl item2"></div>     </div> </body>
ログイン後にコピー

フロートをクリアする前の効果は、親要素の高度な折りたたみのため、背景の背景には効果がありません。

後の効果。フロートをクリアします:

3. 疑似クラスを追加します: 後、親要素にズームします。 コードと効果は次のとおりです:

<style type="text/css"> .fl{float:left;} .demo{background:#ccc;zoom: 1;} .demo:after{display:block;clear:both;content:"";visibility:hidden;height:0}.item1{background:#F571E3;height:100px;width:100px;} .item2{background:#21B2F7;height:200px;width:100px;} </style> </head> <body>     <div class="demo">         <div class="fl item1"></div>         <div class="fl item2"></div>     </div> </body> 
ログイン後にコピー

親の高度な折りたたみのため、エフェクトをクリアします。要素、背景: #ccc; は効果がありません:


float をクリアした後の効果:

4. ブートストラップを使用している場合は、clearfix クラスをその親要素に追加できます。コードと効果は次のとおりです:

<style type="text/css"> .fl{float:left;} .demo{background:#ccc;} .item1{background:#F571E3;height:100px;width:100px;} .item2{background:#21B2F7;height:200px;width:100px;} </style> </head> <body>     <div class="demo clearfix">         <div class="fl item1"></div>         <div class="fl item2"></div>     </div> </body>
ログイン後にコピー

フロートをクリアした後の効果:

上記の方法にはそれぞれ長所と短所があり、ご自身の理解に応じて使用することができます。また、親要素をフロートさせる、親要素にテーブルを表示させるなど、フロートをクリアする他の方法もありますが、個人的には使用をお勧めしません。

上記の紹介がお役に立てば幸いです。間違いがあれば修正してください。ありがとうございます。 ----<夢を持ったフロントエンド初心者>より

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート