Web: 3D Animation
Dezente 3D-Animationen haben was, finde ich đ.
Mit Hilfe von CSS sind diese auch relativ einfach und mit wenig Code machbar. Dennoch gibt es ein paar Kleinigkeiten, die es zu berĂŒcksichtigen gilt.
Ich verwende in meinen Beispielen so gut es geht Tailwind und nur fĂŒr die SpezialitĂ€ten klassisches CSS. Da Tailwind per heute keine speziellen Klassen fĂŒr Perspektive hat, sind Eigenschaften alle in CSS gelöst.
Die Besonderheiten im vorherigen Beispiel sind „perspective“ und „perspective-origin“.
„perspective“ definiert, wie weit der Benutzer vom Bildschirm wegsitzt. Klingt komisch â ist es auch đ. Genau das Gleiche steht aber auch bei MDN, ist also keine Erfindung von mir. Ich glaube, es gibt mittlerweile den Konsens, dass man mit dem Wert einfach ein bisschen herumspielen muss, bis man einen findet, der passt.
Die spannendere Eigenschaft ist allerdings „perspective-origin“. Dieser gibt an, welcher Punkt das Zentrum der Perspektive ist.
Im Beispiel gibt es den eigentlichen Button und daneben das Icon, das angezeigt wird, wenn der Benutzer auf den Button klickt. Das Icon wird ĂŒber eine Rotation der Y-Achse angezeigt. Damit das Ganze korrekt aussieht, muss der Origin genau zwischen dem Button und dem Icon sein. Da mein Icon keine fixe GröĂe hat, wird die Breite mit Hilfe von JavaScript zur Laufzeit berechnet, der passende „perspective-origin“ gesetzt â indem Fall 100 % abzĂŒglich der Breite des Icons.
Das nĂ€chste Beispiel hat ebenso eine Perspektive sowie zusĂ€tzlich einen „clip-path“. Mit diesem können Aufklapp-Animationen super einfach gelöst werden.
Zusammen mit der aktuellen Position der Mause können darĂŒber hinaus recht hĂŒbsche Spielereien gemacht werden.