En CSS, définir la hauteur d'un élément de niveau bloc sur un pourcentage ou "auto" sans spécifier la hauteur de l'élément parent peut conduire à des calculs de hauteur variables selon les navigateurs. Chrome et Firefox, par exemple, présentent des comportements différents.
Dans votre exemple avec hauteur : 1 %, Chrome calcule la hauteur du div comme la marge inférieure plus la hauteur du contenu de l'élément p. En effet, selon la spécification CSS, lorsque la hauteur du parent n'est pas explicitement définie et que l'élément n'est pas positionné de manière absolue, "auto" est calculé pour les pourcentages.
Une autre la différence entre Chrome et Firefox réside dans leur gestion des pourcentages de hauteur dans flexbox. Chrome et Safari donnent la priorité à la hauteur de flexion du parent, tandis que Firefox et IE11/Edge donnent la priorité à la taille globale du parent.
Le langage de la spécification CSS concernant les pourcentages de hauteur est quelque peu vague, laissant place à l'interprétation par les créateurs de navigateurs. Les interprétations traditionnelles nécessitent une valeur de hauteur définie sur le parent, qui est suivie par des navigateurs comme Chrome et Safari. Cependant, Firefox et IE ont élargi cette interprétation pour inclure les hauteurs flexibles.
Pour garantir un rendu cohérent des hauteurs dans tous les navigateurs, envisagez ces alternatives :
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!