Bei CSS geht es nicht mehr nur darum, Websites hübsch aussehen zu lassen. Es hat sich zu einem Werkzeug entwickelt, das Websites mit Bewegungen und Interaktionen zum Leben erweckt, die früher als unmöglich galten.

In diesem Leitfaden geht es darum, dich vor allem mit drei leistungsstarken Funktionen vertraut zu machen: Übergänge, Animationen und Transformationen. Diese fortgeschrittenen Techniken zu verstehen und zu nutzen, ist für Webdesigner/innen und Entwickler/innen unerlässlich, die über die CSS-Grundlagen hinausgehen und Websites erstellen wollen, die sich von anderen abheben – und den Test der Zeit bestehen.

Auf deinem Weg durch diesen Leitfaden wirst du wertvolle Fähigkeiten erwerben, um deine Webprojekte über das Gewöhnliche hinaus zu verbessern. Und hoffentlich bekommst du auch ein paar Inspirationen mit nach Hause.

Erweiterte CSS-Übergänge

Fortschrittliche CSS-Übergänge machen UI-Elemente interaktiv, ansprechend und angenehm für das Auge. Stell dir vor, du hast einen Button auf deiner Website. Normalerweise steht er einfach nur da, aber mit CSS-Übergängen ändert er sanft seine Farbe oder wird etwas größer, wenn du mit der Maus darüber fährst.

Das Konzept dreht sich um die Idee der Interpolation – den fließenden Übergang zwischen verschiedenen Zuständen einer CSS-Eigenschaft.

Um diese Effekte zu erzielen, musst du dich mit einigen CSS-Eigenschaften vertraut machen:

  • Übergangseigenschaften: Dazu gehört die Angabe der Eigenschaft, die du animieren möchtest (z. B. background-color oder opacity), die Festlegung der Dauer des Übergangs und die Entscheidung für transition-timing-function (z. B. ease-in oder linear), die vorgibt, wie der Übergang während seiner Dauer verläuft.
  • Timing-Funktionen: Diese sind ein Muss, denn sie steuern die Beschleunigung und Verlangsamung des Übergangs. Eine der vielseitigsten Optionen ist hier die Funktion cubic-bezier. Mit dieser Funktion kannst du benutzerdefinierte Geschwindigkeitskurven erstellen und hast so die vollständige Kontrolle über das Tempo deines Übergangs. Das kann anfangs etwas knifflig sein, aber Werkzeuge wie Cubic-Bezier machen es einfacher, diese Kurven zu visualisieren und zu erstellen.
cubic-bezier
Ein Beispiel für cubic-bezier in Aktion

Hier ist ein einfaches Beispiel, um zu zeigen, wie du es in deinem CSS verwenden kannst:

.my-element {

transition-property: opacity;

transition-duration: 0.5s;

transition-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);

}

In diesem Snippet ändert .my-element seine Deckkraft mit einer einzigartigen Geschwindigkeitskurve, die durch die Funktion cubic-bezier definiert wird. Diese Kurve gibt eine bestimmte Art von Bewegung vor, z. B. einen langsamen Beginn, eine Beschleunigung und eine Verlangsamung zum Ende hin.

Wenn du transition-timing-function mit benutzerdefinierten Werten verwendest, kannst du deine Webelemente auf eine Art und Weise bewegen, die sich natürlicher, dynamischer oder einfach nur anders als der Standard anfühlt. Es ist ein großartiges Werkzeug, um deinen Webanimationen mehr Persönlichkeit und Finesse zu verleihen.

Wenn es um fortgeschrittene Techniken geht, sind hier ein paar zu beachten:

  1. Jonglieren mit mehreren Eigenschaften: Warum solltest du dich damit zufrieden geben, nur eine Sache zu animieren? Mit CSS kannst du mehrere Eigenschaften aneinanderreihen und sie alle auf einmal animieren. Das ist ideal, um deiner Animation mehrere Ebenen hinzuzufügen.
  2. Synchronisierte Animationen: Du kannst auch verschiedene Eigenschaften aneinanderreihen, damit sie sich im gleichen Tempo bewegen und einen koordinierten Effekt erzeugen.
  3. Verschachtelte Übergänge: Wende Übergänge auf Elemente innerhalb eines Containers an. Wenn du mit dem Container interagierst, verhalten sich die untergeordneten Elemente so, wie du es möchtest.

Achte darauf, dass diese Animationen nicht nur gut aussehen, sondern auch flüssig laufen, besonders auf weniger leistungsstarken Geräten. Die Verwendung von Eigenschaften wie transform und opacity ist ein kluger Schachzug, weil sie die Browser schonen und die Leistung nicht zu stark beeinträchtigen sollten.

Außerdem wird dein Browser mit der Eigenschaft will-change vorgewarnt, damit er sich auf die Aktion vorbereiten kann und alles reibungslos läuft.

Ein letzter Hinweis, um sicherzustellen, dass alles funktioniert: Browser können wählerisch sein. Durch die Verwendung von Vendor-Präfixen kannst du sicherstellen, dass deine coolen Übergänge in verschiedenen Browsern funktionieren. Das ist zwar ein bisschen mehr Arbeit, aber Tools wie Autoprefixer können das für dich übernehmen und sorgen dafür, dass alles problemlos funktioniert.

Transformationen in CSS

CSS-Transformationen sind eine tolle Möglichkeit, dein Webdesign interessanter zu gestalten. Sie können natürlich auch dazu verwendet werden, Dinge zu verschieben, aber sie können auch das gesamte Erscheinungsbild einer Seite verändern. Die Eigenschaft transform ist hier der Hauptakteur.

Sie ist vielseitig und kann Elemente von einer Stelle zur anderen verschieben, z. B. ein Bild über den Bildschirm schieben oder seine Größe verändern – z. B. indem du etwas näher oder weiter weg zeigst, so wie du ein Foto vergrößerst oder verkleinerst. Und wenn du etwas ausgefallener sein willst, kannst du die Elemente sogar drehen lassen.

Wirklich beeindruckend wird es, wenn du 3D-Transformationen in den Mix einbeziehst. Mit Funktionen wie translate3d, scale3d und rotate3d können Elemente aus dem Bildschirm herausspringen und so direkt im Browser ein noch intensiveres Erlebnis schaffen.

Nimm zum Beispiel den Effekt der umgedrehten Karte. Dabei handelt es sich um eine tolle Funktion, bei der eine Seite einer Karte bestimmte Informationen zeigt und beim Umdrehen neue Inhalte auf der anderen Seite zum Vorschein kommen. Dieses interaktive Element kann die Aufmerksamkeit deiner Besucher/innen wirklich fesseln.

Der Schlüssel zu diesem Effekt ist die effektive Nutzung der Eigenschaft backface-visibility. Damit wird sichergestellt, dass die Rückseite der Karte verborgen bleibt, bis sie zu sehen ist.

Aber warum hier aufhören? Wenn du diese Transformationen mit Übergängen und Animationen kombinierst, kannst du so viel mehr aus deinem CSS herausholen. Du kannst eine Schaltfläche haben, die sich elegant vergrößert, wenn du mit dem Mauszeiger darüber fährst, oder ein Symbol, das sich spielerisch auf dem Bildschirm bewegt. Diese dynamischen Veränderungen verleihen deinen Webseitenelementen eine fließende Qualität und machen das Nutzererlebnis noch interessanter.

Designmodo bietet mehrere schöne Beispiele für diese Funktion. Zuerst siehst du das CSS für 3D-Transformationen aufgeschlüsselt. Dann kannst du den Code in Aktion sehen.

Designmodo Spinning Donut
Designmodo bietet ein großartiges Beispiel dafür, wie 3D-Transformationen wunderbar funktionieren

Container-Abfragen

Container-Abfragen sind ein weiterer Aspekt von CSS, den du kennenlernen solltest. Mit ihnen kannst du Elemente basierend auf der Größe ihres Containers stylen und nicht nur auf der gesamten Bildschirmgröße. Stell dir das so vor: Du hast eine Box und willst, dass die Elemente darin gut aussehen, egal wie groß oder klein die Box ist. Container-Abfragen sind dafür perfekt geeignet.

Sie sind sehr praktisch, wenn du möchtest, dass verschiedene Teile deiner Webseite, wie Seitenleisten oder Karten, ihr Aussehen ändern, je nachdem wie viel Platz sie haben. Jede Komponente kann ihren eigenen Stil bestimmen, unabhängig vom Rest der Seite.

Hier ist eine kurze Übersicht, wie du sie verwenden kannst:

  • Richte den Container ein: Zuerst musst du CSS mitteilen, welcher Teil deiner Seite ein Container ist. Das tust du mit Eigenschaften wie container-type und container-name.
  • Schreibe deine Abfragen: Genau wie Media Queries, aber für Container. Du schreibst eine Regel, die besagt: „Hey, wenn mein Container mindestens so breit ist, dann mach diese Stiländerungen.“

So würde der grundlegende Code dafür aussehen:

@container (min-width: 300px) {

.component {

/* styles */

}

}

In diesem Beispiel werden die Stile der Klasse .component angewendet, wenn der Container eine Mindestbreite von 300px erreicht.

Container-Abfragen können in verschiedenen Szenarien verwendet werden, wie z. B.:

  • Responsive Seitenleisten und Fußzeilen: Anpassen der Breite und des Layouts von Seitenleisten oder Fußzeilen auf der Grundlage der Containergröße.
  • Responsive Karten: Ändern des Layouts oder Stils von Karten in einem Grid- oder Flexbox-Layout auf der Grundlage der Breite ihres Containers.

Obwohl Container-Queries von den wichtigsten Browsern wie Chrome, Firefox, Safari und Edge unterstützt werden, empfiehlt es sich, sie als progressive Verbesserung zu verwenden. Beginne mit grundlegenden Stilen für nicht unterstützende Browser und verbessere sie für diejenigen, die Container-Queries unterstützen.

Flexbox für die vertikale Ausrichtung verwenden

Flexbox ist ein unglaublich praktisches Werkzeug in CSS, besonders wenn es um die vertikale Ausrichtung geht. Es gibt es zwar schon eine Weile, aber es ist immer noch sehr wichtig, vor allem für die Ausrichtung von Elementen entlang der Querachse (die je nach Layout vertikal sein kann).

Verwendung von align-items für die vertikale Ausrichtung

Die Eigenschaft align-items in Flexbox ist das Mittel der Wahl, um Elemente innerhalb eines Containers vertikal auszurichten. Sie funktioniert, wenn dein Flexbox-Container eine flex-direction an Zeilen hat. Mit dieser Eigenschaft kannst du steuern, wie alle Children eines Flexcontainers entlang der Querachse ausgerichtet werden.

Wenn du z. B. eine Reihe von Elementen in einem Flexcontainer hast und sie alle vertikal zentriert haben möchtest, verwendest du align-items: center;. Hier sind die wichtigsten Optionen, die du mit align-items hast:

  • flex-start: Richtet die Artikel am Anfang des Containers aus.
  • flex-end: Richtet die Artikel am Ende des Containers aus.
  • center: Zentriert die Objekte im Container.
  • baseline: Richtet die Objekte auf der Basis ihrer Grundlinie aus.
  • stretch: Dehnt die Objekte so, dass sie den Container ausfüllen (Standardverhalten).

Align-self für individuelle Kontrolle verwenden

align-items eignet sich zwar hervorragend, um alle Elemente in einem Container auszurichten, aber manchmal möchtest du nur ein einzelnes Element anders ausrichten. Deshalb ist align-self so nützlich. Mit dieser Eigenschaft kannst du den Wert align-items für einzelne Flex-Elemente außer Kraft setzen. Sie akzeptiert die gleichen Werte wie align-items.

Angenommen, du hast einen Flex-Container mit align-items: center;, aber es gibt ein Element, das du am Anfang ausrichten möchtest. Dann kannst du align-self: flex-start; auf dieses spezielle Element anwenden. Auf diese Weise kannst du die Ausrichtung der einzelnen Elemente genau steuern.

Am hilfreichsten ist es jedoch, dies in Aktion zu sehen.

Nehmen wir an, du entwirfst eine Navigationsleiste mit einem Logo, einigen Links und einer Suchleiste. Du möchtest, dass die Links zentriert sind, das Logo oben und die Suchleiste unten ausgerichtet ist.

So könntest du es machen:

.nav-container {

display: flex;

flex-direction: row;

align-items: center;

}

.logo {

align-self: flex-start;

}

.search-bar {

align-self: flex-end;

}

In diesem Beispiel ist .nav-container ein Flex-Container, dessen Elemente im Allgemeinen zentriert sind. Das Logo und die Suchleiste weichen jedoch von dieser allgemeinen Regel ab und richten sich am Anfang bzw. am Ende des Containers aus.

Moderne Farbfunktionen in CSS

Die modernen Farbfunktionen in CSS haben sich erheblich weiterentwickelt und bieten ausgefeiltere Möglichkeiten, Farben im Webdesign zu definieren und zu manipulieren. Schauen wir uns einige dieser Funktionen genauer an:

1. rgb() und rgba()

Die Funktion rgb() ist eine traditionelle Methode, um Farben mit den Kanälen Rot, Grün und Blau zu definieren. Jeder Kanal kann einen Wert zwischen 0 und 255 annehmen. Die Variante rgba() fügt einen Alphakanal für die Deckkraft hinzu, wobei 1 für vollständig undurchsichtig und 0 für vollständig transparent steht.

Das sollte in etwa so aussehen:

.example {

color: rgb(255, 0, 0); /* Red */

background-color: rgba(255, 0, 0, 0.5); /* Semi-transparent red */

}

2. hsl() und hsla()

hsl() stellt Farben in Form von Farbton, Sättigung und Helligkeit dar, was die Auswahl von Farbvarianten intuitiver macht. Wie rgba() enthält auch hsla() einen Alphakanal für die Deckkraft. Zum Beispiel so:

.example {

color: hsl(120, 100%, 50%); /* Green */

background-color: hsla(120, 100%, 50%, 0.3); /* Semi-transparent green */

}

3. oklch() und oklab()

oklch() und oklab() sind neuere Ergänzungen der CSS-Farbfunktionen. Sie basieren auf dem CIELAB-Farbraum, der so konzipiert ist, dass er für die Wahrnehmung einheitlich ist. Das bedeutet, dass Änderungen der Farbwerte eher den vom menschlichen Auge wahrgenommenen Änderungen entsprechen.

Konkret bedeutet dies:

  • oklab() der CIELAB-Farbraum wird für die Definition von Farben in einem wahrnehmungsmäßig einheitlichen Raum verwendet.
  • oklch() ist ähnlich, verwendet aber zylindrische Koordinaten (Helligkeit, Chroma und Farbton).

Diese Funktionen ermöglichen eine genauere und intuitivere Farbmanipulation, vor allem bei Aufgaben wie der Erstellung sanfter Farbverläufe. So könnte das in Codeform aussehen:

.example {

color: oklch(75%, 0.25, 250); /* A color in oklch */

background-color: oklab(0.623, 0.172, -0.079); /* A color in oklab */

}

Implementierung von fortgeschrittenen Farbschemata

Mit diesen Funktionen, insbesondere den fortgeschrittenen oklch() und oklab(), kannst du komplizierte Farbschemata implementieren, die visuell konsistent und ansprechend sind. Sie bieten mehr Kontrolle darüber, wie Farben dargestellt und wahrgenommen werden, und stellen sicher, dass deine Designs sowohl ästhetisch ansprechend als auch zugänglich sind.

Wenn du diese Farbfunktionen mit CSS-Funktionen wie benutzerdefinierten Eigenschaften (CSS-Variablen) und Berechnungen kombinierst, kannst du dynamische und flexible Farbsysteme entwickeln, die sich an verschiedene Themes, Zustände und Umgebungen anpassen.

Da sich die Webstandards und die Browserunterstützung für diese Funktionen ständig ändern, kann die Nutzung dieser modernen Farbfunktionen das visuelle Design und die Benutzerfreundlichkeit deiner Webprojekte erheblich verbessern.

Text um Bilder herum biegen

Die CSS-Eigenschaft shape-outside bietet eine kreative Möglichkeit, Text um Bilder zu wickeln, was zu dynamischeren und visuell interessanteren Layouts und fortschrittlicherem Bildstyling beiträgt.

Damit kannst du eine Form definieren, um die sich der Inline-Inhalt wickeln soll. Dies ist nützlich, um Text in einer nicht-rechteckigen Form um Bilder zu legen und Layouts zu erstellen, die organischer und visuell ansprechender sind als der standardmäßige rechteckige Textumbruch.

Wie funktioniert das?

Du kannst verschiedene Formen wie Kreise, Ellipsen und Polygone definieren oder sogar den Alphakanal eines Bildes verwenden, um die Form zu bestimmen.

Die Eigenschaft shape-outside gilt normalerweise für schwebende Elemente. Wenn du ein Bild schwebend anordnest und shape-outside anwendest, wird der Text entsprechend der festgelegten Form um das Bild herumgeführt.

Hier ist ein einfaches Beispiel für die Verwendung von shape-outside mit einem Kreis:

.image {

float: left;

shape-outside: circle(50%);

width: 200px;

height: 200px;

margin-right: 15px;

}

In diesem Beispiel wird die Klasse .image auf ein Bildelement angewendet. Es wird nach links verschoben, und shape-outside: circle(50%); erzeugt eine Kreisform, um die sich der Text wickeln wird. Wenn du shape-outside effektiv einsetzt, eröffnen sich dir neue Möglichkeiten für deine Designs, denn damit kann der Text um komplexe Formen herumfließen, was magazinähnliche Layouts und visuell ansprechende Webseiten ermöglicht.

CSS-Misch-Modi

CSS-Misch-Modi bieten eine leistungsstarke Möglichkeit, Farben und Bilder zu mischen und so einzigartige visuelle Effekte zu erzeugen, die dein Design aufwerten können. Mit diesen Misch-Modi kannst du ansprechende Texteffekte, Bildüberlagerungen und komplizierte Hintergrundmuster erstellen. Um background-blend-mode zu verwenden, lass uns zuerst darüber sprechen, was sie tut. Mit dieser Eigenschaft kannst du festlegen, wie die Hintergrundbilder und -farben eines Elements ineinander übergehen sollen. Wenn du zum Beispiel ein Hintergrundbild und eine Hintergrundfarbe hast, kannst du sie mit verschiedenen Misch-Modi wie Multiplizieren, Raster, Überlagern usw. überblenden. So könnte der Code aussehen:

.element {

background-image: url('image.jpg');

background-color: blue;

background-blend-mode: multiply;

}

Bei mix-blend-mode wird der Inhalt eines Elements (einschließlich Bilder und Text) mit seinem Hintergrund überblendet. Das ist besonders nützlich für Texteffekte oder das Überlagern eines Bildes über ein anderes. Zum Beispiel so:

<

.element {

mix-blend-mode: screen;

}

Beliebte Misch-Modi

Hier sind ein paar der beliebtesten Misch-Modi, die du kennen musst, um diesen Effekt richtig zu nutzen:

  • Multiplizieren: Multipliziert die Farben der Überblendebene und der Basisebene, was zu einer dunkleren Farbe führt.
  • Abblenden: Macht die Farben heller, im Gegensatz zum Multiplizieren. Sie ist nützlich, um Lichteffekte zu erzeugen.
  • Überlagern: Kombiniert die Misch-Modi Multiplizieren und Raster. Helle Teile des Bildes werden heller und dunkle Teile werden dunkler.
  • Verdunkeln und Aufhellen: Wählt die dunklere bzw. hellere Farbe aus.
  • Farbe abwedeln und Farbe verbrennen: Hellt die Grundfarbe auf oder verdunkelt sie, um die Überblendfarbe wiederzugeben.
  • Differenz und Ausschluss: Dient zum Erstellen künstlerischer und invertierter Farbeffekte.

Anpassen an die Vorlieben der Nutzer

Die Anpassung an die Vorlieben der Nutzerinnen und Nutzer im Webdesign ist ein wichtiger Aspekt bei der Erstellung barrierefreier und benutzerfreundlicher Websites. CSS-Medienabfragen für Voreinstellungen wie prefers-color-scheme und prefers-reduced-motion spielen eine wichtige Rolle bei diesem Prozess.

Schauen wir uns diese Konzepte an.

prefers-color-scheme

Diese Medienabfrage wird verwendet, um zu erkennen, ob der Nutzer ein helles oder dunkles Farbschema gewünscht hat. Das ist eine praktische Methode, um einen dunklen Modus in das Design einer Website zu integrieren.

Du kannst prefers-color-scheme verwenden, um unterschiedliche Stile für helle und dunkle Modi festzulegen.

Zum Beispiel:

/* Default light mode styles */

body {

background-color: white;

color: black;

}

/* Dark mode styles */

@media (prefers-color-scheme: dark) {

body {

background-color: black;

color: white;

}

}

In diesem Schnipsel gelten die Standardstile für den hellen Modus, während die Stile innerhalb der @media Abfrage gelten, wenn der Nutzer ein dunkles Farbschema bevorzugt.

prefers-reduced-motion

Diese Medienabfrage dient dazu, zu erkennen, ob der/die Nutzer/in das System aufgefordert hat, die Anzahl der verwendeten Animationen oder Bewegungen zu reduzieren. Sie ist wichtig für Nutzer, die unter Motion Sickness oder Gleichgewichtsstörungen leiden.

Du kannst prefers-reduced-motion verwenden, um Animationen und Übergänge zu reduzieren oder zu entfernen:

/* Standard animations */

.animate {

transition: transform 0.3s ease;

}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

.animate {

transition: none;

}

}

Hier siehst du, dass die Animationen deaktiviert sind, wenn der/die Nutzer/in angegeben hat, dass er/sie weniger Bewegung wünscht.

Die Integration von prefers-color-scheme und prefers-reduced-motion in dein CSS ist ein Schritt hin zu einem inklusiveren und benutzerfreundlicheren Web, der sicherstellt, dass deine Website für eine Vielzahl von Benutzern mit unterschiedlichen Bedürfnissen und Vorlieben zugänglich und komfortabel ist.

Pseudoselektoren :is() und :where() verwenden

Die Pseudoselektoren :is() und :where() in CSS sind fortschrittliche Werkzeuge, um Spezifität zu verwalten und komplexe Selektorketten zu vereinfachen. Wir werden uns ansehen, wie sie funktionieren, und uns einige Beispiele aus der Praxis ansehen.

:is()-Pseudoselektor

Mit diesem Selektor kannst du mehrere Elemente mit einer einzigen Regel ansprechen und die Wiederholung ähnlicher Selektoren reduzieren. Die Spezifität der Pseudoklasse :is() entspricht der Spezifität des spezifischsten Selektors in seinen Argumenten.

/* Selects any paragraph or heading inside an article */

article :is(h1, h2, h3, p) {

color: blue;

}

:where()-Pseudoselektor

Dieser Pseudoselektor ist ähnlich wie :is(), hat aber einen entscheidenden Unterschied. :where() hat immer eine Spezifität von Null. Das macht ihn nützlich, um Stile außer Kraft zu setzen, ohne die Spezifität zu erhöhen. In der Anwendung könnte er etwa so aussehen:

/* Selects any paragraph or heading, but with no added specificity */

:where(article, section) p {

margin-bottom: 1em;

}

Mit :is() und :where() kannst du flexiblere und leichter zu wartende Stylesheets erstellen, vor allem wenn du mit komplexen Designs arbeitest. Diese Pseudo-Selektoren können zum Beispiel nützlich sein, wenn du folgendes bewerkstelligen willst:

  • Verschachtelte Selektoren vereinfachen: Pseudo-Selektoren können tief verschachtelte Selektoren oder gruppierte Selektoren vereinfachen, so dass dein CSS lesbarer und leichter zu pflegen ist.
  • Stile überschreiben: :where() eignet sich hervorragend, um Basisstile zu erstellen, die einfach überschrieben werden können, ohne dass du dir Gedanken über die Spezifität machen musst.
  • Stile wiederverwenden: Beide Pseudoselektoren ermöglichen modularere und wiederverwendbare Stile, da du verschiedene Elemente unter einer einzigen Regel zusammenfassen kannst.

Stell dir ein Navigationsmenü mit verschiedenen Abschnitten vor, um dies in der Praxis zu zeigen. Du kannst :is() verwenden, um alle Links im Menü unabhängig von ihrer Verschachtelungsebene einheitlich zu gestalten, wie folgt:

nav :is(ul, ol, div) > li > a {

padding: 10px;

color: white;

}

Zusammenfassung

Von der Eleganz der CSS-Übergänge, die Benutzeroberflächen zum Leben erwecken, bis hin zu den Möglichkeiten von 3D-Transformationen hast du jetzt hoffentlich ein besseres Verständnis für einige der fortgeschrittenen CSS-Techniken, die dir in 2024 und darüber hinaus zur Verfügung stehen.

Dieser Leitfaden beleuchtet diese fortgeschrittenen Techniken und unterstreicht ihre Bedeutung für die Erstellung von reaktionsschnellen, benutzerfreundlichen und optisch ansprechenden Webdesigns. Egal, für welche Technik du dich entscheidest, vergiss nicht, bei allem, was du tust, Barrierefreiheit und CSS-Leistung in den Vordergrund zu stellen.

Nutzt du eine dieser fortschrittlichen CSS-Techniken? Hast du Empfehlungen für andere, die du ausprobieren solltest? Lass es uns wissen.

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).