Johannes Knoll

Styleguide

Everything is written in semantic HTML styled by the global layers.

Palette
Theme

Tokens

Semantic tokens derived from the palette scales. Spacing aliases map to one fluid numeric scale.

--space-2xs
--space-1
--space-xs
--space-2
--space-sm
--space-3
--space-md
--space-4
--space-lg
--space-5
--space-xl
--space-6
--space-2xl
--space-7
--space-3xl
--space-8

Elements

Rendered content uses plain markup inside a .content scope. Nothing here carries a class.

Body text with a link, inline code,Ctrl+K, a highlight, small print,deleted and inserted edits, and anabbr.

  • Unordered list item
  • Another item with enough words to wrap onto a second line eventually
  1. Ordered list item
  2. Second step

Blockquotes get a quiet accent rule and secondary text.

Source name
vp check --fix
Code blocks with an optional caption.
Fluid type scale endpoints
TokenMinimumMaximum
--font-size-label0.75rem0.8125rem
--font-size-body1rem1.125rem
--font-size-h31.5rem2rem
--font-size-h12.5rem3.75rem

Controls

Buttons do things, links go places. State comes from native and ARIA attributes; variants from the closed data-variant vocabulary.

Link CTAQuiet CTAPress CTA

Preferences

Patterns

Structural patterns are selected by DOM context, never by appearance classes.

Disclosure with details and summary

Native open state, animated for those who allow motion.

Primitives

The whole public class API: container, flow, grid, cluster, content, and sr-only.

flow

Flow applies sibling rhythm through a single --flow-space hook.

This sentence is visible only to assistive technology.