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 つの方法 サンプルコード

推薦する

HTMLフォーム入力監視の詳細な理解

今日、入力イベントに関するブログ投稿を見て、気まぐれで関連情報を整理してみました。イベント:関数 c...

Dockerデータストレージの概要

この記事を読む前に、ボリューム、バインドマウント、tmpfs マウントの基本を理解しておいてください...

JavaScript の基本オブジェクト

目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...

EXPLAIN コマンドの詳細な説明と MySQL での使用方法

1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...

VMware 仮想マシンのインストール Apple Mac OS の超詳細なチュートリアル

目次要約する仕事の都合で Apple の Mac OS に対応するソフトウェアをインストールする必要...

Vueのref属性の詳細な説明

要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

emとは?emとpxの紹介と変換方法

それは何ですか? em はフォントの高さを指し、どのブラウザでもデフォルトのフォントの高さは 16 ...

バッチファイルを処理するLinuxの1行コマンドの詳細な説明

序文最良の方法は、あなたが思いつく最も速い方法ではないかもしれません。職場で一時的に使用するスクリプ...

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...

docker ベースで Prometheus+Grafana を構築する手順の詳細説明

1. プロメテウスの紹介Prometheus は、もともと SoundCloud によって開発された...

JavaScript オブジェクト指向の実践の詳細説明: カプセル化とオブジェクトのドラッグ

目次概要1. DOM要素をアニメーション化する方法2. 現在のブラウザでサポートされている変換互換の...

Node.js管理ツールnvmの詳細なインストール手順

いいえnvmはnodejsの複数のバージョンを管理する役割を担っています。インストール: https...

MySQL の冗長インデックスと重複インデックスの詳細な説明

MySQL では、同じ列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、MyS...

Centos7 に mysql と mysqlclient をインストールする際に遭遇する落とし穴の概要

1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...