Flexbox-Rendering-Unterschiede in Firefox und Chrome
Im Bereich der Webentwicklung können browserübergreifende Rendering-Probleme erhebliche Herausforderungen darstellen. Ein solches Problem, mit dem Flexbox-Benutzer konfrontiert sind, ist das in Firefox und früheren Versionen von Chrome beobachtete inkonsistente Verhalten.
In Chrome 47 funktionierte das „.scroll“-Div wie erwartet und nutzte Flexbox, um 100 % Höhe zu erreichen. Allerdings hielt sich in Firefox dasselbe Div an die Inhaltshöhe, was zu einem fehlerhaften Scrollverhalten führte. Dies warf die Frage nach einer browserübergreifenden Lösung für diese Rendering-Diskrepanz auf.
Die Änderung der Flexbox-Spezifikation, die die standardmäßige Mindestgröße von Flex-Elementen auf den Inhalt festlegte, verursachte diesen Rendering-Unterschied. Um dieses Problem zu beheben, können Entwickler diese Standardeinstellung überschreiben, indem sie die Mindestbreite und die Mindesthöhe explizit auf 0 setzen.
**.content {
background: yellow; flex: 1; display: flex; flex-direction: column; min-height: 0; /* NEW */ min-width: 0; /* NEW */
}
**
Die jüngsten Updates von Chrome haben jedoch zu einer Verhaltensänderung geführt. Chrome 48 emuliert das vorherige Rendering von Firefox, sodass die gleiche Lösung in beiden Browsern anwendbar ist.
Der anfängliche Auto-Wert für Min-Breite und Min-Höhe, wie in CSS 2.1 definiert, wurde durch den neuen Auto-Wert ersetzt Wert, der die Mindestgröße auf die Größe des Inhalts festlegt. Dies hat zu einer Änderung des Standard-Rendering-Verhaltens von Flexbox-Elementen geführt, was zu den beobachteten Inkonsistenzen zwischen Browsern geführt hat.
Das obige ist der detaillierte Inhalt vonWarum rendern Firefox und Chrome Flexbox unterschiedlich und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!