Der clamp()-Wert für 16–20px
Bei einem Viewport-Bereich von 320px bis 1280px lautet das Ergebnis clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem). Pro 100px Viewport-Breite wächst die Größe um 0,42px und erreicht etwa 17,9px auf einem 768px-Tablet und 18,9px bei 1024px, bevor sie ab 1280px bei 20px bleibt.
Der bevorzugte Wert kombiniert einen festen rem-Anteil mit einem vw-Anteil. Der rem-Anteil hält den Text an die Browser-Schriftgröße der Leser gebunden, der vw-Anteil liefert das Wachstum. Ändere die Viewport-Felder oben, wenn dein Layout-Container früher oder später aufhört zu wachsen.
Wann 16px bis 20px passt
16 bis 20px ist ein klassischer Bereich für Fließtext auf Content-Websites. Smartphones behalten die 16px des Browser-Standards, Desktop-Leser bekommen eine größere Schrift, die zu längeren Zeilen passt. Blogs, Dokumentation und lange Artikel profitieren am meisten.
Das Maximum ist das 1,25-Fache des Minimums und liegt damit innerhalb der 2,5×-Richtlinie, die oft für WCAG 1.4.4 Textgröße ändern herangezogen wird. Browser-Zoom vergrößert diese Größe also weiterhin vorhersehbar.
So entstehen die Zahlen
Steigung = (20 − 16) ÷ (1280 − 320) = 0,0042, also 0,4167vw. Achsenabschnitt = 16 − Steigung × 320 = 14,67px bzw. 0,9167rem bei 16px Root-Schriftgröße. Diese beiden Zahlen bilden das mittlere Argument von clamp(); das erste und letzte Argument sind dein Minimum und Maximum, umgerechnet in rem.
Im eigenen Projekt verwenden
Füge den Wert in eine font-size-Deklaration ein, speichere ihn in einer Custom Property wie --fluid-size oder nutze die Tailwind-Klasse text-[clamp(1rem,0.9167rem_+_0.4167vw,1.25rem)]. Brauchst du einen ganzen Satz zusammengehöriger Größen, baut der Typo-Skala-Generator Stufen um eine Basisgröße mit demselben Viewport-Bereich.