"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Positionnement absolu ou relatif : pourquoi se comportent-ils si différemment ?

Positionnement absolu ou relatif : pourquoi se comportent-ils si différemment ?

Publié le 2024-11-06
Parcourir:446

 Absolute vs. Relative Positioning: Why Do They Behave So Differently?

Comprendre la position absolue et relative : largeur, hauteur, etc.

Lorsque vous traitez des éléments de positionnement sur une page Web, comprendre les concepts de la position absolue par rapport à la position relative est cruciale. Examinons quatre points clés qui soulèvent souvent des questions :

1. Largeur relative ou absolue

Pourquoi un div positionné relativement occupe-t-il automatiquement 100 % de la largeur, alors qu'un div positionné de manière absolue ne prend que la largeur du contenu ?

La raison est que la définition de la position :absolute supprime l'élément du flux normal de la structure du document. Sans définir explicitement une largeur, le navigateur ne peut pas déterminer la largeur du div positionné de manière absolue. Pour obtenir une largeur de 100 %, définissez explicitement width:100%.

2. Hauteur et position relative

Pourquoi définir la hauteur à 100 % n'a-t-il aucun effet sur le div positionné de manière relative, alors que le div positionné de manière absolue occupe 100 % de la hauteur ?

Un élément avec position :relative se comporte de la même manière qu'un élément avec position:static en termes de hauteur. Ainsi, la définition de height:100% n'aura aucun effet sauf si l'élément parent a une hauteur définie. En revanche, les éléments positionnés de manière absolue sont supprimés du flux de documents et ajustent leur hauteur en fonction de la hauteur de l'élément qui les contient.

3. Margin-Top et Shifting

Pourquoi margin-top:30px décale-t-il le div en position absolue, mais seul le div en position relative se décale lorsque top:30px est utilisé ?

C'est probable liés aux éléments parents de votre structure HTML. Sans fournir le code HTML et CSS complet, il est difficile d'identifier la cause exacte.

4. Position absolue sans haut ni gauche

Si vous ne spécifiez pas top:0 et left:0 pour un div en position absolue, pourquoi occupe-t-il l'espace au-dessus du div qui le précède ?

Les paramètres par défaut pour les propriétés supérieure et gauche sont automatiques. Cela signifie que le navigateur calcule automatiquement ces valeurs en fonction de l'endroit où se trouverait l'élément s'il n'avait pas position:absolute. Par conséquent, le div en position absolue apparaîtra au-dessus du div précédent sans définir explicitement sa position.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3