Preprozessoren vs einfach CSS

CSS fehlte lange Zeit die Logik, um wiederverwendbaren und organisierten Code zu schreiben. Komplexe Projekte nutzen darum Präprozessoren wie SASS und LESS, um CSS zu erweitern und die Komplexität von CSS zu reduzieren.

CSS vs Präprozessor Less Sass

Kann CSS mit den Preprozessoren gleichziehen?

Preprozessoren haben den Einsatz von CSS vereinfacht und erweitert: Sie brachten CSS-Variablen und Mixins ein und verschachtelte CSS-Regeln.

  • Variablen
  • Verschachtelung
  • Mixins / Funktionen
  • Partials & Imports
  • Mathematische Berechnungen

Damit haben sie CSS genauso vorangebracht wie jQuery das moderne JavaScript. Die Frage ist nun: Brauchen Webseiten heute noch Preprozessoren oder kann ihnen CSS heute entgegentreten?

JavaScript hat jQuery schon seit einigen Jahren überholt, während CSS länger brauchte, um nach den Preprozessoren zu greifen: Variablen (Custom Properties) sind zwar schon seit längerem auch im nativen CSS verankert, aber Nesting – das Verschachteln von CSS-Regeln – ist erst in jüngerer Zeit auf den Zug aufgesprungen.

:root {
--color-primary: oklch(60% 0.15 250);
}

.card {
padding: clamp(1rem, 2vw, 2rem);

& h2 {
color: var(--color-primary);
}
}

Da haben wir also Variablen (–color-primary) in einem wahrnehmungsbasierten Farbraum (OKLCH), eine Berechnung mit clamp() und Nesting, das Verschachteln von CSS-Eigenschaften.

SASS Mixins

Mixins legen Blöcke von CSS-Eigenschaften fest, die an mehreren Stellen verwendet werden können.

@mixin button-style($color, $padding) {
background-color: $color;
border: none;
color: white;
cursor: pointer;
padding: $padding;
text-transform: uppercase;
}

Mit diesem Mixin können Buttons mit unterschiedlichen Farben und Padding definiert werden.

.button-primary {
@include button-styles(tomato, 1rem);
}

.button-secondary {
@include button-styles(cornflower blue, 0.9rem);
}

Auch wenn CSS-Variablen eine ähnliche Funktionalität bieten: Mixins sind da noch einen Schritt voraus.

Nesting – Verschachteln von CSS-Regeln

Nesting verbessert die Lesbarkeit und erlaubt eine effizientere Organisation des CSS-Codes. CSS Nesting und hat sich Ende 2023 in allen modernen Browsern etabliert.

.header {
background: var(--branding-color);
& .logo {
width: 120px;
&:hover {
border-bottom: 1px solid black
}
}
}

Alle modernen Browser unterstützen natives CSS Nesting.

CSS-Funktionen für mathematische Operationen

CSS hat mit Funktionen wie calc() und clamp() zu den Präprozessoren aufgeschlossen. min() und max() sind schon fast alte Hasen. Selbst trigonometrische Funktionen wie sin() und tan() werden von dem Mainstream-Browsern seit Ende 2022 unterstützt.

Modernes CSS oder LESS / SASS?

Für das reine CSS spricht der einfache Arbeitsablauf, während Preprozessoren Übersetzungsschritte brauchen. Projekte im Produktionszustand lassen sich aber nicht ohne Aufwand in modernes CSS migrieren.

Die Hochzeit der Preprozessoren ist vorbei. LESS im Speziellen ist wenig aktiv, bringt kaum noch neue Ideen. Wenn überhaupt noch Preprozessoren eingesetzt werden, dann eher SASS. Das moderne CSS ist dynamischer, flexibler und besser wartbar.

2025-04-05 SITEMAP BLOG
Suchen auf mediaevent.de