Maison > interface Web > tutoriel CSS > Pourquoi Chrome et Firefox affichent-ils les hauteurs différemment pour les valeurs de pourcentage et « Auto » ?

Pourquoi Chrome et Firefox affichent-ils les hauteurs différemment pour les valeurs de pourcentage et « Auto » ?

Barbara Streisand
Libérer: 2024-12-22 16:05:11
original
338 Les gens l'ont consulté

Why Do Chrome and Firefox Render Heights Differently for Percentage and

Les hauteurs s'affichent différemment dans Chrome et Firefox

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.

Pourquoi « hauteur : 1 % » est calculé sur Auto

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.

Hauteur flexible du parent

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.

Interprétation du navigateur

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.

Solutions alternatives

Pour garantir un rendu cohérent des hauteurs dans tous les navigateurs, envisagez ces alternatives :

  • Utilisez display : flex sur le parent et align-items : étirer sur l'enfant pour régler la taille de l'enfant à la hauteur totale du parent.
  • Appliquer position : absolue avec hauteur : 100% et largeur : 100% sur l'enfant tout en mettant la position : relative sur le parent.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal