ホームページ > 記事 > ウェブフロントエンド > 浮きを解消する方法とメリット・デメリットとは?
フロートをクリアする理由?
以下の例は、要素にフローティングを適用した場合の効果です
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .box2 { width: 100px; height: 40px; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
box2にfloat:left属性を追加した結果は以下の通りです
図のように、box1は高さを設定していないため、box3が自動的にスペースを埋めます。この場合、ページがめちゃくちゃになってしまいます。したがって、この float をクリアする必要があります
以下は float をクリアするいくつかの方法です
(1) クリア: 両方
フローティング要素の下に p タグを追加し、クリア: 両方の属性を設定することによって
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear { clear: both; } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1"> <p class="box2"></p> <p class="clear"></p> </p> <p class="box3"></p></body></html>
利点: シンプル、コードが少なく、優れたブラウザサポート
短所: 無意味なタグが追加されました
(2) overflow: hidden
フローティング要素の親要素に overflow: hidden 属性を追加してフロートをクリアします
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear { overflow: hidden; zoom: 1; /*处理兼容性问题*/ } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1 clear"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
長所: シンプルでコードが少なく、優れたブラウザサポート
欠点: 超過したコンテンツは非表示になります
(3) after 疑似クラスを追加します
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear:after { clear: both; content: ""; display: block; visibility: hidden; } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1 clear"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
利点: 優れたブラウザサポート
欠点: 大量のコード
3 番目の方法は現在多くのブラウザで使用されているため、 float をクリアするときは、after 疑似クラスを使用するのが最善です
以上が浮きを解消する方法とメリット・デメリットとは?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。