HTML にネストされた div の無効なマージンに対する解決策

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。

さて、マージンの定義と使い方を学んでみましょう。

Div ネストされた HTML コード:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル タイプ="text/css">
        *{
            マージン: 0;
            パディング: 0;
        }
        体{
            幅: 100%;
            高さ: 100%;
            背景色: ドジャーブルー;
        }
        。箱{
            幅: 300ピクセル;
            高さ: 300px;
            マージン: 30px;
            背景色: グレー;
        }
        .box .child{
            幅: 200ピクセル;
            高さ: 200px;
            マージン: 50px;
            背景色:ダークターコイズ;
        }
    </スタイル>
</head>
<本文>
    <div class="box">
        <div class="child">

        </div>
    </div>
</本文>
</html>

実際の効果:

これは実際には私たちが望んでいる効果ではありません。まず、この問題が発生する理由について説明しましょう。

ネストされた div が 2 つあります。外側の div の親要素の padding 値が 0 の場合、内側の div の margin-top または margin-bottom 値が外側の div に「転送」されます。

この問題を解決するには、まず IE 固有のプロパティである haslayout を理解する必要があります。

私たちが達成したい効果は次のとおりです。

最後に、解決策についてお話ししましょう。

1. 親要素にブロックフォーマットコンテキスト(ブロックレベルフォーマットコンテキスト、Baiduで学ぶことができます)を生成させます。次のプロパティを実現できます。

フロート: 左/右

位置: 絶対

表示: インラインブロック

オーバーフロー: 非表示/自動

2. 親要素に境界線またはパディングを追加する

方法 1 の overflow:hidden を例に挙げます。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル タイプ="text/css">
        *{
            マージン: 0;
            パディング: 0;
        }
        体{
            幅: 100%;
            高さ: 100%;
            背景色: ドジャーブルー;
        }
        。箱{
            幅: 300ピクセル;
            高さ: 300px;
            マージン: 30px;
            背景色: グレー;
            オーバーフロー: 非表示;
        }
        .box .child{
            幅: 200ピクセル;
            高さ: 200px;
            マージン: 50px;
            背景色:ダークターコイズ;
        }
    </スタイル>
</head>
<本文>
    <div class="box">
        <div class="child">

        </div>
    </div>
</本文>
</html>

最終結果:

これで、HTML で div がネストされているときにマージンが機能しない問題を解決する方法についての記事は終わりです。HTML で div がネストされているときにマージンが機能しないという問題に関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

>>:  CSS3 でテキストの点滅効果を実現する 3 つの方法 サンプルコード

推薦する

個人ブログシステムを構築するためのDockerの超シンプルな実装

Dockerをインストールするyumパッケージを最新バージョンに更新します: sudo yum up...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

MySQLカスタム関数の簡単な使用例

この記事では、例を使用して MySQL カスタム関数の使用方法を説明します。ご参考までに、詳細は以下...

Unicode における CJK (中国語、日本語、韓国語の統合表意文字) 文字の概要

CJK は CJK Unified Ideographs の略称で、「中国語、日本語、韓国語の統一表...

Nginxにモジュールを動的に追加する方法

前面に書かれた多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインスト...

JavaScript を使用した Web 計算機の作成

この記事は主にJavaScriptを使用してWeb計算機を実現する効果を記録し、参考として掲載してい...

Vueはシンプルなショッピングカートの例を実装します

この記事では、Vueの具体的なコードを共有して、簡単なショッピングカートを実装します。具体的な内容は...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

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

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

Webデザインチュートリアル(8):Webページの階層と空間デザイン

<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...

MySQLクエリのソートとページング関連

概要通常、データベース内のデータを直接表示することは望ましくないため、最後の 2 つのセクションでは...

MySQLカスタム関数とストアドプロシージャの詳細な説明

序文この記事では主にMySQLのカスタム関数とストアドプロシージャに関する関連コンテンツを紹介し、皆...

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

目次1. 目的2. 文法3. 練習する1. 目的通常、エラーが発生すると、スクリプトは直ちに停止し、...

知っておくべきHTML最適化テクニック

Web ページのパフォーマンスを向上させるために、多くの開発者は、JavaScript、画像の最適化...