Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Eigene Design-Tokens und wiederkehrende Komponenten-Klassen definieren

Eigene Design-Tokens und wiederkehrende Komponenten-Klassen definieren

~7 Min. Lesezeit Zuletzt aktualisiert am 9. August 2026

Sobald ein Projekt wächst, wiederholen sich bestimmte Klassenkombinationen - ein Karten-Layout, ein Primär-Button, eine Badge. Statt diese Kombination an zehn Stellen im Projekt zu kopieren, lohnt es sich, eigene Design-Tokens und Komponenten-Klassen zu definieren.

Design-Tokens als @theme-Variablen

Design-Tokens sind benannte, wiederverwendbare Werte - Farben, Abstände, Schriftgrößen. In Tailwind v4 werden sie als CSS-Custom-Properties innerhalb von @theme definiert (siehe Kapitel 11). Für ein wachsendes Projekt lohnt es sich, diese Werte an einer Design-Sprache statt an einer Einzelseite auszurichten:

app/design/frontend/Mironsoft/default/web/tailwind/src/styles.css
@import 'tailwindcss';

@theme {
  /* Markenfarben */
  --color-brand-dark: #1a2332;
  --color-brand-slate: #475569;
  --color-brand-accent: #0ea5e9;
  --color-brand-accent-dim: #0369a1;
  --color-brand-red: #dc2626;

  /* Wiederkehrende Abstände */
  --spacing-section: 4rem;
  --spacing-card: 1.5rem;
}

Eigene Komponenten-Klassen mit @apply

Für wirklich wiederkehrende Kombinationen (nicht für jedes einzelne Element!) lässt sich mit der @apply-Direktive eine eigene, semantische CSS-Klasse aus mehreren Utility-Klassen bauen:

app/design/frontend/Mironsoft/default/web/tailwind/src/styles.css
@layer components {
  .card {
    @apply rounded-xl border border-slate-200 bg-white p-6 shadow-sm;
  }

  .btn-primary {
    @apply inline-block rounded-lg bg-brand-accent px-5 py-2.5
           font-semibold text-white transition hover:bg-brand-accent-dim;
  }
}

Im Template wird daraus eine einzige, sprechende Klasse:

<div class="card">
    <a href="#" class="btn-primary">Kontakt aufnehmen</a>
</div>

Achtung: @apply für jedes Element zu benutzen, hebt den Vorteil von Utility-First wieder auf - man landet wieder bei eigenem CSS pro Komponente, nur mit Tailwind-Syntax statt normalem CSS. Faustregel: @apply erst dann, wenn eine Kombination an mindestens drei bis vier Stellen im Projekt identisch wiederkehrt.

Token-Namen konsistent halten

Ein gutes Namensschema für Farb-Tokens macht spätere Erweiterungen leicht vorhersagbar: brand-* für Markenfarben, brand-accent-dim für eine abgedunkelte Variante des Akzents (wird z. B. auch von der tip()-Callout-Komponente dieses Projekts genutzt), statt willkürlicher Namen wie blue-special.

Tipp: Bevor eine neue Farbe als Token angelegt wird, lohnt ein Blick in die bereits bestehende @theme-Konfiguration - oft existiert der passende Ton bereits, nur unter einem anderen Namen als erwartet.