Wie kann ich mit CSS mehrere anwenden transform
?
Beispiel: Im Folgenden wird nur die Übersetzung angewendet, nicht die Drehung.
li:nth-child(2) {
transform: rotate(15deg);
transform: translate(-20px,0px);
}
css
css-transforms
Ben
quelle
quelle
transform: scale(1,1.5) rotate(90deg);
die Drehung würde vor der Skala erfolgen.Ich füge diese Antwort nicht hinzu, weil sie wahrscheinlich hilfreich ist, sondern nur, weil sie wahr ist.
Sie können nicht nur die vorhandenen Antworten verwenden, um zu erklären, wie Sie mehr als eine Übersetzung erstellen, indem Sie sie verketten, sondern auch die 4x4-Matrix selbst erstellen
Ich habe das folgende Bild von einer zufälligen Seite aufgenommen, die ich beim Googeln gefunden habe und die Rotationsmatrizen zeigt:
Drehung um die x-Achse:
Drehung um die y-Achse:
Drehung um die z-Achse:
Ich konnte kein gutes Beispiel für eine Übersetzung finden. Wenn ich mich also richtig erinnere / verstehe, Übersetzung:
Weitere Informationen finden Sie im Wikipedia-Artikel zur Transformation sowie im Pragamatic CSS3-Tutorial, das dies recht gut erklärt. Eine andere Anleitung, die ich gefunden habe und die beliebige Rotationsmatrizen erklärt, sind Egon Raths Notizen zu Matrizen
Die Matrixmultiplikation funktioniert natürlich zwischen diesen 4x4-Matrizen. Um eine Rotation gefolgt von einer Übersetzung durchzuführen, erstellen Sie die entsprechende Rotationsmatrix und multiplizieren sie mit der Translationsmatrix.
Dies kann Ihnen ein bisschen mehr Freiheit geben, es genau richtig zu machen, und es wird auch so gut wie unmöglich sein, dass irgendjemand versteht, was es tut, einschließlich Sie in fünf Minuten.
Aber es funktioniert.
Bearbeiten: Ich habe gerade festgestellt, dass ich es versäumt habe, die wahrscheinlich wichtigste und praktischste Anwendung zu erwähnen, nämlich die schrittweise Erstellung komplexer 3D-Transformationen über JavaScript, bei denen die Dinge etwas sinnvoller werden.
quelle
Sie können auch mehrere Transformationen mit einer zusätzlichen Markup-Ebene anwenden, z.
Dies kann sehr nützlich sein, wenn Sie Elemente mit Transformationen mit Javascript animieren.
quelle
transform-style: preserve-3d
Sie können mehr als eine Transformation wie folgt anwenden:
quelle
Irgendwann in der Zukunft können wir es so schreiben:
Dies ist besonders nützlich, wenn Sie einzelne Klassen auf ein Element anwenden:
Diese Syntax ist in der aktuellen CSS Transforms Level 2-Spezifikation definiert , kann jedoch nichts über die aktuelle Browserunterstützung außer Chrome Canary finden. Hoffe eines Tages werde ich zurückkommen und die Browserunterstützung hier aktualisieren;)
In diesem Artikel finden Sie Informationen, die Sie möglicherweise zu Problemumgehungen für aktuelle Browser lesen möchten.
quelle
Beginnen Sie einfach von dort aus, dass in CSS , wenn Sie 2 oder mehr Werte wiederholen, immer der letzte angewendet wird, es sei denn, Sie verwenden ein
!important
Tag. Vermeiden!important
Sie jedoch gleichzeitig, so viel wie möglich zu verwenden. In Ihrem Fall ist dies das Problem, also der zweite Transformation überschreibt in diesem Fall die erste ...Wie können Sie also tun, was Sie wollen? ...
Keine Sorge , die Transformation akzeptiert mehrere Werte gleichzeitig ... Der folgende Code funktioniert also:
Wenn Sie mit Transformation herumspielen möchten , führen Sie den folgenden Iframe von MDN aus :
Weitere Informationen finden Sie unter dem folgenden Link:
<< CSS-Transformation >>
quelle
Transformieren Drehen und Übersetzen in einzeiligem CSS: -Wie?
quelle