Maison  >  Article  >  interface Web  >  Pourquoi « overflow-y » ne fonctionne-t-il pas avec la flexbox imbriquée dans Firefox ?

Pourquoi « overflow-y » ne fonctionne-t-il pas avec la flexbox imbriquée dans Firefox ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 04:28:02806parcourir

Why is `overflow-y` not working with nested flexbox in Firefox?

Firefox overflow-y ne fonctionne pas avec Nested Flexbox

Dans CSS3 flexbox, un problème survient dans Firefox lorsque overflow-y est appliqué à un élément flexible imbriqué. Cela empêche l'élément flex de défiler verticalement, comme le montre ce CodePen : http://codepen.io/anon/pen/NPYVga.

Explication détaillée :

Par défaut, les éléments flexibles établissent une taille minimale basée sur la taille intrinsèque de leurs enfants. Lorsqu'un élément avec débordement : [hidden|scroll|auto] est contenu dans un élément flexible, l'élément flexible refuse systématiquement de se réduire à une taille inférieure à la taille minimale du contenu de l'enfant.

Solution :

Pour résoudre ce problème, attribuez min-height:0 à l'élément flexible ancêtre (.level-0-row2 dans le code fourni). Cela désactive le comportement de dimensionnement minimum par défaut, permettant à l'élément flexible de se réduire selon les besoins.

Voici un codepen corrigé avec le correctif :

CSS :

.level-0-row2 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 1px solid black;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  min-height: 0;
}

Remarque :

Chrome n'applique pas actuellement ce comportement de taille minimale par défaut, mais peut réduire de manière incorrecte les tailles minimales à 0 dans des situations spécifiques.

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!

Déclaration:
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