Transform-Origin mithilfe der Übersetzung simulieren: Skalierungs- und Rotationsabweichungen auflösen
In CSS ermöglicht die Eigenschaft „Transform-Origin“ die präzise Positionierung eines Elements Transformation um einen bestimmten Punkt. Allerdings kann die Replikation seiner Funktionalität nur mit „transform: Translate“ eine Herausforderung darstellen, insbesondere wenn es mit Skalierungs- und Rotationstransformationen kombiniert wird.
Laut der MDN-Dokumentation umfasst die Simulation von „transform-origin“ mit „translate“ Folgendes:
Trotz dieser Vorgehensweise stoßen Entwickler häufig auf falsche Ergebnisse, wenn sie versuchen, das Verhalten des Transformationsursprungs nachzuahmen. Hier sind die Gründe für diese Diskrepanzen:
1. Umkehrung der Übersetzungen:
Der bereitgestellte CSS-Code enthält einen Fehler in der Reihenfolge der Übersetzungen innerhalb der .translate-Klasse. Um den Transformationsursprung korrekt zu simulieren, sollten die Anfangs- und Endübersetzungen invertiert werden. Hier ist der überarbeitete Code:
.translate { transform: translate(100px, 100px) translate(100px, 0px) scale(2) rotate(45deg) translate(-100px, -100px); }
2. Anpassung von Transform-Origin:
Ein weiteres Problem liegt in der Eigenschaft „Transform-Origin“ der .translate-Klasse. Standardmäßig ist transform-origin auf center (50 % 50 %) eingestellt. Um jedoch dem Verhalten von transform-origin zu entsprechen, müssen wir diesen Referenzpunkt in die obere linke Ecke (0 0) des Elements verschieben.
.translate { transform-origin: 0 0; ... }
Durch die Einbeziehung dieser Modifikationen können wir eine genaue Simulation erreichen von transform-origin mithilfe von Translate. Diese Korrekturen sollten die im ursprünglichen CSS-Code beobachteten Inkonsistenzen bei Skalierung und Rotation beheben.
Das obige ist der detaillierte Inhalt vonKann Translate allein CSS Transform-Origin perfekt nachahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!