Maison  >  Article  >  interface Web  >  Pourquoi `margin-top: -8px` se déplace-t-il vers le haut alors que `margin-bottom: 8px` se déplace vers le bas ?

Pourquoi `margin-top: -8px` se déplace-t-il vers le haut alors que `margin-bottom: 8px` se déplace vers le bas ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-09 03:38:02428parcourir

Why Does `margin-top: -8px` Shift Up While `margin-bottom: 8px` Shifts Down?

Fonctionnement des marges CSS négatives et distinction entre les marges supérieure et inférieure

En CSS, les marges négatives sont utilisées pour créer des effets visuels en modifiant la position des éléments. Lorsqu'elles sont appliquées à la marge supérieure, les valeurs négatives créent un décalage vers le haut, tandis que les marges inférieures négatives poussent les éléments vers le bas.

Prenons l'exemple :

.item {
    position:absolute;
    top:50%;
    margin-top:-8px; /* half of height */
    height: 16px;
}

Ici, la valeur de marge supérieure négative de -8px décale l'élément vers le haut de la moitié de sa hauteur. Ceci est réalisé en étendant la zone de marge (espacement invisible entourant l'élément) au-dessus du bord de la zone de contenu (zone visible).

Pourquoi margin-top:-8px ≠ margin-bottom:8px ?

Bien qu'apparemment similaires, margin-top:-8px et margin-bottom:8px diffèrent dans leurs effets. Tandis que le premier déplace l’élément vers le haut, le second le pousse vers le bas. Cette différence provient de l'emplacement du point d'ancrage des marges.

En CSS, toutes les marges sont ancrées au bord du cadre de délimitation du bloc conteneur. Pour un élément positionné, le bloc conteneur est le parent de l'élément. Lors de l'utilisation de margin-top, le point d'ancrage se trouve sur le bord supérieur du cadre de délimitation du parent. Ainsi, les valeurs négatives déplacent l'élément au-dessus de ce point.

À l'inverse, margin-bottom ancre l'élément au bord inférieur du bloc conteneur. En conséquence, les marges inférieures négatives déplacent l'élément vers le bas au lieu de le pousser vers le haut.

Compréhension intuitive

Les marges supérieures négatives réduisent efficacement la hauteur de la zone de marge, créant ainsi l'illusion que l'élément s'est déplacé vers le haut. Les marges inférieures négatives, en revanche, augmentent la hauteur de la zone de marge, donnant l'impression que l'élément s'est déplacé vers le bas.

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:
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