Maison > interface Web > tutoriel CSS > Pourquoi le pourcentage de hauteur ne fonctionne-t-il pas comme prévu dans les colonnes Flexbox ?

Pourquoi le pourcentage de hauteur ne fonctionne-t-il pas comme prévu dans les colonnes Flexbox ?

Mary-Kate Olsen
Libérer: 2024-11-09 00:06:02
original
402 Les gens l'ont consulté

Why Doesn't Percentage Height Work as Expected in Flexbox Columns?

Problèmes de hauteur en pourcentage dans les colonnes Flexbox

Dans les mises en page flexbox, il est souvent souhaité que les enfants d'une colonne flexbox remplissent leur hauteur. Cependant, les utilisateurs peuvent rencontrer des problèmes où la définition de la hauteur en pourcentages ne donne pas le résultat attendu.

Explication

Selon la spécification flexbox, la propriété cross-size d'un élément (hauteur, dans ce cas) utilise une valeur spécifiée et une valeur utilisée. Les hauteurs en pourcentage sont calculées en fonction de la taille spécifiée du parent, et non de la hauteur utilisée.

Solution

Pour résoudre ce problème dans Chrome :

  1. Définissez le conteneur parent (.flex) pour afficher : flex.
  2. Supprimez la hauteur : 100 % ; règle de l'élément enfant (.flex-child).

Exemple :

.flexbox {
  position: absolute;
  background: black;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.flex {
  background: blue;
  flex: 1;
  display: flex; /* Added */
}

.flex-child {
  background: red;
  width: 100%; /* Removed height: 100%; */
  display: block;
}
Copier après la connexion

Approche alternative pour le remplissage partiel

Dans les cas où le remplissage d'une seule partie du conteneur parent est souhaité, un enfant flexible supplémentaire (.spacer) peut être ajouté pour occuper l'espace restant.

.flex-child {
  flex: 9;
}

.spacer {
  flex: 1;
}
Copier après la connexion

Conclusion

En comprenant la différence entre les valeurs spécifiées et utilisées, les développeurs peuvent surmonter les problèmes de hauteur de pourcentage dans les colonnes flexbox. Bien qu'une solution de contournement spécifique au navigateur puisse être nécessaire dans certains cas, il est prévu que les mises à jour des spécifications résolvent ces limitations à l'avenir.

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