Vorname
Nachname
Diese orientieren sich, in der Desktop-Version, an der Position des Mauszeigers und drehen sich dementsprechend etwas in dessen Richtung.
Wenn wir von solchen Animationen nun noch mehrere auf einer Seite haben, ist diese für manche Geräte nur sehr eingeschränkt nutzbar.
Der Trick: will-change: <Eigenschaft>; auf das Element setzen, welches animiert wird. In unserem Falle wäre die Eigenschaft das CSS transform.
Jetzt weiß der Browser, dass dieses Element sich später verändern wird und kann mehr Ressourcen dafür aufwenden.
Mehr müssen wir auch gar nicht machen, um einen deutlichen Performance boost zu kriegen.
Üblicherweise gibt es auf einem Element maximal einen box-shadow oder einen drop-shadow.
Davon können wir aber tatsächlich beliebig viele aneinander hängen und z. B. folgende Effekte erzeugen:
Text
Im ersten Beispiel habe ich ein einfaches Quadrat genommen und dort mehrere Box-Shadows hinzugefügt.
Hier muss beachtet werden, dass die box-shadows per Komma getrennt sind.
background-color: var(--colorPrimary0);
box-shadow:
10px 10px var(--blur) var(--colorPrimary1),
20px 20px var(--blur) var(--colorPrimary2),
30px 30px var(--blur) var(--colorPrimary3),
40px 40px var(--blur) var(--colorPrimary4),
50px 50px var(--blur) var(--colorPrimary5),
60px 60px var(--blur) var(--colorPrimary6),
70px 70px var(--blur) var(--colorPrimary7);
Code kopieren
Im zweiten Beispiel benutze ich drop-shadows. Hier ist es wichtig, dass die drop-shadows nicht mit Komma getrennt sind.
Ausserdem muss man beachten, dass jeder Drop-Shadow auf den vorherigen aufbaut. Das heißt, dass die Position der Drop-Shadows immer gleich bleiben muss, um einen gleichmäßigen Versatz zu kriegen.
filter:
drop-shadow(10px 10px var(--blur) var(--colorPrimary))
drop-shadow(10px 10px var(--blur) var(--colorPrimary1))
drop-shadow(10px 10px var(--blur) var(--colorPrimary2))
drop-shadow(10px 10px var(--blur) var(--colorPrimary3))
drop-shadow(10px 10px var(--blur) var(--colorPrimary4))
drop-shadow(10px 10px var(--blur) var(--colorPrimary5))
drop-shadow(10px 10px var(--blur) var(--colorPrimary6));
Code kopieren
Im letzten Beispiel benutze ich text-shadows. Diese funktionieren von der Syntax her genauso wie box-shadows.
text-shadow:
2px 2px var(--blur) var(--colorPrimary),
4px 4px var(--blur) var(--colorPrimary1),
6px 6px var(--blur) var(--colorPrimary2),
8px 8px var(--blur) var(--colorPrimary3),
10px 10px var(--blur) var(--colorPrimary4),
12px 12px var(--blur) var(--colorPrimary5),
14px 14px var(--blur) var(--colorPrimary6);
Code kopieren
Mit dem CSS-Befehl overflow: hidden; können wir jeglichen Content, der über die Grenzen eines Containers hinausgeht, ausblenden. Der überschüssige Content wird sozusagen abgeschnitten und verborgen.
Oft wird overflow-x: hidden; auf den Body-Tag gesetzt, damit eine Website nur vertikal scrollbar ist. Das ist dann super hilfreich, wenn Elemente an den Seiten über den Body hinausragen.
Es kann z. B. ein Bild sein, das aus designtechnischen Gründen über den Bildschirmrand schauen soll oder ein Menü, das per Klick von rechts reinrutscht.
Allerdings kann dies zu unerwarteten Problemen führen:
Die Lösung: overflow: clip;
Auf den ersten Blick funktioniert dieser Befehl genauso wie overflow: hidden.
Der Vorteil ist aber, dass das Problem mit position: sticky nicht auftritt und wir gleichzeitig eine Achse verbergen können, ohne damit für die andere eine Scrollbar zu erstellen.
Hier sind ein paar Beispiele zur Veranschaulichung:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut