目次
マージンマージ
説明
1つの要素の究極のケース
例 1 には、外側の div の内側のマージン (パディング) と境界線を設定せずに、リレーションシップが含まれています。
例 2 Brotherhood
例 3 自体をマージします `` マージンはありますが、境界線やパディングはありません。この場合、上のマージンと下のマージンが一緒になり、マージされます:
例 3 のデバッグに関する注意点
例 3 質問!! 答えを探して、午後ずっと考えていました。
折りマージンを生成できません
ホームページ ウェブフロントエンド htmlチュートリアル CSS2 シリーズ: Margincollapse_html/css_WEB-ITnose

CSS2 シリーズ: Margincollapse_html/css_WEB-ITnose

Jun 24, 2016 am 11:23 AM

マージンマージ

2 つの垂直マージンが交わると、折りたたまれたマージンが形成されます。

結合されたマージンの高さは、結合された 2 つのマージンの高さのうち大きい方と等しくなります。
理解しやすいように、内側の div を「ボックス」と呼び、この内側の div を含む外側の div を「インクルージョン」と呼びます

説明

  • 出会う方法:
  • 2 つの隣接するボックス (おそらくそれらは兄弟またはおそらく包含関係です) これら 2 つの要素のマージンをボーダーやパディングなどと混合することはできません。マージンが一致する場合でも、これは非常に重要です
  • どの方向
  • 水平方向ではなく垂直方向である必要があります方向
  • 折りマージンを形成する処理
    1. ボックスのmargintopとそれを含むボディのmargintopで最終的な折りマー​​ジンの値を取り出します。この値をとった場合は以下のようになります 150 50=150 150 -50=100 -150 -50 =-150 -150 50 =-100
    2. 隣接する2つのマージンが正の数の場合、折り畳んだ結果はどちらか大きい値になります。以下の例 2 でこれを変更できます:
    3. 2 つの隣接するマージンが両方とも負の場合、折り畳まれた結果は 2 つの絶対値のうち大きい方になります。
    4. 2 つのマージンが 1 つが正、もう 1 つが負の場合、折り畳まれた結果は 2 つの合計になります。
    5. リレーションシップが含まれる場合、ボックスには margin-top が表示されず (margin-top がない)、包含本体には margin-top の最終値が表示されます。
    6. 兄弟関係がある場合、2 人の兄弟間のマージンはこの最終値を共有します。
  • 1つの要素の究極のケース

  • ブロック要素にパディングやパディングがない場合、上マージンと下マージンが互いに接触し、それらもマージされます。
  • 例 1 には、外側の div の内側のマージン (パディング) と境界線を設定せずに、リレーションシップが含まれています。

    <meta charset="utf-8"><style type="text/css">            * {margin:0;padding:0;border:0;}            #outer {width:200px;height:200px;background-color:red;margin-top:-20px;}            #inner {width:50px;height:50px;background-color:blue;margin-top:50px;}</style>
    ログイン後にコピー

    <div id="outer">  <div id="inner">  </div></div><!--不设置 div 的内边距和边框,那么内部 div 的上外边距将与外部 div 的上外边距合并(叠加),内部div箱单更木有margin-top。外部用这个最大值。-->
    ログイン後にコピー

    例 2 Brotherhood

    * {margin:0; padding:0;border:0;}#d1 {width:100px;height:100px;margin-top:50px;margin-bottom:50px;background-color:red;}/*改变margin-bottom:-50px;试一试*/#d2 {width:100px;height:100px;margin-top:10px;background-color:blue;}
    ログイン後にコピー
    <div id="d1"></div><div id="d2"></div><!--两个 div 之间的外边距是 50px,并不是 60px(50px + 10px)。-->
    ログイン後にコピー

    例 3 自体をマージします `` マージンはありますが、境界線やパディングはありません。この場合、上のマージンと下のマージンが一緒になり、マージされます:

    * {margin:0; padding:0;border:0;}#d1{border: 1px solid red;width: 200px;}#d2 {height:0px;min-height:0px;margin-top:50px;margin-bottom:150px;}/*border: 1px solid red;试一试将这个盒子边框加上,是不是还能合并。答案不能!*/
    ログイン後にコピー
    <div id="d1">    <div id="d2"></div></div>
    ログイン後にコピー


    写真から、赤い枠線のパッケージの高さが 200px ではなく 150px であることがわかります。含まれているボディ自体には高さがなく、ボックスの最後に折り畳まれたマージンに合わせて自動的に拡張されます。

    例 3 のデバッグに関する注意点

    しかし、ブラウザをデバッグしてボックスを監視する場合、折り畳まれたマージンの値は表示されません。代わりに、このボックスの設定値が表示されます。これは、最終的な折り代の値には影響しません。

    例 3 質問!! 答えを探して、午後ずっと考えていました。

    上記の影響を軽減するには、コードを試してください

    * {margin:0; padding:0;border:0;}#d2 {height:0px;min-height:0px;margin-top:50px;margin-bottom:150px;}<div id="d2"></div>
    ログイン後にコピー

    上記のメモから、デバッグ時にこの要素を選択して 200 ピクセルを表示するのが通常ですが、この要素はブラウザーから 100 ピクセル離れていることがわかります。本当にこれは理解できません。

    折りマージンを生成できません

  • BFC 要素は、兄弟要素や包含要素に対して折りマージンを生成しません。それで、BFCとは何ですか?次回の記事もお楽しみに。
  • このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    &lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

    この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

    &lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

    この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

    &lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

    この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

    ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

    この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

    &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

    この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

    HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

    HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

    HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

    HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

    HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

    Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

    See all articles