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

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

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 仮想マシンのインストール操作方法

推薦する

Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明

1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...

JavaScriptプロトタイプと例の詳細な説明

目次コンストラクタインスタンスとプロトタイプの関係プロトタイププロパティ属性またはメンバーの検索原則...

mysql エラー 1033 を解決する方法: ファイル内の情報が正しくありません: 'xxx.frm'

問題の説明1. 収集ステーションのデータベース2. データが無い状態での移動は問題ありませんが、デー...

JavaScript ベースのシンプルな計算機の実装

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...

ボタンをEnterキーに関連付けるjsコード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

MySQL 5.7 に組み込まれているストレス テストの mysqlslap コマンドと構文の詳細な説明

序文mysqlslap は、MySQL サーバーへのクライアント負荷をシミュレートし、各ステージの時...

VueはWebSocketを使用してチャット機能をシミュレートします

この効果は、2つのブラウザが互いにシミュレートしていることを示しています 1. シミュレートされたノ...

Docker 経由で Redis 6.x クラスターをデプロイする方法

システム環境: Redis バージョン: 6.0.8 Docker バージョン: 19.03.12シ...

MySqlデータベースの基礎知識のまとめ

目次基本的なデータベース操作2) データベースを表示する3) データベースを選択する4) データベー...

SSHトンネルを使用してMySQLサーバーに接続する方法

序文場合によっては、データベースのイントラネット アドレスしか知らず、イントラネット経由で接続できな...

複数のプロジェクトをデプロイする Docker nginx の例

前提条件1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方...

Web ページのスクロール バーが右側に設定されているのはなぜですか?

私たちが毎日使っているブラウザや Word 文書のスクロール バーはなぜ右側にあるのでしょうか。多く...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

MySQL の日付型の単一行関数コードの詳細な説明

MySQL の日付型単一行関数: CURDATE()またはCURRENT_DATE()は現在の日付を...

MySQL 集計関数のソート

目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...