Ich habe diese Seite zum besseren Verständnis der Frage. Wie Sie sehen können, können wir mit CSS3 ein Element um die X-, Y- oder Z-Achse drehen, indem wir transform: rotate[XYZ](M deg/rad)
.
Aber ich suche nach einer Funktion, mit der ich das Element auf einer beliebigen Linie drehen kann. Zum Beispiel das Drehen des Elements auf x=y
Linie. oder noch komplexer y=2x+3
.
Wenn Sie es nicht verstehen, halten Sie bitte ein Papier in der Hand und drehen Sie es an den beiden äußeren Ecken um (für y=x
o y=-x
). oder sehen Sie sich dieses Bild an.
Ich vermute, dass es sich um eine Kombination aus zwei Drehungen handelt, aber ich weiß nicht, wie ich die Drehungen berechnen soll.
Aktualisierung:
Ich wusste nicht, dass es eine rotate3d
Funktion für CSS transform
. diese Funktion nimmt vier Argumente entgegen rx
, ry
, rz
y deg
. Ich denke, das wäre sehr hilfreich für dieses Problem.
Eine andere Sache ist, wenn wir die translate[X,Y,Z]
es ändert tatsächlich den Ursprung der Drehung. Das heißt, wenn Sie sich um die folgenden Punkte drehen wollen Y=10px
sollten Sie die translateZ
a 10px
Update2:
Mein eigentliches Ziel ist es, ein Werkzeug zur Anwendung von CSS-Transform-Eigenschaften über eine GUI zu erstellen. Ich möchte es erweitern, um was auch immer transform
was Sie tun können. Eine davon ist die Rotation. Ich bin sicher, dass es möglich ist, ein Element um andere Linien zu drehen als x=0
... aber ich weiß nicht, wie ich die Berechnung durchführen kann. Zum Beispiel Drehung 45 Grad um Y
und 45Grad um Z
ist dasselbe wie eine Drehung von 45 Grad um x=y
. Ich brauche eine Lösung für alle Linien im Raum.