検索
ホームページウェブフロントエンドhtmlチュートリアルCSS2 シリーズ: Margincollapse_html/css_WEB-ITnose

マージンマージ

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 までご連絡ください。
    HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

    HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

    HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

    htmlisaspecifictypeofcodefocuseduructuringwebcontent

    HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

    HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

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

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

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

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

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

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

    CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?Apr 05, 2025 pm 01:24 PM

    メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...

    オンラインコードエディターはコード入力を実装するためにどのようなHTML要素を使用していますか?オンラインコードエディターはコード入力を実装するためにどのようなHTML要素を使用していますか?Apr 05, 2025 pm 01:21 PM

    WebコードエディターのHTML要素分析では、多くのオンラインコードエディターを使用すると、ユーザーはHTML、CSS、およびJavaScriptコードを入力できます。最近、誰かが提案した...

    See all articles

    ホット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ヘンタイを無料で生成します。

    ホットツール

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    SublimeText3 英語版

    SublimeText3 英語版

    推奨: Win バージョン、コードプロンプトをサポート!