Breadcrumb CSS
A trilha "Início / Roupas / Camiseta" que mostra onde a pessoa está no site e leva de volta com um clique.
O que é
É a linha pequena no topo da página: "Início / Blog / Como escolher um tênis". Cada parte é um link para voltar um nível; a última é a página atual, sem link. Você escreve um <nav sw-brc> com os itens (classe brc-it) e marca o atual com is-cur. Palavras dentro do sw-brc trocam o separador e o estilo.
É só CSS — não precisa de JavaScript. O separador ("/", "›" ou "•") é desenhado sozinho entre os itens: você não escreve. Os links saem na cor primária do site e o item atual em negrito, na cor do texto. Funciona no tema claro e no escuro.
Quando usar
- Loja virtual: Início / Categoria / Produto.
- Blog: Início / Blog / Categoria / Artigo.
- Painel administrativo: Painel / Clientes / Editar cliente — logo abaixo do topo.
- Ajuda o Google a entender a estrutura do site (veja a receita com os dados estruturados).
Comece aqui
-
1
Coloque o SW Core no
<head>. O breadcrumb é só CSS.<link rel="stylesheet" href="swcore/swcore.min.css"> -
2
Escreva os itens dentro do
<nav sw-brc>, um ao lado do outro. O último levais-cure não é link.<nav sw-brc aria-label="Você está aqui"> <a class="brc-it" href="/">Início</a> <a class="brc-it" href="/roupas">Roupas</a> <span class="brc-it is-cur" aria-current="page">Camiseta</span> </nav>
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. Separador
Sem palavra, o separador é "/". Os três primeiros aparecem sozinhos entre os itens.
<nav sw-brc aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="arrow" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="dot" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="chevron" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<i class="brc-sep swi-chevron-right"></i>
<a class="brc-it" href="#">Roupas</a>
<i class="brc-sep swi-chevron-right"></i>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
2. Estilo
pill transforma cada item numa cápsula (sem separador) e pinta a atual. bar coloca a trilha dentro de uma barra com borda. bar combina com qualquer separador.
<nav sw-brc="pill" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="bar" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="bar arrow" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="bar dot" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
3. Tamanho do texto
Sem palavra de tamanho: 14px. Combina com qualquer separador ou estilo.
<nav sw-brc="sm" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="lg" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<nav sw-brc="bar lg" aria-label="Você está aqui">
<a class="brc-it" href="#">Início</a>
<a class="brc-it" href="#">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
4. Com ícone
O item é um link comum: dá para pôr um ícone swi-* dentro (a casinha no "Início", por exemplo).
<nav sw-brc="arrow" aria-label="Você está aqui">
<a class="brc-it" href="#" aria-label="Início"><i class="swi-home"></i></a>
<a class="brc-it" href="#">Blog</a>
<span class="brc-it is-cur" aria-current="page">Artigo</span>
</nav>
<nav sw-brc="pill" aria-label="Você está aqui">
<a class="brc-it" href="#"><i class="swi-home"></i> Início</a>
<span class="brc-it is-cur" aria-current="page"><i class="swi-cart"></i> Carrinho</span>
</nav>
Tabela de opções
| Palavra | O que faz | Exemplo |
|---|---|---|
| Separador (palavra no sw-brc) | ||
(nenhuma) | Barra "/" automática. | sw-brc |
arrow | Seta "›" automática. | sw-brc="arrow" |
dot | Ponto "•" automático. | sw-brc="dot" |
chevron | Tira o separador automático; você coloca <i class="brc-sep swi-chevron-right"> entre os itens. | sw-brc="chevron" |
| Estilo (palavra no sw-brc) | ||
pill | Cada item vira cápsula; a atual fica colorida. Sem separador. | sw-brc="pill" |
bar | Trilha dentro de uma barra com fundo e borda. | sw-brc="bar" |
| Tamanho (palavra no sw-brc) | ||
sm | Pequeno (11px). | sw-brc="sm" |
(nenhum) | Padrão (14px). | |
lg | Grande (15px). | sw-brc="lg" |
| Classes dos itens | ||
brc-it | Cada item da trilha (link ou texto). | <a class="brc-it" href="/">Início</a> |
is-cur | O item da página atual: negrito, cor do texto, sem clique. | <span class="brc-it is-cur"> |
brc-sep | O ícone separador do modo chevron. | <i class="brc-sep swi-chevron-right"></i> |
Receitas prontas — usos reais
Situações que aparecem em quase todo site. Copie a que servir.
<nav sw-brc aria-label="Você está aqui">
<a class="brc-it" href="/">Início</a>
<a class="brc-it" href="/roupas">Roupas</a>
<span class="brc-it is-cur" aria-current="page">Camiseta</span>
</nav>
<!-- a mesma trilha em formato que o Google entende (aparece no resultado da busca) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Início", "item": "https://minhaloja.com.br/" },
{ "@type": "ListItem", "position": 2, "name": "Roupas", "item": "https://minhaloja.com.br/roupas" },
{ "@type": "ListItem", "position": 3, "name": "Camiseta" }
]
}
</script>
<ol sw-brc="arrow" aria-label="Você está aqui">
<li class="brc-it"><a href="/">Início</a></li>
<li class="brc-it"><a href="/blog">Blog</a></li>
<li class="brc-it is-cur" aria-current="page">Como escolher um tênis</li>
</ol>
<!-- a classe brc-it vai no <li>, não no <a> -->
Editar cliente
<h1>Editar cliente</h1>
<nav sw-brc="bar sm" aria-label="Você está aqui">
<a class="brc-it" href="/painel">Painel</a>
<a class="brc-it" href="/painel/clientes">Clientes</a>
<span class="brc-it is-cur" aria-current="page">Ana Nunes</span>
</nav>
Precisa de quê
swcore.min.css.swcore.compl.min.css— só no modochevronou com ícones.
Cuidados — erros comuns
- Os itens
brc-ittêm que ser irmãos, um ao lado do outro. Se cada link estiver dentro de uma<li>e a classe ficar no<a>, o separador some — ponha a classe na<li>(veja a receita). - No modo
chevron, sem o<i class="brc-sep …">entre os itens não aparece separador nenhum. - Não escreva o "/" à mão nos outros modos: ele já é desenhado e ficaria duplicado.
- O item atual não é link: use
<span>(ou<li>) comis-curearia-current="page". - Dê um nome ao
<nav>comaria-label("Você está aqui"), para o leitor de tela não confundir com o menu principal.
O que ele não faz
- Trilha comprida quebra em mais de uma linha; não encurta os itens do meio sozinha ("…").
- Não monta a trilha sozinho a partir do endereço da página: você escreve os itens.

