Logo
CSS

Top 10 Must Know der CSS-Tricks

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.

UNENDLICH VIELE SCHATTEN

Ü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:

Beispiel-Logo

Text

Für Box-Shadows

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.

Der Code dazu sieht so aus:

         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
         

Für Drop-Shadows

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.

Der Code dazu sieht so aus:


        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
         

Sogar für Text-Shadows

Im letzten Beispiel benutze ich text-shadows. Diese funktionieren von der Syntax her genauso wie box-shadows.

Der Code dazu sieht so aus:

        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
         

OVERFLOW: CLIP

Eine bessere alternative für overflow: hidden;

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:

  • position: sticky; funktioniert nicht mehr, wenn ein übergeordnetes Element overflow: hidden; benutzt. Das liegt daran, dass overflow: hidden den "Kontext" für das Sticky-Verhalten des Elements entfernt, indem es den sichtbaren Bereich des Containers beschränkt.
  • Es tauchen möglicherweise unterwartete Scrollbars auf, obwohl für die jeweiligen x- oder y-Achsen das Scrollverhalten mit hidden oder visible festgelegt wurde.

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:

Ein Titel

Ein Untertitel

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut

Beispiel

Ein Titel

Ein Untertitel

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut

Beispiel

Jeder mag Kekse. Die Winterraben auch. Also, schlag zu! ;)

Technisch notwendige Cookies, die zum Beispiel das einloggen Regeln.

Cookies und Skripte die den Erfolg von Marketing-Kampagnen verfolgen und das Nutzerverhalten auf unserer Website beobachten.

Cookies und Scripte die uns dazu dienen unsere Website besser zu machen. Und Ihnen komfort funktionen bieten.

Lädt externe Medien von Youtube oder Vimeo. Dabei werden Daten an diese Anbieter übertragen.