Tipografia CSS
Tamanho, peso, cor e jeito do texto por classe curta — t-g fw6 t-pri — numa escala pronta, do rótulo pequeno ao título grande.
O que é
É tudo que muda a aparência das letras: o tamanho, a grossura (peso), a cor, maiúscula/minúscula, alinhamento, espaço entre linhas e entre letras. Em vez de escrever CSS, você coloca classes curtas no elemento: t-g (texto grande), fw6 (peso 600), t-pri (cor da marca), t-upp (MAIÚSCULAS). Os títulos <h1> a <h6> já vêm prontos, sem classe nenhuma.
É só CSS, não precisa de JavaScript. A fonte do SW Core é a Geist (e a Geist Mono para código e números), já inclusa, sem Google Fonts. Ela é variável: um arquivo só tem todos os pesos, de 100 (bem fina) a 900 (bem grossa). O padrão de um site com SW Core: texto corrido em peso 200 na cor suave, <strong> em 500, títulos em 400 na cor forte — o "peso" do título vem do tamanho, não da grossura. Os títulos crescem sozinhos do celular ao computador.
Quando usar
- Título de seção: use a tag certa (
<h2>) — o tamanho já vem. Precisa de outro tamanho sem mudar a tag?class="t-h3". - Rótulo acima do título ("SERVIÇOS", "NOVIDADE"):
t-pp t-upp ls-ww t-pri. - Preço, número de destaque:
t-xg fw7. - Texto de apoio, legenda, data:
t-p t-mut. - Status em texto (pago, vencido, pendente):
t-suc/t-err/t-ale. - Depoimento de cliente:
<blockquote class="sw-quote">.
Comece aqui
-
1
Coloque o SW Core no
<head>. A fonte Geist já vem junto (não precisa de Google Fonts).<link rel="stylesheet" href="swcore/swcore.min.css"> -
2
Escreva o HTML normal. Títulos e parágrafos já saem no padrão, sem classe.
Barbearia do Centro
Corte, barba e sobrancelha com hora marcada.
<h3>Barbearia do Centro</h3> <p>Corte, barba e sobrancelha com hora marcada.</p> -
3
Quer mudar? Junte classes curtas. Aqui: rótulo pequeno em maiúsculas na cor da marca + preço grande e grosso.
PromoçãoR$ 45,00
<span class="t-pp t-upp ls-ww t-pri fw6">Promoção</span> <p class="t-xg fw7 t-txt">R$ 45,00</p>
Todas as variações
Cada quadro abaixo é o componente de verdade, rodando. O código embaixo é exatamente o que está no quadro: copie e cole.
1. Tamanhos
Sete tamanhos com o mesmo nome curto usado no resto do SW Core (pp, p, m, g, gg, xg, xxg). Cada um já traz o espaço entre linhas certo para aquele tamanho. O texto normal do site é o t-m (17 px).
<span class="t-pp">Atualizado há 2 horas</span>
<span class="t-p">Ver todos os serviços</span>
<span class="t-m">Atendemos de segunda a sábado.</span>
<span class="t-g">Chegue 10 minutos antes.</span>
<span class="t-gg">Primeira aula grátis</span>
<span class="t-xg">R$ 89</span>
<span class="t-xxg">+500</span>
2. Títulos (h1 a h6)
As tags <h1> a <h6> já saem com este tamanho, sem classe. Eles crescem sozinhos: menores no celular, maiores no computador. O h6 é o único em maiúsculas e na cor suave (bom para "chapéu" acima de título).
Seu site
<h1>Seu site</h1>
Nossos serviços
<h2>Nossos serviços</h2>
Corte masculino
<h3>Corte masculino</h3>
Horário de funcionamento
<h4>Horário de funcionamento</h4>
Formas de pagamento
<h5>Formas de pagamento</h5>
Depoimentos
<h6>Depoimentos</h6>
3. Visual de título em qualquer tag (t-h1 a t-h6)
Às vezes a tag certa para o Google é uma (h3) mas o tamanho que você quer é outro. t-h1…t-h6 dão o tamanho (e o espaço entre letras) de um título a qualquer elemento, sem mudar a tag.
Planos
<h3 class="t-h2">Planos</h3>
Parece um h4
<p class="t-h4 t-txt">Parece um h4</p>
<span class="t-h5 t-txt">Parece um h5</span>
Seção pequena
<h2 class="t-h6">Seção pequena</h2>
4. Peso (grossura da letra)
De fw1 (100, bem fina) a fw9 (900, bem grossa). A fonte é variável, então todos os pesos são de verdade, não "negrito falso". Também existem os nomes f-xt…f-bk (tabela abaixo) — fazem o mesmo.
<span class="fw1 t-gg t-txt">Elegante</span>
<span class="fw2 t-gg t-txt">Elegante</span>
<span class="fw3 t-gg t-txt">Elegante</span>
<span class="fw4 t-gg t-txt">Elegante</span>
<span class="fw5 t-gg t-txt">Elegante</span>
<span class="fw6 t-gg t-txt">Elegante</span>
<span class="fw7 t-gg t-txt">Elegante</span>
<span class="fw8 t-gg t-txt">Elegante</span>
<span class="fw9 t-gg t-txt">Elegante</span>
5. Fonte
Seis "vagas" de fonte. Hoje sw-f1 a sw-f3 são a Geist (texto) e sw-f4 a sw-f6 a Geist Mono (letras de mesma largura: código, números, placas). Você pode apontar cada vaga para outra fonte (veja em Tabela de opções).
<span class="sw-f1 t-g t-txt">Agende 0123456789</span>
<span class="sw-f4 t-g t-txt">Agende 0123456789</span>
6. Cor do texto
A cor do texto com nome de função. Elas trocam sozinhas no tema claro para continuar fácil de ler.
<span class="t-txt t-g">Resumo do pedido</span>
<span class="t-mut t-g">Entrega em 3 dias</span>
<span class="t-pri t-g">Ver cardápio</span>
<span class="t-sec t-g">Novidade</span>
<span class="t-acc t-g">Arquivado</span>
<span class="t-suc t-g">Pago</span>
<span class="t-err t-g">Vencido</span>
<span class="t-ale t-g">Pendente</span>
<span class="t-inf t-g">Em análise</span>
<span class="t-inv">Texto invertido</span>
7. Maiúsculas, itálico, sublinhado e riscado
<span class="t-upp t-txt">fale conosco</span>
<span class="t-low t-txt">FALE CONOSCO</span>
<span class="t-cap t-txt">fale conosco agora</span>
<span class="t-ital t-txt">"Melhor corte da cidade"</span>
<span class="t-uln t-txt">Política de privacidade</span>
<span class="t-rsk t-mut">R$ 120,00</span>
<a href="#" class="t-no-dec">Link sem sublinhado</a>
8. Alinhamento
Endereço
<p class="t-le t-txt w-fl mb-0">Endereço</p>
Endereço
<p class="t-ct t-txt w-fl mb-0">Endereço</p>
Endereço
<p class="t-ri t-txt w-fl mb-0">Endereço</p>
Texto justificado estica as linhas para as duas margens ficarem retas.
<p class="t-ju t-p w-fl mb-0">Texto justificado estica as linhas para as duas margens ficarem retas.</p>
9. Espaço entre linhas
O lh- (de line-height) afasta ou aproxima as linhas de um parágrafo.
Linhas bem juntas uma da outra neste texto.
<p class="lh-1 t-p mb-0">Linhas bem juntas uma da outra neste texto.</p>
Linhas um pouco juntas neste texto aqui.
<p class="lh-sn t-p mb-0">Linhas um pouco juntas neste texto aqui.</p>
Linhas no espaço normal de leitura aqui.
<p class="lh-bs t-p mb-0">Linhas no espaço normal de leitura aqui.</p>
Linhas bem afastadas uma da outra aqui.
<p class="lh-lo t-p mb-0">Linhas bem afastadas uma da outra aqui.</p>
10. Espaço entre letras
O ls- (de letter-spacing) fecha ou abre as letras. Título grande fica melhor fechado; rótulo em maiúsculas fica melhor aberto.
<span class="ls-tt t-gg t-txt">Studio Sol</span>
<span class="ls-t t-gg t-txt">Studio Sol</span>
<span class="ls-n t-gg t-txt">Studio Sol</span>
<span class="ls-w t-p t-upp t-txt">Studio Sol</span>
<span class="ls-ww t-p t-upp t-txt">Studio Sol</span>
11. Citação (depoimento)
Classe sw-quote num <blockquote>: linha fina ao lado, texto em itálico e o autor embaixo (<cite> ou <footer> ganham o travessão sozinhos). Acrescente uma cor ou lg para a versão grande com aspas.
Atendimento nota 10.
Carla, cliente
<blockquote class="sw-quote"><p>Atendimento nota 10.</p><cite>Carla, cliente</cite></blockquote>
Voltarei sempre.
João
<blockquote class="sw-quote sec"><p>Voltarei sempre.</p><cite>João</cite></blockquote>
Chegou antes do prazo.
Ana
<blockquote class="sw-quote suc"><p>Chegou antes do prazo.</p><cite>Ana</cite></blockquote>
Fila no sábado.
Pedro
<blockquote class="sw-quote ale"><p>Fila no sábado.</p><cite>Pedro</cite></blockquote>
Faltou troco.
Rita
<blockquote class="sw-quote err"><p>Faltou troco.</p><cite>Rita</cite></blockquote>
Mudou a cara da minha loja.
Marcos, Loja Sol
<blockquote class="sw-quote lg"><p>Mudou a cara da minha loja.</p><cite>Marcos, Loja Sol</cite></blockquote>
12. Texto longo: cortar e equilibrar
O básico aqui; tudo sobre quebra de linha está na página Quebra de texto.
Rua das Palmeiras, 1234, sala 5 — Centro
<p class="truncate t-p w-fl mb-0">Rua das Palmeiras, 1234, sala 5 — Centro</p>
Corte, barba, sobrancelha, pigmentação e hidratação, com produtos profissionais e café por conta da casa.
<p class="clamp-2 t-p w-fl mb-0">Corte, barba, sobrancelha, pigmentação e hidratação, com produtos profissionais e café por conta da casa.</p>
Agende seu horário em poucos cliques
<p class="twr-b t-gg t-txt t-ct w-fl mb-0">Agende seu horário em poucos cliques</p>
Tabela de opções
| Palavra | O que faz | Exemplo |
|---|---|---|
| Tamanho | ||
t-pp | 12 px. | class="t-pp" |
t-p | 14 px. | class="t-p" |
t-m | 17 px — o texto normal (--sw-f-base). | class="t-m" |
t-g | 19 px. | class="t-g" |
t-gg | 22 px. | class="t-gg" |
t-xg | 32 px, letras um pouco fechadas. | class="t-xg" |
t-xxg | 48 px, letras fechadas, linhas coladas. | class="t-xxg" |
| Visual de título | ||
h1 / t-h1 | 32 → 72 px (cresce com a tela). | <span class="t-h1"> |
h2 / t-h2 | 28 → 48 px. | |
h3 / t-h3 | 22 → 34 px. | |
h4 / t-h4 | 19 → 24 px. | |
h5 / t-h5 | 16 → 19 px. | |
h6 / t-h6 | 14 → 16 px. A tag h6 ainda fica maiúscula e suave; a classe t-h6 só dá o tamanho e o espaço entre letras. | |
| Peso | ||
fw1 … fw9 | Peso 100 a 900, de 100 em 100. | class="fw6" |
fwb / fwn | Negrito (700) / normal (400). | class="fwb" |
f-xt · f-xlt · f-lt · f-re | Mesmos pesos por nome: 100 · 200 · 300 · 400. | class="f-lt" |
f-m · f-sm · f-bd · f-xbd · f-bk | 500 · 600 · 700 · 800 · 900. | class="f-sm" |
| Fonte | ||
sw-f1 · sw-f2 · sw-f3 | Geist (lê --sw-f1…--sw-f3). | class="sw-f1" |
sw-f4 · sw-f5 · sw-f6 | Geist Mono (lê --sw-f4…--sw-f6). | class="sw-f4" |
--sw-f1 … --sw-f6 | Troque no seu CSS para ter fontes diferentes em cada vaga. | :root { --sw-f2: "Playfair Display", serif; } |
| Cor | ||
t-txt · t-mut · t-inv | Forte · suave · invertida. | class="t-mut" |
t-pri · t-sec · t-acc | Marca · secundária · acento. | class="t-pri" |
t-suc · t-err · t-ale · t-inf | Sucesso · erro · alerta · informação. | class="t-err" |
| Forma e alinhamento | ||
t-upp · t-low · t-cap | MAIÚSCULAS · minúsculas · Primeira Maiúscula. | class="t-upp" |
t-ital | Itálico. | |
t-uln · t-rsk · t-no-dec | Sublinhado · riscado · sem sublinhado. | |
t-le · t-ct · t-ri · t-ju | Esquerda · centro · direita · justificado. | class="t-ct" |
| Linhas e letras | ||
lh-1 · lh-sn · lh-bs · lh-lo | Espaço entre linhas: 1 · 1.2 · 1.6 · 1.9. | class="lh-lo" |
ls-tt · ls-t · ls-n · ls-w · ls-ww | Espaço entre letras: -0.04em · -0.02em · 0 · 0.04em · 0.1em. | class="ls-ww" |
truncate · clamp-1…4 · twr-b · twr-p · wordb-ba · wordb-bw | Cortar e quebrar texto — ver Quebra de texto. | |
| Citação | ||
sw-quote | Citação com linha na cor da marca. | <blockquote class="sw-quote"> |
sec · suc · ale · err | Troca a cor da linha (junto com sw-quote). | class="sw-quote suc" |
lg | Versão grande, sem linha, com aspas. | class="sw-quote lg" |
| Nomes antigos (ainda funcionam) | ||
sw-text-center · sw-text-right · sw-text-left | Mesmo que t-ct / t-ri / t-le. | |
sw-text-mut · sw-text-pri | Mesmo que t-mut / cor principal. | |
Receitas prontas — usos reais
Situações que aparecem em quase todo site. Copie a que servir.
Seu corte do jeito que você gosta
Hora marcada, sem fila. Terça a sábado, das 9h às 20h.
<header class="t-ct">
<span class="t-pp t-upp ls-ww t-pri fw6">Barbearia no Centro</span>
<h1 class="t-h2 twr-b">Seu corte do jeito que você gosta</h1>
<p class="t-g">Hora marcada, sem fila. Terça a sábado, das 9h às 20h.</p>
</header>
R$ 99,90
Economize 33%<span class="t-p t-rsk t-mut">R$ 149,90</span>
<p class="t-xg fw7 t-txt lh-1">R$ 99,90</p>
<span class="t-p t-suc fw5">Economize 33%</span>
Em uma semana o site novo já trouxe três orçamentos pelo WhatsApp.
<blockquote class="sw-quote lg">
<p>Em uma semana o site novo já trouxe três orçamentos pelo WhatsApp.</p>
<footer>Juliana Prado, Doces da Ju</footer>
</blockquote>
+500
clientes atendidos12
anos de estrada<div class="flx gap-gg">
<div>
<p class="t-xxg t-pri fw6">+500</p>
<span class="t-pp t-upp ls-w">clientes atendidos</span>
</div>
<div>
<p class="t-xxg t-pri fw6">12</p>
<span class="t-pp t-upp ls-w">anos de estrada</span>
</div>
</div>
<div class="flx j-sb alc gap-m bd-b bd-mut py-p">
<span class="t-txt">Pedido #1042 · Maria</span>
<span class="t-pp t-upp ls-w fw6 t-suc">Pago</span>
</div>
<div class="flx j-sb alc gap-m py-p">
<span class="t-txt">Pedido #1043 · Paulo</span>
<span class="t-pp t-upp ls-w fw6 t-ale">Aguardando</span>
</div>
Precisa de quê
swcore.min.css— fontes, títulos e todas as classes desta página.
Cuidados — erros comuns
- Não escolha a tag pelo tamanho: use
h1uma vez por página (o título principal), depoish2,h3… Se o tamanho não servir, mude comt-h*, não trocando a tag. - Texto do site parece "fino demais"? É o padrão (peso 200). Quer mais grosso no site todo? No seu CSS:
body { font-weight: 300; }. Só num trecho:fw4. t-prié cor de texto; para fundo ébg-pri(página Cores semânticas).- Os tamanhos
t-pp…t-xxgsão fixos; só os títulos (h1–h6et-h1–t-h6) crescem com a tela. Para um número enorme no computador que caiba no celular, prefirat-h1. - Tudo aqui usa a medida "rem" do SW Core (1rem = 10 px). Se o seu CSS mudar o
font-sizedo<html>, todos os tamanhos mudam junto. Para aumentar tudo, use--sw-type-scale(página Tema e tokens).
O que ele não faz
- Só vem com Geist e Geist Mono. Outra fonte (Google Fonts ou arquivo seu) você carrega e aponta em
--sw-f-san,--sw-f-hdou--sw-f1…--sw-f6. - As classes de tamanho não têm versão por tela (não existe
t-g-m): o tamanho que muda com a tela é o dos títulos.

