Skip to content

Türchen 16 – Variable Fonts

Published: at 07:00 AM

Variable Fonts sind einer der größten Fortschritte in der Webtypografie seit Einführung von Webfonts selbst. Statt für jede Schriftschnitt-Variante eigene Dateien zu laden (Regular, Medium, Bold, Black …), enthält eine einzige Fontdatei alle Varianten – steuerbar über Achsen wie wght, wdth, opsz und viele mehr.

Das Ergebnis ist mehr Ausdruckskraft, bessere Performance, konsistente typografische Systeme und neue gestalterische Möglichkeiten.

Dieses Türchen zeigt, wie Variable Fonts funktionieren, wann sie sinnvoll sind und wie man sie für moderne UIs optimal nutzt.

Wie Variable Fonts funktionieren

Variable Fonts repräsentieren einen fundamentalen Paradigmenwechsel in der digitalen Typografie. Während traditionelle Fonts für jeden Schnitt (Regular, Medium, Bold, etc.) eine separate Datei benötigen, enthält ein Variable Font alle Varianten in einer einzigen Datei. Technisch gesehen sind Variable Fonts OpenType-Fonts mit sogenannten Variationsachsen. Diese Achsen definieren kontinuierliche Wertebereiche, die über CSS gesteuert werden können.

Die Technologie basiert auf Interpolation. Der Font-Designer definiert zwei oder mehr Master-Designs, zum Beispiel ein sehr leichtes und ein sehr schweres Gewicht. Der Browser berechnet dann automatisch alle Zwischenwerte. Das bedeutet: Man ist nicht mehr auf vordefinierte Schnitte wie 400 oder 700 beschränkt, sondern kann jeden beliebigen Wert zwischen den Extremen nutzen – etwa 350, 475 oder 625.

Die wichtigsten standardisierten Achsen sind wght (Font Weight, die Strichstärke), wdth (Font Width, die Laufweite der Zeichen von schmal bis breit), opsz (Optical Size, optimiert für verschiedene Schriftgrößen), slnt (Slant, die Schrägstellung für oblique Styles) und ital (Italic, echter Kursivstil mit eigenen Glyphen). Manche Fonts bieten zusätzlich custom Axes wie Grade, Contrast oder sogar experimentelle Achsen für spezielle Effekte.

Die Steuerung erfolgt primär über die CSS-Eigenschaft font-variation-settings:

body {
  font-variation-settings: "wght" 350, "wdth" 100, "opsz" 18;
}

Dieser Code setzt das Gewicht auf 350, die Breite auf 100% (Standard) und die optische Größe auf 18. Das erlaubt nicht nur feine Abstufungen statt fester Sprünge, sondern eröffnet auch gestalterische Möglichkeiten, die mit statischen Fonts schlicht nicht realisierbar wären.

Performance: Weniger Dateien, schnellere Ladezeiten

Der Performance-Gewinn von Variable Fonts ist einer der überzeugendsten Argumente für ihren Einsatz. In traditionellen Web-Projekten musste man für jede Schrift-Variante eine separate Datei laden. Ein typisches Setup könnte so aussehen:

Inter-Regular.woff2       (ca. 45 KB)
Inter-Medium.woff2        (ca. 48 KB)
Inter-Bold.woff2          (ca. 52 KB)
Inter-Black.woff2         (ca. 55 KB)

Das ergibt zusammen etwa 200 KB an Fontdaten, verteilt auf vier separate HTTP-Requests. Jeder Request kostet Zeit, für DNS-Lookup, Connection-Setup, TLS-Handshake und den eigentlichen Download. In Zeiten mobiler Verbindungen mit hoher Latenz summiert sich das zu spürbaren Verzögerungen.

Mit Variable Fonts reduziert sich das auf eine einzige Datei:

Inter-Variable.woff2      (ca. 120 KB)

Die Datei ist oft sogar kleiner als die Summe der einzelnen statischen Fonts, weil Glyphen-Daten intern wiederverwendet werden. Gleichzeitig enthält sie nicht nur vier, sondern theoretisch unendlich viele Gewichte und zwar jeden Wert zwischen 200 und 900.

Die Vorteile sind messbar. Weniger HTTP-Requests bedeuten schnellere Ladezeiten, besonders auf Verbindungen mit hoher Latenz (3G, 4G). Die geringere Gesamtdatenmenge reduziert den Datenverbrauch, was für mobile Nutzer entscheidend ist. Eine bessere Caching-Strategie ist möglich, weil nur eine Datei gecacht werden muss, nicht vier oder mehr. Und schließlich verbessern sich die Core Web Vitals und das insbesondere First Contentful Paint (FCP) und Largest Contentful Paint (LCP), weil Texte schneller vollständig gerendert werden können.

Gerade für performancekritische Webapps, Dashboards oder Content-Sites mit großer Reichweite ist das ein echter Gewinn. Jede eingesparte Millisekunde beim Laden wirkt sich direkt auf die User Experience aus.

Moderne Nutzung: CSS Custom Properties für Font-Achsen

Die Kombination von Variable Fonts mit CSS Custom Properties ermöglicht ein systematisches, skalierbares typografisches System. Statt Achsenwerte direkt in den Komponenten-Styles zu setzen, definiert man zentrale Design Tokens, die als Single Source of Truth dienen. Diese Tokens lassen sich dann projekt- oder themenweit anpassen, ohne einzelne Komponenten anfassen zu müssen.

Der Ansatz ist simpel, aber wirkungsvoll. Man definiert typografische Variablen im :root oder in themenspezifischen Scopes:

:root {
  --wght-regular: 350;
  --wght-medium: 500;
  --wght-bold: 700;
  --wght-black: 850;

  --opsz-body: 16;
  --opsz-heading: 32;
  --opsz-display: 48;
}

Diese Werte sind nicht willkürlich, sondern folgen der visuellen Hierarchie des Projekts. Ein Gewicht von 350 ist oft lesbarer als das Standard-400, insbesondere auf hochauflösenden Displays. Ein Wert von 850 für Headlines erzeugt mehr visuelle Präsenz als das übliche 700, ohne übertrieben schwer zu wirken.

Die Verwendung dieser Tokens in den Styles ist dann denkbar einfach:

body {
  font-variation-settings: "wght" var(--wght-regular), "opsz" var(--opsz-body);
}

h1, h2 {
  font-variation-settings: "wght" var(--wght-bold), "opsz" var(--opsz-heading);
}

.display-title {
  font-variation-settings: "wght" var(--wght-black), "opsz" var(--opsz-display);
}

Dieser Ansatz hat mehrere Vorteile. Erstens entsteht ein skalierbares, systematisches typografisches Fundament, das über das gesamte Projekt hinweg konsistent ist. Zweitens lassen sich Gewichte und optische Größen zentral anpassen, etwa wenn das Design Team entscheidet, dass Headlines einen Tick kräftiger wirken sollen. Drittens ermöglicht es Theme-Switching z.B. für Light/Dark Mode oder Brand-Varianten kann man einfach andere Werte für dieselben Variablen definieren. Und viertens ist es wartbar und dokumentiert, weil die Namen der Variablen ihre Funktion klar kommunizieren.

Kontextabhängige Typografie in realen Interfaces

Variable Fonts ermöglichen es, Typografie präzise auf den Kontext abzustimmen. Eine Sidebar hat andere gestalterische Anforderungen als ein Hero-Bereich. In einer kompakten Sidebar müssen Headlines prägnant und platzsparend wirken, während eine Marketing-Page auf visuelle Wirkung und Präsenz setzt. Mit Variable Fonts lässt sich das technisch sauber lösen, ohne unterschiedliche Fonts zu laden.

Eine Sidebar soll kompakter wirken, Überschriften sollen stärker betont sein, aber nicht zu viel Raum einnehmen. Hier bietet sich eine Kombination aus moderatem Gewicht, leicht reduzierter Breite und angepasster optischer Größe an:

.sidebar h2 {
  font-variation-settings:
    "wght" 600,
    "wdth" 90,
    "opsz" 24;
}

Das Gewicht von 600 sorgt für ausreichend visuelle Präsenz, ohne zu dominant zu wirken. Die Breite von 90% (statt 100%) macht den Text kompakter und spart horizontalen Raum. Die optische Größe von 24 ist auf mittlere Schriftgrößen optimiert und sorgt dafür, dass die Zeichen auch bei begrenztem Platz gut lesbar bleiben.

Für eine Marketingseite dagegen sind andere Prioritäten wichtig. Hier zählt visuelle Wirkung, Markenpräsenz und emotionale Ansprache. Der Hero-Titel sollte kraftvoll, aber nicht überladen wirken:

.hero-title {
  font-variation-settings:
    "wght" 750,
    "wdth" 105,
    "opsz" 48;
}

Ein Gewicht von 750 ist schwerer als Bold (700), aber nicht so extrem wie Black (900). Es wirkt kraftvoll, ohne aggressiv zu sein. Die Breite von 105% macht die Zeichen breiter und gibt dem Titel mehr horizontale Präsenz. Die optische Größe von 48 ist für große Display-Schriften optimiert und sorgt dafür, dass die Glyphen bei großer Darstellung eleganter und feiner wirken.

Damit wird Typografie zu einem flexiblen Designwerkzeug, das sich präzise auf den jeweiligen Kontext einstellen lässt, ohne zusätzliche Fontdateien zu laden oder komplexe Overrides zu schreiben.

Fluid Weight – dynamische Skalierung für responsive Typografie

Variable Fonts eröffnen eine völlig neue Möglichkeit für responsive Typografie. Während man früher bei Breakpoints zwischen verschiedenen Schriftschnitten wechseln musste (etwa von Regular auf Bold), erlauben Variable Fonts fluide Übergänge. Das bedeutet: Das Gewicht einer Schrift kann sich kontinuierlich mit der Viewport-Breite verändern, ohne harte Sprünge.

Die Technik ist elegant und nutzt clamp() oder viewport-basierte Einheiten in Kombination mit font-variation-settings:

h1 {
  font-variation-settings: "wght" clamp(500, 5vw, 800);
}

Was passiert hier? Bei sehr schmalen Viewports (Mobile) hat die Überschrift ein Gewicht von 500. Das macht sie lesbar, aber nicht zu schwer, sodass sie auch auf kleinen Bildschirmen nicht überladen wirkt. Mit wachsender Viewport-Breite steigt das Gewicht linear an. Der Wert 5vw bedeutet 5% der Viewport-Breite. Bei einem 1000px breiten Viewport entspricht das 50 (5% von 1000px = 50px, als numerischer Wert interpretiert), bei 1600px sind es 80. Bei großen Desktop-Bildschirmen erreicht das Gewicht schließlich 800 – kraftvoll und präsent, passend zur größeren visuellen Fläche.

Das ist ein subtiler, aber spürbarer Effekt. Große Überschriften wirken auf Desktop stärker und dominanter, während sie auf Mobile leichter und luftiger erscheinen. Entscheidend ist: Die Schrift wirkt dabei nie unproportional oder übertrieben. Der Übergang ist organisch und passt sich der verfügbaren Fläche an.

Diese Technik funktioniert besonders gut bei Headlines, Hero-Texten und Display-Typo, wo visuelle Wirkung wichtig ist. Für Fließtext ist sie weniger geeignet, weil dort Lesbarkeit Priorität hat und zu viel Variation stören kann. Aber für gestalterische Akzente ist Fluid Weight ein mächtiges Werkzeug, das ohne JavaScript oder Media Queries auskommt und dennoch perfekt auf den Kontext reagiert.

Ein weiterer Vorteil: Fluide Gewichte lassen sich mit anderen fluiden Werten kombinieren, etwa font-size: clamp(...) oder line-height: clamp(...). So entsteht ein vollständig responsives typografisches System, das sich organisch an jede Bildschirmgröße anpasst.

Optical Sizing – oft vergessen, aber extrem wichtig

Optical Sizing ist eine der am meisten unterschätzten Features von Variable Fonts. Die Achse opsz erlaubt es, die Schrift automatisch an die optimale Lesbarkeit für die jeweilige Größe anzupassen. Das Prinzip stammt aus der klassischen Typografie, wo man für kleine Schriftgrößen (etwa in Fußnoten) andere Schnitte verwendete als für große Überschriften. Kleine Schriften benötigen mehr Strichstärke, offenere Formen und größere Innenräume, um lesbar zu bleiben. Große Schriften dagegen können feiner, eleganter und detaillierter sein.

Variable Fonts mit opsz-Achse automatisieren diesen Prozess. Man kann entweder dem Browser die Kontrolle überlassen:

body {
  font-optical-sizing: auto;
}

Das funktioniert gut, wenn der Font gut designt ist und sinnvolle Defaults mitbringt. Der Browser wählt dann automatisch die passende optische Größe basierend auf der aktuellen font-size.

Für mehr Kontrolle kann man die optische Größe manuell setzen:

body {
  font-variation-settings: "opsz" 14;
}

Hier wird die optische Größe auf 14 fixiert, was für Fließtext im Bereich von 14-16 Pixeln ideal ist. Die Glyphen sind robuster, die Strichstärke ist konsistenter, und die Innenräume sind groß genug, um auch bei kleineren Größen oder auf niedrig aufgelösten Bildschirmen gut lesbar zu bleiben.

Für große Überschriften sollte man eine größere optische Größe wählen:

h1 {
  font-variation-settings: "opsz" 48;
}

Was passiert dabei technisch? Bei kleineren optischen Größen (z.B. 14) wird die Schrift breiter und robuster. Die Strichstärke ist gleichmäßiger und die Innenräume der Buchstaben sind größer. Das verhindert, dass Buchstaben wie „e” oder „a” bei kleinen Schriftgrößen zulaufen oder unleserlich werden. Bei größeren optischen Größen (z.B. 48) wird die Schrift eleganter und feiner. Die Strichstärke variiert stärker (mehr Kontrast zwischen dünnen und dicken Linien), und die Details sind präziser. Das gibt großen Headlines mehr Ausdruck und Persönlichkeit.

Ein oft unterschätztes Feature, das den Unterschied zwischen „funktioniert” und „sieht professionell aus” ausmacht. Gerade in modernen Designsystemen, die sowohl kleine UI-Texte als auch große Marketing-Headlines abdecken müssen, ist Optical Sizing ein entscheidender Faktor für konsistente Qualität über alle Schriftgrößen hinweg.

Interpolationen und Animationen – weiche Übergänge statt harte Sprünge

Eine der faszinierendsten Eigenschaften von Variable Fonts ist die Fähigkeit, zwischen verschiedenen Stilen nahtlos zu interpolieren. Da alle Varianten innerhalb einer einzigen Fontdatei als kontinuierliche Achsen definiert sind, lassen sich Übergänge animieren. Das eröffnet gestalterische Möglichkeiten, die mit statischen Fonts schlicht nicht realisierbar wären.

Die Übergänge können verschiedene Achsen betreffen. Von Regular zu Bold, von Condensed zu Expanded oder sogar von Roman zu Italic. Da die Werte stufenlos sind, entstehen keine harten Sprünge, sondern organische, fließende Transformationen.

Mit CSS-Transitions lassen sich solche Übergänge elegant umsetzen:

.button {
  font-variation-settings: "wght" 500;
  transition: font-variation-settings 160ms ease;
}

.button:hover {
  font-variation-settings: "wght" 650;
}

Was hier passiert, ist subtil, aber wirkungsvoll. Beim Hovern über den Button steigt das Gewicht der Schrift von 500 auf 650. Die Transition dauert 160 Millisekunden und verläuft mit einer ease-Kurve, was sich natürlich und responsiv anfühlt. Das Ergebnis: Der Button wirkt beim Hover nicht nur visuell anders, sondern die Veränderung ist spürbar. Das erzeugt ein hochwertiges Microinteractions-Feeling, das Interfaces lebendiger und interaktiver macht.

Wichtig ist: Die Animation sollte subtil sein. Zu große Gewichtssprünge (etwa von 300 zu 900) oder zu lange Transitionen wirken unnatürlich und können sogar irritierend sein. Ein Gewichtsunterschied von 100-200 Einheiten über 120-200 Millisekunden ist in den meisten Fällen ideal.

Solche Animationen funktionieren besonders gut bei interaktiven Elementen wie Buttons, Links, Tabs oder Navigationsitems. Sie geben dem Nutzer visuelles Feedback und verstärken das Gefühl, dass die Oberfläche auf Interaktionen reagiert. Und das Beste: Es ist performant. Da nur CSS-Eigenschaften animiert werden, läuft die Animation direkt auf der GPU, ohne JavaScript-Overhead.

Ein weiteres Anwendungsfeld sind Scroll-Animationen. Man könnte das Gewicht einer Überschrift mit der Scroll-Position koppeln, sodass sie beim Scrollen leichter oder schwerer wird. Oder man könnte die Breite eines Navigationsitems anpassen, wenn es aktiv wird. Die Möglichkeiten sind vielfältig, und mit Intersection Observer oder CSS Scroll-Driven Animations lassen sich solche Effekte heute auch ohne große JavaScript-Bibliotheken umsetzen.

Variable Fonts in Designsystemen

Ein modernes Designsystem profitiert enorm von Variable Fonts. Sie lösen mehrere strukturelle Probleme, die in traditionellen Typografie-Setups immer wieder auftreten. Statt für jede Gewichtsvariante (Light, Regular, Medium, Semibold, Bold, Black) separate Fontdateien zu verwalten, benötigt man nur eine einzige. Das reduziert nicht nur die Datenmenge, sondern auch die organisatorische Komplexität.

In traditionellen Designsystemen musste man oft Kompromisse eingehen. Will man wirklich sechs verschiedene Schriftschnitte laden, nur um feinere Abstufungen zu haben? Oder beschränkt man sich auf Regular und Bold, akzeptiert aber, dass die visuelle Hierarchie dadurch gröber wird? Mit Variable Fonts stellt sich diese Frage nicht mehr. Man kann beliebig viele Gewichte definieren, ohne zusätzliche Dateien zu laden.

Das ermöglicht feinere Abstufungen. Statt nur 400 (Regular) und 700 (Bold) kann man Zwischenstufen wie 450, 500, 550, 600 oder 650 definieren. Das erlaubt präzisere visuelle Hierarchien. Eine Subheadline könnte mit 550 gestaltet werden und so leicht betonter als Regular, aber weniger dominant als Bold. Ein Call-to-Action-Button könnte 625 verwenden, das wäre kräftig genug, um aufzufallen, aber nicht so schwer wie 700.

Ein typisches Token-Set für ein Designsystem könnte so aussehen:

:root {
  --font-wght-text: 350;
  --font-wght-ui: 450;
  --font-wght-subheading: 550;
  --font-wght-heading: 700;
  --font-wght-display: 800;
}

Diese Tokens lassen sich dann komponentenübergreifend einsetzen:

h2 {
  font-variation-settings: "wght" var(--font-wght-subheading);
}

.button {
  font-variation-settings: "wght" var(--font-wght-ui);
}

.hero-title {
  font-variation-settings: "wght" var(--font-wght-display);
}

Die Vorteile sind vielfältig. Weniger Schriftfamilien und Dateien bedeuten einfacheres Asset-Management und schnelleres Onboarding für neue Team-Mitglieder. Konsistente Skalen über alle Komponenten hinweg sorgen für visuelle Kohärenz. Feinere Abstufungen ermöglichen differenziertere Hierarchien, ohne neue Fontdateien laden zu müssen. Flexible Brand-Versionen lassen sich leicht realisieren. Für White-Label-Produkte oder Subbrands kann man einfach andere Gewichtswerte definieren. Und die reduzierte Komplexität macht das System wartbarer und robuster.

Ein weiterer Punkt: Variable Fonts sind perfekt für Multi-Brand-Designsysteme. Wenn man mehrere Marken mit einem gemeinsamen Designsystem bedient, kann man dieselbe Variable-Font-Datei verwenden, aber für jede Marke andere Gewichtswerte definieren. Marke A verwendet vielleicht 350 für Fließtext, Marke B verwendet 400. Die technische Basis bleibt identisch, nur die typografischen Token ändern sich. Das ist typografische Präzision auf einem Level, das früher schlicht nicht möglich war.

Grenzen und Herausforderungen von Variable Fonts

Trotz aller Vorteile gibt es Grenzen und Herausforderungen, die man kennen sollte. Variable Fonts sind nicht die Universallösung für jede typografische Anforderung, und es gibt Situationen, in denen statische Fonts die bessere Wahl sein können.

Die erste Einschränkung betrifft die Achsen-Unterstützung. Nicht jeder Variable Font unterstützt alle Achsen. Manche bieten nur wght, andere zusätzlich wdth und opsz, wieder andere haben custom Axes. Vor dem Einsatz muss man prüfen, welche Achsen der gewählte Font tatsächlich mitbringt. Tools wie die Variable Fonts-Sektion der Browser DevTools oder Online-Tools wie Wakamai Fondue helfen dabei.

Die zweite Herausforderung ist die Qualität des Font-Designs. Ein Variable Font ist nur so gut wie seine Interpolationen. Wenn die Master-Designs nicht sorgfältig aufeinander abgestimmt sind, können Zwischenwerte seltsam aussehen. Manche Fonts haben unsaubere Übergänge, bei denen Glyphen bei bestimmten Gewichten plötzlich unförmig oder inkonsistent wirken. Hier hilft nur: Testen. Man sollte verschiedene Werte durchprobieren und visuell prüfen, ob die Interpolationen sauber funktionieren.

Der Browser-Support ist heute sehr gut. Alle modernen Browser unterstützen Variable Fonts (Chrome 66+, Firefox 62+, Safari 11+, Edge 17+). Allerdings gibt es immer noch Nutzer mit älteren Browsern, insbesondere auf älteren Mobilgeräten oder in Enterprise-Umgebungen mit veralteten Browser-Versionen. Für diese Fälle sollte man einen Fallback definieren:

@supports (font-variation-settings: normal) {
  body {
    font-family: "InterVariable", sans-serif;
    font-variation-settings: "wght" 350, "opsz" 16;
  }
}

@supports not (font-variation-settings: normal) {
  body {
    font-family: "Inter", sans-serif;
    font-weight: 400;
  }
}

Das stellt sicher, dass auch Nutzer mit älteren Browsern eine lesbare Typografie bekommen, nur eben mit statischen Fonts. Alternativ kann man auch einen progressiven Ansatz wählen, bei dem man statische Fonts als Basis lädt und Variable Fonts als Enhancement darüber legt.

Eine weitere Herausforderung ist das Rendering auf sehr alten Devices. Auf manchen älteren Smartphones oder Low-End-Geräten kann das Rendering von Variable Fonts leicht variieren. Die Unterschiede sind meist minimal, aber in perfektionistischen Design-Teams kann das zu Diskussionen führen. Hier hilft: Priorisierung. Für die große Mehrheit der Nutzer funktionieren Variable Fonts perfekt. Für die kleine Minderheit mit alten Geräten kann man einen Fallback definieren.

Eine letzte Einschränkung: Lizenzkosten. Nicht alle Variable Fonts sind kostenlos. Manche kommerzielle Fonts berechnen höhere Lizenzgebühren für Variable-Varianten als für statische Schnitte. Das muss man bei der Budgetplanung berücksichtigen. Es gibt jedoch auch exzellente kostenlose Variable Fonts wie Inter, Recursive, Roboto Flex oder die Google Fonts-Collection, die für die meisten Projekte völlig ausreichen.

Für moderne Webprojekte ist der Einsatz von Variable Fonts jedoch in den allermeisten Fällen empfehlenswert. Die Performance-Vorteile, die gestalterische Flexibilität und die technische Eleganz überwiegen die Einschränkungen bei weitem.

Vollständige Implementierung für ein modernes Projekt

Eine saubere Implementierung von Variable Fonts kombiniert alle besprochenen Aspekte zu einem kohärenten System. Es beginnt mit der korrekten @font-face-Deklaration, die dem Browser mitteilt, welche Achsen verfügbar sind und welche Wertebereiche sie abdecken. Dann folgen Design Tokens für konsistente Gewichte und optische Größen. Schließlich werden diese Tokens in den tatsächlichen Styles verwendet.

Die @font-face-Deklaration ist der Ausgangspunkt:

@font-face {
  font-family: "InterVariable";
  src: url("/fonts/InterVariable.woff2") format("woff2-variations");
  font-weight: 200 900;    /* wght axis range */
  font-stretch: 75% 125%;  /* wdth axis range */
  font-style: normal;
  font-display: swap;      /* Prevent FOIT */
}

Hier definiert man die Font-Familie, die Quelle (idealerweise als woff2-variations für optimale Kompression), die verfügbaren Achsenbereiche und die Display-Strategie. font-display: swap sorgt dafür, dass Text sofort mit einer Fallback-Schrift angezeigt wird und dann zur Variable Font wechselt, sobald sie geladen ist. Das verhindert Flash of Invisible Text (FOIT) und verbessert die wahrgenommene Performance.

Die Design Tokens bilden die zweite Schicht:

:root {
  /* Weight tokens */
  --font-text: 350;
  --font-ui: 450;
  --font-subheading: 550;
  --font-heading: 700;
  --font-display: 850;

  /* Optical size tokens */
  --opsz-body: 16;
  --opsz-ui: 18;
  --opsz-heading: 32;
  --opsz-display: 48;
}

Diese Tokens sind semantisch benannt. --font-text ist für Fließtext, --font-ui für UI-Elemente wie Buttons und Labels, --font-subheading für Zwischenüberschriften, --font-heading für Hauptüberschriften und --font-display für große Hero-Texte. Die optischen Größen sind entsprechend auf die typischen Schriftgrößen der jeweiligen Kontexte abgestimmt.

Die Anwendung ist dann denkbar einfach:

body {
  font-family: "InterVariable", system-ui, sans-serif;
  font-variation-settings: "wght" var(--font-text), "opsz" var(--opsz-body);
  font-feature-settings: "kern" 1, "liga" 1;
}

h1 {
  font-variation-settings: "wght" var(--font-heading), "opsz" var(--opsz-heading);
}

.hero-title {
  font-variation-settings: "wght" var(--font-display), "opsz" var(--opsz-display);
}

button, .btn {
  font-variation-settings: "wght" var(--font-ui), "opsz" var(--opsz-ui);
}

Zusätzlich aktiviert font-feature-settings nützliche OpenType-Features wie Kerning und Ligaturen, die die Lesbarkeit weiter verbessern.

Das ist eine moderne, saubere, performante Typografie-Architektur. Sie ist wartbar, weil alle Werte zentral definiert sind. Sie ist skalierbar, weil neue Komponenten einfach die bestehenden Tokens verwenden können. Sie ist performant, weil nur eine einzige Fontdatei geladen wird. Und sie ist flexibel, weil man Gewichte und optische Größen präzise auf jeden Kontext abstimmen kann.

Fazit

Variable Fonts repräsentieren einen fundamentalen Fortschritt in der Webtypografie. Sie machen Typografie flexibler, präziser und performanter, als es mit statischen Fonts jemals möglich war. Die technischen Vorteile sind messbar. Weniger HTTP-Requests, geringere Dateigrößen und schnellere Ladezeiten führen zu besseren Core Web Vitals und einer spürbar verbesserten User Experience.

Aber die wirkliche Stärke von Variable Fonts liegt in der gestalterischen Freiheit, die sie eröffnen. Feinere Gewichtsabstufungen ermöglichen differenziertere visuelle Hierarchien. Optical Sizing sorgt für optimale Lesbarkeit über alle Schriftgrößen hinweg. Fluide Gewichte und Animationen schaffen organische, responsive Typografie, die sich elegant an den Kontext anpasst. Und die Integration in moderne Designsysteme mit CSS Custom Properties macht das gesamte System wartbar, skalierbar und zukunftssicher.

Die Herausforderungen sind überschaubar. Browser-Support ist heute exzellent, und für die wenigen verbleibenden Edge Cases lassen sich saubere Fallbacks definieren. Die Qualität hängt vom Font-Design ab, aber mit sorgfältiger Auswahl und Testing lassen sich hervorragende Ergebnisse erzielen. Und während manche kommerzielle Fonts Lizenzkosten verursachen, gibt es auch eine wachsende Anzahl exzellenter kostenloser Variable Fonts.

Für moderne Webprojekte sind Variable Fonts heute der Standard, nicht die Ausnahme. Sie vereinfachen Designsysteme, reduzieren technische Komplexität und eröffnen gestalterische Möglichkeiten, die früher schlicht nicht realisierbar waren. Die Zukunft der Webtypografie ist variabel und das ist gut so.


☕ Buy me a coffee

Wenn Dir meine Beiträge gefallen und sie Dir bei Deiner Arbeit helfen, würde ich mich über einen "Kaffee" und ein paar nette Worte von Dir freuen.

Buy me a coffee

Next Post
Türchen 15 – Moderne Typografie in CSS

Kommentare