"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 > Pourquoi Overflow-Y ne fonctionne-t-il pas comme prévu dans Firefox avec les éléments Flexbox imbriqués ?

Pourquoi Overflow-Y ne fonctionne-t-il pas comme prévu dans Firefox avec les éléments Flexbox imbriqués ?

Publié le 2024-11-05
Parcourir:368

Why Does Overflow-Y Not Function As Expected in Firefox with Nested Flexbox Elements?

Problème de débordement Flexbox-Y avec les éléments imbriqués dans Firefox

Dans une mise en page CSS utilisant flexbox, où les éléments imbriqués sont contenus dans une flexbox parent élément, overflow-y peut ne pas fonctionner comme prévu dans Firefox. Ce problème survient spécifiquement lorsque l'élément imbriqué reçoit une propriété overflow-y de auto.

Explication du problème :

Les éléments Flexbox calculent automatiquement leur taille minimale en fonction de la taille intrinsèque. taille de leurs éléments enfants. Cependant, lorsqu'il y a des éléments enfants avec des propriétés de débordement appliquées, telles que overflow-y, l'élément flexible conservera une taille minimale équivalente au contenu de l'enfant, même s'il dépasse l'espace disponible.

Solution :

Pour résoudre ce problème dans Firefox, il est nécessaire de définir explicitement la propriété min-height de l'élément flexible parent sur 0. Cela désactive le comportement de taille minimale par défaut et permet à l'élément flexible de se réduire. en dessous de la taille minimale du contenu de l'enfant.

.parent-flex-item {
  min-height: 0;
}

En appliquant ce correctif, l'élément imbriqué avec overflow-y: auto pourra désormais réduire et afficher une barre de défilement lorsque son contenu dépasse la hauteur disponible.

Exemple de code :

Considérez le code HTML et CSS suivant :

This is a long text that exceeds the available height.

.parent-flex-item {
  display: flex;
  flex-direction: column;
  height: 100px;
  min-height: 0;
}

.nested-element {
  overflow-y: auto;
}

Avec ce code, l'élément imbriqué aura une barre de défilement dans Firefox, permettant aux utilisateurs de visualiser le contenu débordé.

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