--- title: "Divider" subtitle: "A rule between sections, and the tokens that set it" description: "The divider separates content with a rule: horizontal, vertical, subtle, strong or labelled, and the three tokens that set its colour, weight and spacing." author: "Studio" section: "Website" subsection: "Foundations" order: 13 status: "published" --- A divider draws a rule between things. Three tokens set its colour, weight and spacing, and a parent can re-point any of them to tune every divider inside it. Only `.divider--subtle` is a pure token re-point, though — the other three variants write their own CSS as well, which matters when an override does not reach them. Border widths and colours come from the [Border](/website/border.html) page. ## Tokens | Token | Default | Sets | | --- | --- | --- | | `var(--divider-color)` | `var(--border-faded)` | The line colour, which is what the subtle and strong variants change | | `var(--divider-thickness)` | `var(--border-s)` | The line weight. Note the strong variant does **not** read it — see below | | `var(--divider-spacing)` | `var(--space-xl)` | The margin around the rule — above and below on a horizontal one, left and right on a vertical one | ## Basic usage

Medically reviewed on 14 May 2026.


Sources and references.

```html
``` A bare `
` is styled to match. The one difference matters inside a `.block`: the child margin reset zeroes a bare `
`'s vertical margins, so its spacing comes from the block's gap, while `.divider` keeps its own `--divider-spacing`. Reach for the class when a rule needs more room than the gap gives it. ## Subtle and strong

Subtle — identical to the default under this theme

Heart Health


Diabetes

Strong — a major boundary

This month's newsletter


Upcoming live events

```html

``` Strong re-points `--divider-color` to the primary border colour and sets `border-top-width` **directly** rather than through `--divider-thickness` — so re-pointing that token on a parent silently does nothing to a strong divider. Subtle is the awkward one under this brand. It re-points `--divider-color` to a 10 % black, which is exactly what `--border-faded` already resolves to in light mode — so **`.divider--subtle` is pixel-identical to a plain `.divider` here**. In dark mode the default moves to a 20 % white while subtle stays 10 % black, leaving it darker than the page and effectively invisible. It is an engine class this theme has no use for. ## Vertical
Articles Video Live events
```html ``` The rule carries `align-self: stretch`, so inside a flex row it takes the row's height on its own. Outside a flex context it has no height and needs one set, which is what the demo above does. ## Labelled A rule with a word in it, most often *or* between two alternatives. The label is real content, so this variant rides a `
` rather than an `
`, and the lines either side are pseudo-elements drawn from the same tokens.

Subscribe to the newsletter.

or

Follow along on social.

```html
or
``` In a tight stack whose gap already owns the rhythm, re-point the token rather than overriding the rule: set `--divider-spacing` on a parent and every divider inside it follows. ## Accessibility | Case | Markup | | --- | --- | | A section break a screen reader should announce | `
` — the element already carries the meaning | | A purely decorative rule | `
`, or `role="presentation"` on the `
` | | A vertical rule marking a real boundary | `role="separator"` — the element is a ``, so the role has to be stated | | A labelled divider | No role. The label is meaningful text and should be read as such | ## Rules - **Use the variant classes, not tokens, to pick a weight.** The API is `.divider--subtle` and `.divider--strong`; there is no `var(--subtle)` or `var(--strong)`, and asking for one silently does nothing. - **Re-point a token rather than overriding the rule.** Setting `--divider-spacing` on a parent keeps every divider inside it consistent; a one-off `margin` override does not. - **Do not draw a rule where spacing already separates.** A divider between every element stops marking anything.