Der clamp()-Wert für 18–24px
Bei einem Viewport-Bereich von 320px bis 1280px lautet das Ergebnis clamp(1.125rem, 1rem + 0.625vw, 1.5rem). Pro 100px Viewport-Breite wächst die Größe um 0,63px und erreicht etwa 20,8px auf einem 768px-Tablet und 22,4px bei 1024px, bevor sie ab 1280px bei 24px 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 18px bis 24px passt
18 bis 24px passt zu h4- und h5-Überschriften, Kartentiteln, Zitaten und größerem Fließtext auf Landingpages. Der Start bei 18px hebt sich selbst auf den kleinsten Bildschirmen vom 16px-Fließtext ab.
Das Maximum ist das 1,33-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 = (24 − 18) ÷ (1280 − 320) = 0,0063, also 0,625vw. Achsenabschnitt = 18 − Steigung × 320 = 16px bzw. 1rem 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(1.125rem,1rem_+_0.625vw,1.5rem)]. Brauchst du einen ganzen Satz zusammengehöriger Größen, baut der Typo-Skala-Generator Stufen um eine Basisgröße mit demselben Viewport-Bereich.