Table des matières
1. Quels éléments auront un problème de chevauchement des marges ?
3 Comment calculer le chevauchement de marge
Maison interface Web tutoriel CSS Problème de chevauchement de la marge extérieure div et solution

Problème de chevauchement de la marge extérieure div et solution

Aug 03, 2022 am 10:46 AM
css

Cet article vous apporte des connaissances pertinentes sur css. Il présente principalement comment résoudre les problèmes liés au chevauchement des marges div. Le chevauchement des marges ne se produit qu'entre les marges supérieure et inférieure des documents de flux ordinaires. , tandis que les éléments en ligne et les éléments de bloc en ligne n'auront pas de marges qui se chevauchent. Examinons-les ensemble, j'espère que cela sera utile à tout le monde.

Problème de chevauchement de la marge extérieure div et solution

(Partage vidéo d'apprentissage : Tutoriel vidéo CSS, Tutoriel vidéo HTML)

Chevauchement de la marge CSS (effondrement de la marge)

La marge supérieure (marge-haut) et la marge inférieure du bloc Marge -bottom fusionne (s'effondre) parfois en une seule marge dont la taille est le maximum de la marge unique (ou de l'une d'entre elles si elles sont égales), un comportement appelé effondrement de la marge.

Le chevauchement des bordures signifie que les bordures adjacentes (sans contenu non vide, remplissage ou bordures entre elles) de deux ou plusieurs cases (qui peuvent être adjacentes ou imbriquées) se chevauchent pour former une seule bordure.

En d'autres termes, le chevauchement des marges fait référence à deux éléments de niveau bloc verticalement adjacents. Lorsque les marges supérieure et inférieure se rencontrent, les marges extérieures se chevauchent et les marges qui se chevauchent sont égales à la plus grande d'entre elles.

Méthode de calcul du chevauchement des valeurs de marge :

  • Les valeurs de marge sont toutes deux positives, prenez la valeur maximale des deux.

  • Lorsqu'une limite négative apparaît, soustrayez la limite négative avec la plus grande valeur absolue de la plus grande limite positive.

  • S'il n'y a pas de limite positive, la limite négative avec la plus grande valeur absolue est soustraite de zéro.

1. Quels éléments auront un problème de chevauchement des marges ?

les marges qui se chevauchent ne se produisent qu'entre les marges supérieure et inférieure des documents de flux ordinaires. et Les éléments de bloc en ligne n'auront pas de problèmes de chevauchement de margeDeuxièmement, dans quelles circonstances le chevauchement de marge se produira-t-il ?

La première situation :

Marin des éléments frères adjacents -Les valeurs​​de chevauchement du bas et de la marge supérieure Lorsque la bordure se chevauche, seule la plage de bordure maximale sera sélectionnée et laissée, donc la marge entre les deux est de 100 px Si vous devez résoudre ce problème de chevauchement de bordure, vous devez le faire plus tard Ajoutez float à un élément ou mettez un div sur l'un de ses frères, définissez border: 1px solid white;

<div id="box1"></div>
<div id="box2"></div>
 
#box1{
     width: 200px;
     height: 200px;
     background: lemonchiffon;
     margin-bottom: 50px;
     margin-top: 50px;
 }
 #box2{
     width: 200px;
     height: 200px;
     background: lightcoral;
     margin-top:100px ;
     opacity: 0.3;
     float: left;   //加上float后,两者间距为150px
 }
Copier après la connexion


Deuxième cas : Fusionner les marges du parent et du premier/dernier élément enfant

<div id="box1">
   <div id="box3"></div>
</div>
#box1{
     width: 200px;
     height: 200px;
     background: lemonchiffon;
     margin-top: 50px;
 }
 #box3 {
   width: 100px;
   height: 100px;
   background-color: #f12416;
   margin-top: 50px;
 }
Copier après la connexion
Le L'effet de l'exemple est le suivant :

Lorsque la marge supérieure de l'élément parent et de l'élément enfant est définie sur 50 px, l'élément parent et l'élément enfant sont tous deux à 50 px de la bordure, au lieu de Distance de 50 px entre l'élément enfant et l'élément parent comme nous le pensons.

Lorsque l'élément parent ne définit pas de marge supérieure et que l'élément enfant définit la marge supérieure à 50 px, les éléments parent et enfant sont toujours à 50 px du haut

Solution :

Méthode 1 : Ajouter un débordement : caché à l'élément parent ;

Cette méthode résout notre problème de chevauchement de marge, mais cette méthode ne s'applique qu'à "La hauteur de l'élément enfant plus la hauteur de la marge est inférieure à la hauteur de l'élément parent (childHeight +margin-top< ;parentHeight)"

, sinon la partie de l'élément enfant Le contenu sera masqué

Méthode 2 : Ajouter une bordure à l'élément parent (vous pouvez ajouter une bordure transparente)

Méthode 3 : Définir l'affichage : inline-block ;

Étant donné que seuls les éléments de bloc auront des marges qui se chevauchent, nous en faisons donc un élément de bloc non pas et le définissons sur un élément de bloc en ligne

Méthode 4 : Définir le flotteur sur le parent ou l'enfant

Méthode 5 : Définir float au parent ou à l'enfant Position de réglage de l'enfant : absolue ;

Méthode 6 : Ajouter un padding

#box1{
     width: 200px;
     height: 200px;
     background: lemonchiffon;
     margin-top: 50px;
     /*overflow:hidden;*/
     /*border: 1px solid #00000000;*/
     /*display: inline-block;*/
     /*float:left;*/
     /*position: absolute*/
     /*padding: 10px;*/
 }
 #box3 {
        width: 100px;
        height: 100px;
        background-color: #f12416;
        margin-top: 50px;
        /*display: inline-block;*/
        /*float:left;*/
        /*position: absolute*/
    }
Copier après la connexion
à l'élément parent Le troisième cas : L'élément vide au niveau du bloc

possède sa propre marge supérieure et la marge et le bas se chevauchent. Nous pouvons résoudre ce problème en définissant une bordure, un pa dding ou une hauteur.

  <div id="box1"></div>
  <div id="box2"></div>
  <div id="box3"></div>
  <style>
 #box1{
      width: 200px; height:200px;
      background:lightseagreen;
      margin-bottom:50px ;
    } 
    #box2{
      margin-top: 20px;
      margin-bottom:20px ;
      border: 1px solid salmon; //加了border或padding后,与上下两个元素的间距分别为50px和100px,没加之前,上下两个元素的间距为100px
      /*padding: 1px; */
    }
    #box3{
      width: 200px; height:200px;
      background:darkgoldenrod;
      margin-top:100px ;
    }
Copier après la connexion

Après l'ajout d'une bordure ou d'un remplissage, la distance entre les éléments supérieur et inférieur est respectivement de 50px et 100px. Avant de l'ajouter, la distance entre les éléments supérieur et inférieur était de 100px

Le quatrième cas : la hauteur de l'élément parent. de auto Le margin-bottom chevauche le margin-bottom de l'élément enfant

L'élément parent définit border-bottom et padding-bottom pour les séparer, ou cela peut être

Définissez une hauteur pour l'élément parent, max-height et min-height peuvent également résoudre ce problème

3 Comment calculer le chevauchement de marge

  • Si toutes sont des valeurs positives, prenez la plus grande ;

  • .

    Si ce ne sont pas toutes des valeurs positives, prenez la valeur absolue, puis soustrayez la valeur maximale de la valeur positive

  • S'il n'y a pas de valeur positive, prenez la valeur absolue, puis soustrayez la valeur maximale de 0 ;

(Partage vidéo d'apprentissage : tutoriel vidéo CSS, tutoriel vidéo HTML)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

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é.

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.

Comment écrire des lignes fendues sur bootstrap Comment écrire des lignes fendues sur bootstrap Apr 07, 2025 pm 03:12 PM

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Comment configurer le cadre de bootstrap Comment configurer le cadre de bootstrap Apr 07, 2025 pm 03:27 PM

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

See all articles