Auswirkungen von TranslateZ(0) auf die CSS-Leistung
Die Verwendung von TranslateZ(0) wurde als Leistungshack zur Verbesserung der Effizienz angepriesen von Animationen und Übergängen. Die gedankenlose Anwendung dieser Transformation auf breiter Front kann jedoch Konsequenzen haben.
Was sind die Auswirkungen?
Durch die Anwendung von TranslateZ(0) auf alle Elemente wird eine neue Stapelung erstellt Kontext und enthaltendem Block. Das bedeutet, dass Elemente mit fester Position und einer Transformation wie Elemente mit absoluter Position wirken. Darüber hinaus können sich Z-Index-Werte unerwartet verhalten.
Konsequenzen in der Praxis:
Wie in dieser Demo dargestellt, erstellt jedes Element, wenn es eine 3D-Transformation erhält, ein neues Stapelkontext. Folglich werden Pseudoelemente darüber und nicht darin positioniert.
Empfehlungen:
Um diese Probleme zu vermeiden, beschränken Sie die Verwendung von 3D-Transformationen auf Situationen, in denen die Leistung von Vorteil ist werden wirklich benötigt. Alternativ können Sie transform: TranslateZ(0) Translate3d(0, 0, 0) verwenden, um die 3D-Beschleunigung zu nutzen, ohne Stapelprobleme zu verursachen. Beachten Sie jedoch, dass diese Option nur in Safari unterstützt wird.
Das obige ist der detaillierte Inhalt vonVerbessert translatorZ(0) immer die CSS-Leistung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!