Hairline
Rahmen und Ringe, die auf jedem Bildschirm genau ein Geräte-Pixel breit sind, über eine einzige Variable, die das ganze Theme liest.
Hairline ist Teil des HextaUI-Themes. Wenn du das Theme oder eine beliebige Komponente hinzugefügt hast, ist es vorhanden.
pnpm dlx shadcn@latest add https://hextaui.com/r/theme.jsonOder füge es von Hand zu deinem globalen CSS hinzu.
Du musst selten direkt darauf zugreifen. Das Theme macht es zur Standard-Rahmenbreite, sodass border, border-t und divide-y alle Hairlines zeichnen. Verwende die Variable direkt dort, wo Tailwind keinen Standard hat, etwa bei Ringen, Outlines und mit einem Hintergrund gezeichneten Linien.
Ein CSS-Pixel deckt auf den meisten Bildschirmen zwei oder drei physische Pixel ab, ein 1px-Rahmen ist also in Wirklichkeit zwei oder drei Geräte-Pixel dick. --hairline teilt durch das Pixelverhältnis des Displays, sodass jede Linie genau ein Geräte-Pixel misst, so wie native Apps Trennlinien zeichnen. Auf einem Standarddisplay bleibt es 1px.
| Pixelverhältnis | Beschreibung |
|---|---|
1× | 1px |
1.5× | 0.667px |
2× | 0.5px |
3× | 0.333px |
4× | 0.25px |
Listen und Karten
Einfaches border und divide-y. Dünnere Trennlinien gruppieren Zeilen, ohne sie einzusperren.
- HextaUI-Komponenten zeichnen Kanten mit
inset-ring-(length:--hairline)statt mit Rahmen. Ein Inset-Ring beansprucht keinen Layoutplatz, sodass ein Zustand, der Farbe oder Breite des Rings ändert, den Inhalt nie verschiebt. - Hairlines wirken auf der Seite heller, daher kann eine für 1px-Linien abgestimmte Rahmenfarbe blass aussehen. Das
--borderdes Themes ist auf Hairlines abgestimmt. - Verwende
border-2oder breiter zur Betonung, etwa bei einer ausgewählten Karte. Diese bleiben in CSS-Pixeln.
| Name | Beschreibung |
|---|---|
--hairline | Ein Geräte-Pixel, in CSS-Pixeln. |
border-hairline | Setzt border-width auf --hairline. |
--default-border-width | Auf --hairline gesetzt, sodass border und divide es als Standard verwenden. |