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 で href を使用します。

今日、新しい技を学びました。あまりやったことがなかったので、今まで知りませんでした...目的: リン...

CentOS に Nginx をインストールする方法

公式ドキュメント: https://nginx.org/en/linux_packages.html...

Vueがsweetalert2プロンプトコンポーネントを統合する際の問題についてお話ししましょう

目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...

MySQL スロークエリログの設定と使用方法のチュートリアル

序文MySQL スロー クエリ ログは、日常業務でよく遭遇する機能です。MySQL スロー クエリ ...

MySql Installer 8.0.18 画像とテキストによるビジュアル インストール チュートリアル

目次1. MySQL 8.0.18のインストール2. 環境変数を設定する3. 接続テスト1. MyS...

LeetCode の SQL 実装 (178. スコアランキング)

[LeetCode] 178.ランクスコアスコアをランク付けする SQL クエリを記述します。2 ...

MySQL 学習 (VII): Innodb ストレージ エンジン インデックスの実装原理の詳細説明

概要データベースでは、ツリー ディレクトリと同様に、インデックスを使用してデータ検索を高速化します。...

Nginx で limit_req_zone を使用して同じ IP へのアクセスを制限する方法

Nginx は、ngx_http_limit_req_module モジュールの limit_req...

Linux での Tomcat8 のインストールとアンインストールに関する詳細なグラフィック チュートリアル

[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...

写真とテキストによる MySQL 8.0.11 インストール チュートリアル

インターネット上には多くのチュートリアルがありますが、基本的には同じです。ただし、細かい原因でソフト...

シンプルなHTMLとCSSの使い方の詳細な説明

HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...

CSS3 タブアニメーションの例 背景切り替えの動的効果

CSS 3 アニメーションの例 - タブの背景切り替えの動的効果、具体的なコードは次のとおりです。 ...

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...