浮遊要素によって引き起こされる問題と解決策の詳細な説明

浮遊要素によって引き起こされる問題と解決策の詳細な説明

1. 問題

  • 複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性があります。
  • フロート要素の後に非フロート要素が続く場合、非フロート要素はその直後にフロートします。
  • フローティング要素の前にフローティングされていない同じレベルの要素がある場合、ページ構造に影響します。

2. 解決策

1. クリア: 両方

最後のフロート要素の後に、clear:both; 属性を持つ要素を追加します。

<スタイル>
div.parent>div.fl{
    フロート: 左;
    幅: 200ピクセル;
    高さ: 200px;
    右マージン: 20px;
    境界線: 1px 実線の赤;
}
。クリア{
    クリア: 両方;
}
</スタイル>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
    <div class="clear">5</div>
</div>

clear:both; 属性を持つ :after 疑似要素を親要素に追加します。

<スタイル>
div.parent>div.fl{
    フロート: 左;
    幅: 200ピクセル;
    高さ: 200px;
    右マージン: 20px;
    境界線: 1px 実線の赤;
}
.clear:after{
    コンテンツ: '';
    表示: ブロック;
    クリア: 両方;
}
</スタイル>
<div class="親クリア">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

注: 擬似要素はデフォルトでインラインなので、擬似要素を使用する場合は、属性 display: block; を設定する必要があります。

2. オーバーフロー:自動 / オーバーフロー:隠し

<スタイル>
div.親{
    オーバーフロー:自動;
    /*overflow: hidden; も動作します*/
}
div.parent>div.fl{
    フロート: 左;
    幅: 200ピクセル;
    高さ: 200px;
    右マージン: 20px;
    境界線: 1px 実線の赤;
}
</スタイル>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

3. フローティング親要素

<スタイル>
div.親{
    フロート: 左;
}
div.parent>div.fl{
    フロート: 左;
    幅: 200ピクセル;
    高さ: 200px;
    右マージン: 20px;
    境界線: 1px 実線の赤;
}
</スタイル>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

注意: この方法は、親要素のレイアウトに問題が発生するため、通常は使用されません。

以上で、フローティング要素が原因のトラブルとその解決策についての記事は終了です。フローティング要素が原因のトラブルについての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  JavaScript の 3 つの BOM オブジェクト

>>:  VMware Workstation 仮想マシンのインストール操作方法

推薦する

JavaScript 配列重複排除問題の詳細な研究

目次序文 👀リサーチを始めましょう🐱‍🏍オリジナル🧶 indexOf を使用した元の方法の最適化 ✍...

HTML 9グリッドレイアウトの実装方法

ウェブサイトのレイアウトの多様化は、当社のフロントエンドの得意分野です。最近、UC ブラウザのデフォ...

フロントエンド JavaScript ハウスキーパー package.json

目次1. 必須属性1. 名前2. バージョン2. 説明情報1. 説明2. キーワード3. 著者4. ...

Vueは商品詳細ページの虫眼鏡機能を実装します

この記事では、商品詳細ページの虫眼鏡を実装するためのVueの具体的なコードを参考までに共有します。具...

Reactは二次的連鎖効果(階段効果)を実現する

この記事では、二次リンク効果を実現するためのReactの具体的なコードを参考までに共有します。具体的...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

選択タグ内のオプションをクリアする3つの方法

方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

background-positionプロパティでのパーセンテージ値の使用法の検討

背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...

MySQLデータベースにパスワードを入力した後にフラッシュバックする問題の解決策

パスワード入力後にMySQLデータベースがクラッシュする問題と解決策1 ケースの説明最近、基本的な機...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...

MySQL 演算子の具体的な使用法 (and、or、in、not)

目次1. はじめに2. 本文2.1 および演算子2.2 または演算子2.3 オペレーター2.4 no...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...