Table des matières
外边距合并
解释
极限情况一个元素
例子1包含关系,不设置外层div的内边距(补白)和边框的前提!
例子2兄弟关系
例子3本身合并``它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:
例子3调试注意
例子3Question!!求答案,想了一下午。
不能产生折叠边距的情况
Maison interface Web tutoriel HTML CSS2系列:外边距合并问题(margincollapse)_html/css_WEB-ITnose

CSS2系列:外边距合并问题(margincollapse)_html/css_WEB-ITnose

Jun 24, 2016 am 11:23 AM

外边距合并

当两个垂直方向外边距相遇,它们将形成一个折叠外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
为了好认识,我们称内部div为"盒子",包含这个内部div的外部div为"包含体"

解释

  • 怎么相遇:
  • 相邻的两个盒子(可能是兄弟关系也可能是包含关系)这两个元素margin之间不能夹杂着边框啊,补白啊什么的就算margin相遇,这点很重要
  • 哪个方向
  • 一定为垂直方向,水平方向没有
  • 形成一个折叠外边距过程
    1. 盒子margintop和包含体margintop取出最终折叠外边距值。下面为取这个值的情况 150 50=150 150 -50=100 -150 -50 =-150 -150 50 =-100
    2. 两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值。可以在下面例子2中,改变一下
    3. 两个相邻的外边距都是负数时,折叠结果是两者绝对值的较大值。
    4. 两个外边距一正一负时,折叠结果是两者的相加的和。
    5. 包含关系时,盒子不显示margin-top(相当没有margin-top),包含体显示margin-top这个最终值。
    6. 兄弟关系时,两兄弟之间的margin共用这个最终值。
  • 极限情况一个元素

  • 当一个块元素,没有补白和填充,上外边距与下外边距就碰到了一起,它们也会发生合并。
  • 例子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>
    Copier après la connexion

    <div id="outer">  <div id="inner">  </div></div><!--不设置 div 的内边距和边框,那么内部 div 的上外边距将与外部 div 的上外边距合并(叠加),内部div箱单更木有margin-top。外部用这个最大值。-->
    Copier après la connexion

    例子2兄弟关系

    * {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;}
    Copier après la connexion
    <div id="d1"></div><div id="d2"></div><!--两个 div 之间的外边距是 50px,并不是 60px(50px + 10px)。-->
    Copier après la connexion

    例子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;试一试将这个盒子边框加上,是不是还能合并。答案不能!*/
    Copier après la connexion
    <div id="d1">    <div id="d2"></div></div>
    Copier après la connexion


    从图中可以看到这个红色边框包裹的高度是150px,不是200px。包含体本身木有高度,随着盒子的最后得到的折叠margin自动撑开。

    例子3调试注意

    但是在浏览器调试的时候,监视盒子的时候,并不是给我们显示折叠margin值。而是显示这个盒子的设定值。这点不要影响,最终的折叠margin值的肯定。

    例子3Question!!求答案,想了一下午。

    减轻上面的影响请试一试一下代码

    * {margin:0; padding:0;border:0;}#d2 {height:0px;min-height:0px;margin-top:50px;margin-bottom:150px;}<div id="d2"></div>
    Copier après la connexion

    从上面注意我们知道:调试的时候选中这个元素,显示200px是正常的,但是这个元素距离浏览器上面100px,这个我真不能理解。

    不能产生折叠边距的情况

  • BFC元素不会与兄弟,包含元素产生折叠边距。那么什么是BFC呢?敬请关注我的下一篇文章。
  • Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Sujets chauds

    Tutoriel Java
    1662
    14
    Tutoriel PHP
    1262
    29
    Tutoriel C#
    1235
    24
    Comprendre HTML, CSS et JavaScript: un guide pour débutant Comprendre HTML, CSS et JavaScript: un guide pour débutant Apr 12, 2025 am 12:02 AM

    WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

    Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

    HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

    HTML, CSS et JavaScript: outils essentiels pour les développeurs Web HTML, CSS et JavaScript: outils essentiels pour les développeurs Web Apr 09, 2025 am 12:12 AM

    HTML, CSS et JavaScript sont les trois piliers du développement Web. 1. HTML définit la structure de la page Web et utilise des balises telles que, etc. 2. CSS contrôle le style de page Web, en utilisant des sélecteurs et des attributs tels que la couleur, la taille de la police, etc. 3. JavaScript réalise les effets dynamiques et l'interaction, par la surveillance des événements et les opérations DOM.

    HTML: The Structure, CSS: The Style, Javascript: Le comportement HTML: The Structure, CSS: The Style, Javascript: Le comportement Apr 18, 2025 am 12:09 AM

    Les rôles de HTML, CSS et JavaScript dans le développement Web sont: 1. HTML définit la structure de la page Web, 2. CSS contrôle le style de page Web, et 3. JavaScript ajoute un comportement dynamique. Ensemble, ils construisent le cadre, l'esthétique et l'interactivité des sites Web modernes.

    L'avenir de HTML: évolution et tendances de la conception Web L'avenir de HTML: évolution et tendances de la conception Web Apr 17, 2025 am 12:12 AM

    L'avenir de HTML est plein de possibilités infinies. 1) Les nouvelles fonctionnalités et normes comprendront plus de balises sémantiques et la popularité des composants Web. 2) La tendance de la conception Web continuera de se développer vers une conception réactive et accessible. 3) L'optimisation des performances améliorera l'expérience utilisateur grâce à des technologies de chargement d'image réactives et de chargement paresseux.

    L'avenir de HTML, CSS et JavaScript: Tendances de développement Web L'avenir de HTML, CSS et JavaScript: Tendances de développement Web Apr 19, 2025 am 12:02 AM

    Les tendances futures de HTML sont la sémantique et les composants Web, les tendances futures de CSS sont CSS-in-JS et CSShoudini, et les tendances futures de JavaScript sont WebAssembly et sans serveur. 1. La sémantique HTML améliore l'accessibilité et les effets de référencement, et les composants Web améliorent l'efficacité du développement, mais l'attention doit être accordée à la compatibilité du navigateur. 2. CSS-in-JS améliore la flexibilité de gestion du style mais peut augmenter la taille du fichier. CSShoudini permet le fonctionnement direct du rendu CSS. 3.WeBassembly optimise les performances de l'application du navigateur mais a une courbe d'apprentissage abrupte, et sans serveur simplifie le développement mais nécessite une optimisation des problèmes de démarrage à froid.

    HTML vs CSS vs JavaScript: un aperçu comparatif HTML vs CSS vs JavaScript: un aperçu comparatif Apr 16, 2025 am 12:04 AM

    Les rôles de HTML, CSS et JavaScript dans le développement Web sont: HTML est responsable de la structure du contenu, CSS est responsable du style et JavaScript est responsable du comportement dynamique. 1. HTML définit la structure et le contenu de la page Web via des balises pour assurer la sémantique. 2. CSS contrôle le style de page Web via des sélecteurs et des attributs pour le rendre beau et facile à lire. 3. JavaScript contrôle le comportement de la page Web via les scripts pour atteindre des fonctions dynamiques et interactives.

    HTML: construire la structure des pages Web HTML: construire la structure des pages Web Apr 14, 2025 am 12:14 AM

    HTML est la pierre angulaire de la construction de la structure des pages Web. 1. HTML définit la structure et la sémantique du contenu et les utilisations, etc. Tags. 2. Fournir des marqueurs sémantiques, tels que, etc., pour améliorer l'effet SEO. 3. Pour réaliser l'interaction de l'utilisateur via des balises, faites attention à la vérification de la forme. 4. Utilisez des éléments avancés tels que, combinés avec JavaScript pour obtenir des effets dynamiques. 5. Les erreurs courantes incluent des étiquettes non clôturées et des valeurs d'attribut non déposées et des outils de vérification sont nécessaires. 6. Les stratégies d'optimisation comprennent la réduction des demandes HTTP, la compression du HTML, l'utilisation de balises sémantiques, etc.

    See all articles