Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert „overflow-y“ nicht mit verschachtelter Flexbox in Firefox?

Warum funktioniert „overflow-y“ nicht mit verschachtelter Flexbox in Firefox?

Susan Sarandon
Susan SarandonOriginal
2024-10-26 04:28:02806Durchsuche

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

Firefox overflow-y funktioniert nicht mit verschachtelter Flexbox

In CSS3-Flexbox tritt in Firefox ein Problem auf, wenn overflow-y auf a angewendet wird verschachteltes Flexelement. Dies verhindert, dass das Flex-Element vertikal scrollt, wie in diesem CodePen zu sehen ist: http://codepen.io/anon/pen/NPYVga.

Detaillierte Erklärung:

Standardmäßig legen Flex-Elemente eine Mindestgröße fest, die auf der intrinsischen Größe ihrer untergeordneten Elemente basiert. Wenn ein Element mit Überlauf: [hidden|scroll|auto] in einem Flex-Element enthalten ist, weigert sich das Flex-Element konsequent, kleiner zu werden als die minimale Inhaltsgröße des untergeordneten Elements.

Lösung:

Um dieses Problem zu beheben, weisen Sie dem Ancestor-Flex-Element min-height:0 zu (.level-0-row2 im bereitgestellten Code). Dadurch wird das standardmäßige Mindestgrößenverhalten deaktiviert, sodass das Flex-Element nach Bedarf verkleinert werden kann.

Hier ist ein korrigierter Codepen mit dem Fix:

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;
}

Hinweis:

Chrome erzwingt dieses standardmäßige Mindestgrößenverhalten derzeit nicht, kann jedoch in bestimmten Situationen fälschlicherweise die Mindestgrößen auf 0 reduzieren.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „overflow-y“ nicht mit verschachtelter Flexbox in Firefox?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn