フロートクリアHTML

WBOY
リリース: 2023-05-15 14:41:09
オリジナル
836 人が閲覧しました

Web 開発では、フローティング要素によって引き起こされるレイアウトの問題がよく発生します。フローティング要素はドキュメント フローから切り離され、親要素の高さが崩れ、他の兄弟要素が影響を受けます。これらの問題を解決するには、フロートクリアを使用する必要があります。

フローティング クリアの本質は、親要素にフローティング要素を含めて、その要素の高さを再計算することです。一般的なフローティングクリア方法には次のものがあります。

  1. 空の div タグを使用して float をクリアする

この方法は、最も古く、最も一般的な float のクリア方法です。 float 要素の最後に空の div タグを追加し、そのスタイルを clear:both に設定して float をクリアします。

.clearfix{
    clear:both;
}
ログイン後にコピー

clearfix クラス名を親要素に追加すると、親要素に浮動要素が含まれるため、親要素は高さを再計算します。

ただし、この方法には次の欠点があります。

  • 意味のない DOM 要素が追加されます
  • 追加のスタイルを追加する必要があります
  • 破損する可能性があります元のレイアウト

したがって、他に優れた代替手段がない限り、この方法はできるだけ使用しないようにしてください。

  1. BFC の使用

BFC (ブロックレベルの書式設定コンテキスト) は、Web における重要なレイアウト概念です。 BFC は、次の特性を持つ独立したレイアウト ブロックに要素をラップできます。

  • 内部ボックスは垂直方向に次々に配置されます。
  • ボックスの垂直距離はマージンによって決まります。同じ BFC に属する 2 つの隣接するボックスの余白は重なり合います。
  • BFC エリアはフロート ボックスと重なりません。
  • BFC はページ上の独立したコンテナです。外部要素は内部のボックスには影響しません。またその逆も同様です。
  • BFC の高さを計算する場合、浮動要素も計算に参加します。

親要素にBFCを設定することで、子要素のフローティングを解除できます。

方法 1:

.container{
    overflow: hidden;
}
ログイン後にコピー

方法 2:

.container{
    display: flow-root;
}
ログイン後にコピー

この方法では DOM 要素を追加する必要はありませんが、BFC の特性をある程度理解する必要があります。同時に、レイアウトに対する BFC の影響も考慮する必要があります。

  1. 疑似要素を使用して float をクリアする

float 要素の後に疑似要素を追加することで、float クリアの効果を実現します。具体的な実装方法は以下の通りです。

.clearfix::after{
    content:"";
    display:block;
    clear:both;
}
ログイン後にコピー

親要素にclearfixクラス名を追加することでfloatをクリアすることができます。

この方法ではスタイルを追加する必要がありますが、意味のない DOM 要素は追加されず、レイアウトには影響しません。

  1. フレックス レイアウトの使用

フレックス レイアウトは、CSS3 の新しいレイアウト方法です。フレックス レイアウトを使用すると、水平方向の中央揃え、垂直方向の中央揃えなど、一部のレイアウトの問題を簡単に解決できます。

Flex レイアウトを使用すると、フロートをクリアすることもできます。具体的な実装方法は次のとおりです:

.container{
    display: flex;
    flex-wrap: wrap;
}
ログイン後にコピー

親要素をフレックス コンテナとして設定すると、子要素は自動的にフレックス アイテムになり、 flex-wrap プロパティを介して渡すことができ、行の折り返しを制御します。フレックス レイアウトの特性により、親要素にはすべての子要素が含まれ、自身の高さが再計算され、それによってフロートをクリアする効果が得られます。

ただし、フレックス レイアウトを使用すると元のレイアウトが破壊される可能性があるため、実際のニーズに応じて調整する必要があることに注意してください。

概要

上記では、一般的なフローティング クリア方法を紹介しました。各方法には長所と短所があるため、実際のニーズに応じて最適なソリューションを選択してください。ただし、どの方法を使用する場合でも、元のレイアウトを壊さずにフロートをクリアすることに注意する必要があります。

以上がフロートクリアHTMLの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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