Heim >Web-Frontend >CSS-Tutorial >Warum schneidet „overflow:hidden' das untergeordnete Element ab, wenn „transform:scale' auf das übergeordnete Element angewendet wird?
Umgang mit Überlauf- und Zoomeffekten mit transform:scale
Bei der Arbeit mit CSS3-Transformationen tritt ein rätselhaftes Problem auf, wenn transform:scale mit overflow kombiniert wird : versteckt und Randradius im übergeordneten Container. Wie beobachtet, scheint sich das untergeordnete Element über die Grenzen seines übergeordneten Elements hinaus zu erstrecken, was zu einem unschönen Überlauf führt.
Das Problem verstehen
Dieses eigenartige Verhalten ist auf die Tatsache zurückzuführen, dass die Skalierung über transform:scale wirkt sich auf die gerenderte Größe eines Elements aus, nicht jedoch auf seinen tatsächlichen Fluss innerhalb der Anzeigestruktur. Wenn overflow:hiden auf das übergeordnete Element angewendet wird, wird daher versucht, das untergeordnete Element basierend auf seiner ursprünglichen unskalierten Größe abzuschneiden. Dies führt zu unerwartetem Clipping.
Eine Lösung finden: transform: TranslateZ(0)
Um dieses Problem zu beheben, schlagen CSS-Leistungstechniken das Hinzufügen von Transformation: TranslateZ(0) vor. zum Wrapper-Element. Dies führt dazu, dass der Browser das Element so behandelt, als hätte es einen dreidimensionalen Renderraum, wodurch das Überlaufproblem gelöst wird, ohne den beabsichtigten Zoomeffekt zu verändern.
Zusätzliche Ressourcen
Für Ausführlichere Informationen zu den Auswirkungen von transform: TranslateZ(0) auf die CSS-Leistung finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWarum schneidet „overflow:hidden' das untergeordnete Element ab, wenn „transform:scale' auf das übergeordnete Element angewendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!