Divider

Dividers separate content. The dashed variant is Settld's signature — it echoes the ruled lines of a khata ledger and creates a visual rhythm that's immediately recognisable. Use solid for card interiors, dashed for list rows and activity feeds.

Variants

Solid


Dashed


Labeled

This month

Solid is a 1px line in --ink-line. Use it inside cards, between form sections, and below section headings. It's the quietest separator.

Dashed is the ledger line — 1px dashed in --ink-line. Use it between list rows in transaction histories and activity feeds. It carries the khata visual language without becoming decorative.

Labeled is a solid line with a centered mono-uppercase label. Use it to separate time buckets ("This month", "Last week", "August") in chronological feeds. The label floats on the line — it doesn't break it.

Inset

R
Rohan
Farzi Cafe, Cyber Hub
₹840

P
Priya
Swiggy order, biryani
₹620

A
Aarav
Goa Airbnb deposit
₹3,200

The .divider-inset modifier offsets the line by 56px — aligned with the right edge of a 36px avatar plus 16px gap, plus 4px extra. This preserves the visual column of avatars and avoids a line that runs under the avatar.

Spacing

ClassMargin top/bottomUse case
.divider-my-sm8px / 8pxBetween list rows in compact layouts
.divider-my-md16px / 16pxDefault — between card sections, form groups
.divider-my-lg24px / 24pxBetween major content blocks
No modifier0Flush — use when parent controls spacing

On dark surfaces

Solid


Dashed


Labeled

This month

On dark surfaces, the line color shifts to --dark-border (#3D3630). The labeled variant's text uses --dark-text-mute. No additional CSS changes — the .on-dark parent class handles everything.

Anatomy


1px dashed --ink-line
Label
Flex row — line / label / line
PartElementNotes
Line<hr> or <div>Use <hr> for semantic separation. Use <div> for the labeled variant (it needs flex children).
Dash patternCSS border-top: dashedBrowsers render dashes at approx 4px on/4px off at 1px stroke — no SVG needed.
Label.divider-label inside .divider-labeledMono, 10px, uppercase, --ink-mute. Max 20 chars to stay readable.

Usage

Do Use dashed dividers between transaction rows and activity feed items. Use solid inside form sections and card bodies. Use labeled to mark time boundaries in chronological lists.
Don't Don't stack dividers directly — they should always separate two pieces of content, never be adjacent. Don't use dividers decoratively as ornament.
Do Use inset dividers in list views with avatars. The 56px offset aligns with avatar right edge and preserves the visual column.
Don't Don't use a divider when whitespace alone can do the job. Overuse flattens hierarchy rather than creating it.

Accessibility

Semantics Use <hr> for meaningful separations so screen readers announce a thematic break. For purely decorative spacing, use a <div> with aria-hidden="true".
Labeled dividers The .divider-labeled pattern uses a <div> not an <hr>. Add role="separator" and aria-label matching the visible label text (e.g. aria-label="This month").
Contrast --ink-line (#DDD2B8) against --s-paper (#FBF8F0) gives a subtle but visible 1.5:1 ratio. This is intentional — dividers are structural, not text, and don't need to meet AA text contrast requirements.

Code

HTML

<!-- Solid -->
<hr class="divider divider-solid divider-my-md">

<!-- Dashed (ledger style) -->
<hr class="divider divider-dashed">

<!-- Dashed, inset (list with avatars) -->
<hr class="divider divider-dashed divider-inset">

<!-- Labeled time bucket -->
<div class="divider divider-labeled" role="separator" aria-label="This month">
  <span class="divider-label">This month</span>
</div>

CSS classes

ClassPurpose
.dividerBase reset — removes default <hr> border and sets width: 100%
.divider-solid1px solid --ink-line
.divider-dashed1px dashed --ink-line — the khata ledger line
.divider-labeledFlex row with centered label and flanking lines via pseudo-elements
.divider-labelText child inside .divider-labeled
.divider-inset56px left offset — aligns with avatar list content
.divider-my-sm/md/lgVertical margin helpers (8/16/24px)

Design tokens used

TokenValueRole
--ink-line#DDD2B8Line color on light surfaces
--ink-mute#8A8276Label text color
--dark-border#3D3630Line color on dark surfaces
--dark-text-mutergba(251,248,240,0.45)Label text on dark surfaces
--font-monoJetBrains MonoLabel typography