- Eine Code-Sammlung, die veraltete CSS-Hacks und die moderne native CSS-Syntax, die sie ersetzt, direkt nebeneinander vergleicht
- Nutzt aktuelle Standards wie Grid, Flexbox, OKLCH-Farben, Container Queries und
scroll-timeline, um die Abhängigkeit von JavaScript zu verringern
- Nach Themen wie Farben, Layout, Animationen, Selektoren, Typografie und Workflow gegliedert und zeigt für jede Funktion eine moderne Alternative
- Mit aktuellen CSS-Standards lassen sich Abhängigkeiten von JS, Sass und externen Bibliotheken reduzieren und native Browser-Funktionen maximal nutzen
1 Kommentare
Hacker-News-Meinungen
CSS im Jahr 2025 wirkt, als würde man wieder Inline-Styles wie 2005 direkt ins HTML schreiben
Gemeint ist Tailwind, aber letztlich ignoriert es die Trennung von Format und Darstellung
Wenn HTML wirklich nur für Inhalte und CSS nur für Stil zuständig wäre, müsste man keine div soup wie
.container-wrapper .container .container-innerbauenDass man bei jedem Layoutwechsel das HTML anpassen muss, ist der Beweis dafür
Code rund um eine Komponente ist an einer Stelle gesammelt, sodass man nicht ständig zwischen Dateien wechseln muss
Layout und Stil sind untrennbare Teile der UI
HTML ist kein Inhalt, sondern Layout
Selbst wenn man an die Trennung der Zuständigkeiten glaubt, gehören HTML und CSS zur gleichen Darstellungsschicht
Zu glauben, man könne beides trennen, heißt die Realität zu ignorieren
Ich habe eine Liste der wichtigsten jüngeren Verbesserungen in CSS zusammengestellt
:has(...):is(...)— früher musste man Tricks wie:not(:not(...))verwenden:where(...)— ähnlich wie:is(...), aber mit Selektorgewichtung 0, daher nützlich bei komplexen SelektorenDie meisten LLMs kennen dieses Feature nicht
Ich empfehle, Beispiele in
AGENTS.mdhinzuzufügenDie MDN-Dokumentation zum Nesting Selector ist hilfreich
Mit dem
&-Selektor bekommt man bessere Lesbarkeit und weniger Wiederholungen zugleichtext-box: trimEs fühlt sich befreiend an, dass die Zeit vorbei ist, in der man Designern 20 Jahre lang erklären musste, dass eine Ausrichtung an der Oberkante von Großbuchstaben unmöglich sei
@layeram bestenEinige der Beispiele funktionieren in der alten Variante in allen Browsern, die neue Variante aber nur in Chrome/Edge
Solche Beispiele aufzunehmen, halte ich für unverantwortlich, weil es die Blink-Monokultur stärkt
Man sollte vielmehr auf Mozillas mangelnde Standardtreue hinweisen
Man sollte damit aufhören, Elemente an den Bildschirmrändern zu fixieren
Auf manchen Websites nehmen statische Elemente mehr als die Hälfte des Bildschirms ein
Es ist natürlicher, den Inhalt scrollen zu lassen
Ironischerweise erzwingt die betreffende Website den Dark Mode und verwendet
prefers-color-schemenichtMan sieht „Tolle kreative CSS-Beispiele!“, schaut dann nach und stößt auf die praktische Einschränkung, dass die Browser-Unterstützung nur bei 40–50 % liegt
Das liegt zwar am übermäßigen Einfluss von Chromium, ist im Ergebnis aber positiv
Siehe Interop 2025
Browserhersteller fügen Features schon im Voraus hinzu, um irgendwann breite Unterstützung zu erreichen
Es ist verwirrend, dass Beispiele, die in Firefox als nicht unterstützt markiert sind, in den eigentlichen Demos trotzdem funktionieren
Ich frage mich, ob dort vielleicht ein Polyfill verwendet wird
Der grüne Prozentwert unten links zeigt den Anteil der Browsernutzer an, deren Browser das jeweilige Feature unterstützen
Häufig liegt er unter der Hälfte
Letztlich ist das weniger „modernes CSS“ als vielmehr latest Chrome CSS
Zum Beispiel wird
sibling-index()als „widely available“ angezeigt, obwohl es in Firefox noch nicht funktioniertHeutzutage bin ich unsicher, ob man Tailwind, CSS-in-JS, Sass/SCSS oder Vanilla CSS verwenden sollte
Man sollte das verwenden, was zum Team passt
Wenn Tailwind passt, dann das; bei einem persönlichen Projekt Inline-CSS; wenn man mit Sass vertraut ist, dann dabei bleiben;
und wenn man ganz auf modernes CSS setzen will, ist auch das eine großartige Wahl
Ich entwickle schon so lange fürs Web, dass selbst viele Beispiele, die als „alte Methode“ bezeichnet werden, Features sind, die ich zum ersten Mal sehe
Die Funktion zur Anpassung der Farbhelligkeit habe ich zum ersten Mal gesehen
Früher habe ich das mit Sass und Compass umgesetzt, aber die Wartung der Toolchain war mühsam
Jetzt, wo CSS das selbst unterstützt, ist es viel praktischer