F3.4 · Fundações

Vertical Rhythm

Toda altura — parágrafos, títulos, chrome de UI — alinha-se a uma grade de 8px. Sem meias-unidades. O ritmo é o que dá ao guia uma cadência de leitura previsível.

01

Linha de base 8px

Cada elemento ocupa um múltiplo de 8 no eixo vertical. Line-heights são arredondados para os valores mais próximos da linha.

ElementoAltura ocupadaLinhas de base
Body (1.6rem · LH 1.55)24.8px → 24px3
H3 (2.4rem · LH 1.3)31.2px → 32px4
H1 (6.0rem · LH 1.05)63px → 64px8
Botão md40px5
Input md48px6
02

Espaços entre seções

Dois ritmos: dentro da seção (compacto) e entre seções (gerador de respiro).

ContextoMobileTabletDesktop
Subseção → subseção32px40px48px
Seção → seção56px72px96px
Capítulo → capítulo96px128px128px
/* Utilitário de ritmo */
.rhythm > * + * { margin-top: var(--sp-6); }
.rhythm > h2 + * { margin-top: var(--sp-7); }
.rhythm > * + h2 { margin-top: var(--sp-9); }
03

Auditoria

  • Sobreponha grade de 8px sobre a página em desenvolvimento — qualquer elemento fora da linha é defeito.
  • Margens entre componentes irmãos sempre vêm do pai (gap), nunca do filho.
  • Nada de margin-top: 7px para "consertar alinhamento". O alinhamento se conserta no token.