Fast jeder Button hat dasselbe kleine Problem: Das Padding ist oben und unten gleich, und trotzdem sitzt die Beschriftung sichtbar zu tief. Der Grund liegt nicht im Button, sondern in der Schrift. Jede Zeile bringt über den Großbuchstaben und unter der Grundlinie Raum mit, den die Schrift für Akzente und Unterlängen reserviert, und dieser Raum ist oben meist größer als unten. Bisher half nur Ausprobieren: ein Pixel mehr Padding unten, ein negativer Rand, eine Korrektur, die beim nächsten Schriftwechsel wieder falsch ist. Mit text-box lässt sich dieser Raum abschneiden, sodass die Box genau an der Oberkante der Großbuchstaben und an der Grundlinie endet. Safari hat die Eigenschaft als erster Browser in Version 18.2 im Dezember 2024 ausgeliefert, Chrome mit Version 133 Anfang 2025, Firefox mit Version 154. Seit August 2026 führt MDN sie als Baseline. Dieser Beitrag zeigt, woher der Versatz kommt, welche Werte es gibt, wo die Eigenschaft hilft und wo sie nicht greift.
- Text sitzt im Button zu tief, weil die Zeile über den Großbuchstaben mehr leeren Raum mitbringt als unter der Grundlinie. Gleiches Padding ergibt deshalb ungleiche Abstände zur sichtbaren Schrift.
- text-box: trim-both cap alphabetic schneidet die erste Zeile oben an der Großbuchstabenhöhe und die letzte unten an der Grundlinie ab. Danach entspricht das Padding dem Abstand, den man sieht.
- Die Eigenschaft gilt für Blockcontainer und Inline-Boxen und wird nicht vererbt. Bei einem Button mit inline-flex gehört sie deshalb auf das Element mit dem Text, nicht auf den Button.
- Browser ohne Unterstützung zeigen den Button wie bisher. Die Angabe ist eine Zugabe, die man ohne Abfrage ergänzen kann, solange das Padding auch ungetrimmt brauchbar aussieht.
Was macht text-box-trim genau?
Sie schneidet den Raum zwischen der Kante der Box und der sichtbaren Schrift ab, oben an der ersten Zeile, unten an der letzten oder an beiden. Wo genau geschnitten wird, bestimmt text-box-edge. Mit cap endet die Box oben an der Höhe der Großbuchstaben, mit alphabetic unten an der Grundlinie. Danach ist das Padding der Abstand, den man auch sieht.
Die Kurzschreibweise text-box fasst beides zusammen. text-box: trim-both cap alphabetic schneidet oben an der Großbuchstabenhöhe und unten an der Grundlinie, und weil fehlende Teile ergänzt werden, reicht auch text-box: cap alphabetic. Der Ausgangswert ist normal, also kein Schnitt. Die Eigenschaft wird nicht vererbt und gilt für Blockcontainer und Inline-Boxen.
Safari hat sie in Version 18.2 als erster Browser ausgeliefert, Chrome in Version 133. Firefox unterstützt sie laut caniuse seit Version 154, MDN führt sie seit August 2026 als Baseline. In frühen Entwürfen hieß sie leading-trim, und unter diesem Namen tauchen in älteren Beiträgen noch Beispiele auf, die heute nicht mehr funktionieren.
.button { padding: 0.75rem 1.25rem; line-height: 1.4;} /* the box now ends at cap height and at the baseline */ .button { text-box: trim-both cap alphabetic; }
Welche Kanten passen zu welcher Schrift?
Für Buttons, Etiketten und Überschriften ist cap alphabetic fast immer die richtige Wahl. Die meisten Beschriftungen beginnen mit einem Großbuchstaben oder bestehen ganz daraus, und das Auge misst den Abstand oben an genau dieser Kante. Unten misst es an der Grundlinie, nicht an den Unterlängen, die bei einem g oder y ins Padding ragen dürfen.
Anders ist es bei Text, der ganz klein geschrieben ist. Dort gibt es oft keine Großbuchstaben, an denen sich das Auge orientiert, und die sichtbare Oberkante liegt auf der Höhe der Kleinbuchstaben. Für diesen Fall gibt es ex als obere Kante. Ein Button mit der Beschriftung weiter oder ein Etikett in Kleinschreibung sitzt damit mittig, wo cap ihn optisch zu tief zeigen würde.
Die dritte Kante, text, entspricht dem Ausgangszustand der Schrift und ist dort nützlich, wo man nur eine Seite schneiden will. Über trim-start oder trim-end lässt sich zum Beispiel nur die Oberkante einer Überschrift abschneiden, damit sie bündig mit einem Bild daneben beginnt, während der Abstand zum folgenden Absatz unverändert bleibt.
- cap alphabetic Für Buttons, Etiketten, Zahlen in Kennzahlen und Überschriften mit großem Anfangsbuchstaben. Die häufigste Wahl.
- ex alphabetic Für Beschriftungen ganz in Kleinbuchstaben, bei denen die Höhe der Kleinbuchstaben die sichtbare Oberkante ist.
- trim-start cap Nur oben schneiden, etwa damit eine Überschrift mit der Oberkante eines Bildes oder einer Linie abschließt.
Was passiert in Browsern ohne Unterstützung?
Nichts, was kaputt aussieht. Ein Browser, der text-box nicht kennt, überspringt die Angabe und zeigt die Zeile so, wie sie vorher aussah, mit dem leichten Versatz nach unten. Die Eigenschaft legt also etwas obendrauf, sie ersetzt nichts, und eine Abfrage mit @supports ist für den einfachen Fall nicht nötig.
Eine Abfrage lohnt sich nur, wenn das Padding auf den Schnitt abgestimmt ist und ohne ihn zu groß wäre. Dann schreibt man das Padding für die ungeschnittene Fassung als Standard und setzt das kleinere oder größere Padding zusammen mit text-box in einen Block mit @supports (text-box: cap alphabetic). So bekommt jeder Browser die Höhe, die zu seinem Verhalten passt.
Für die Prüfung reichen zwei Blicke. Im aktuellen Browser muss der Abstand über den Großbuchstaben gleich dem unter der Grundlinie sein, am einfachsten zu sehen bei einem Wort ohne Unterlängen wie START. In einem älteren Browser darf der Button etwas tiefer sitzen, aber nicht so eng, dass die Schrift an den Rand stößt.
.button { padding-block: 0.625rem;} @supports (text-box: cap alphabetic) { .button { padding-block: 0.875rem; text-box: trim-both cap alphabetic; }}
Erst die Fassung, die überall trägt. Dann der Schnitt obendrauf.






