Der clamp()-Wert für 24–48px
Bei einem Viewport-Bereich von 320px bis 1280px lautet das Ergebnis clamp(1.5rem, 1rem + 2.5vw, 3rem). Pro 100px Viewport-Breite wächst die Größe um 2,5px und erreicht etwa 35,2px auf einem 768px-Tablet und 41,6px bei 1024px, bevor sie ab 1280px bei 48px 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 24px bis 48px passt
24 bis 48px ist eine gängige Wahl für h2-Überschriften und Feature-Titel. Die Größe verdoppelt sich über den Bereich – das gibt Desktop-Layouts starken Kontrast und hält Überschriften auf dem Smartphone bei ein bis zwei Zeilen.
Das Maximum ist das 2-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 = (48 − 24) ÷ (1280 − 320) = 0,025, also 2,5vw. Achsenabschnitt = 24 − 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.5rem,1rem_+_2.5vw,3rem)]. Brauchst du einen ganzen Satz zusammengehöriger Größen, baut der Typo-Skala-Generator Stufen um eine Basisgröße mit demselben Viewport-Bereich.