Maison >interface Web >tutoriel CSS >Pourquoi les éléments fixes peuvent-ils être affectés par des frères et sœurs non positionnés ?
Comprendre le comportement des éléments fixes : pourquoi ils peuvent être affectés par des frères et sœurs non positionnés
Dans le domaine du positionnement CSS, il apparaît on se demande pourquoi un élément avec position:fixe peut être influencé par un élément frère non positionné. Cependant, comprendre les mécanismes sous-jacents révèle une explication logique.
Un élément avec position:fixed est supprimé du flux de documents normal et positionné par rapport à la fenêtre d'affichage du navigateur. La fenêtre d'affichage est la zone visible de la page Web dans la fenêtre du navigateur.
Dans l'exemple que vous avez fourni, l'élément d'en-tête est fixe, tandis que l'élément principal a une marge supérieure : 90 px. Étonnamment, l'en-tête se déplace vers le bas comme s'il était affecté par la marge.
Pour comprendre ce comportement, nous devons considérer le rôle de l'effondrement de la marge CSS. Lorsque deux éléments avec marges se touchent, leurs marges fusionnent en une seule marge. Dans ce cas, l'élément body (le parent de l'élément principal) a une marge par défaut de 8px. Lorsque la marge supérieure de l'élément principal de 90 px est appliquée, un effondrement de la marge se produit, ce qui donne une marge combinée de 98 px.
Cette marge combinée décale à la fois le corps et les éléments principaux vers le bas de 98 px. Étant donné que l'en-tête est fixe par rapport à la fenêtre, il se déplace avec la fenêtre, qui est calculée en fonction des éléments du flux de documents. Comme l'élément principal est le premier élément entrant, sa marge affecte le calcul de la fenêtre d'affichage, faisant apparaître l'en-tête vers le bas.
En substance, la position de l'en-tête fixe n'est pas directement impactée par le non -frère positionné en termes de positionnement physique. Cependant, la marge du frère affecte le calcul de la fenêtre d'affichage, influençant indirectement le mouvement apparent de l'en-tête.
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!