Pular para o conteúdo
// visualizar em
salvo em todas as páginas

Breadcrumb

Trilha de navegação que mostra onde a página atual fica na hierarquia do site e leva a cada nível acima dela. É um mapa da estrutura, não um registro de por onde a pessoa passou.

Padrão WAI-ARIA BreadcrumbComponente clienteCódigo ↗

Instalação

Configure o Camaleo uma vez (Instalação) e importe o que precisar. Ele não tem estado nem efeitos, então também renderiza no servidor; o BreadcrumbLink aceita a prop render para usar o link do seu roteador.

import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@camaleo/react";

Anatomia

Um landmark nav em volta de uma lista ordenada. Cada nível é um item; os separadores são itens próprios, escondidos do leitor de tela, e o último item é a página atual.

Exemplos

Todo exemplo é um arquivo real que você pode copiar. Todos usam o estilo, o modo e a cor da marca escolhidos na barra acima.

minimal · light · #3fa34d

Tênis de corrida

148 produtosFrete grátis acima de R$ 299

Caminho de categorias

Espelhe a árvore do catálogo, para que quem chegou numa categoria pela busca possa subir um nível e ver as categorias vizinhas.

Permissões

Caminho nas configurações

É fácil se perder em telas de configuração profundas. A trilha termina no título da própria página, que o repete logo abaixo.

Orçamento.xlsx

Editado em 14/03/2026 por Ana Ribeiro

Níveis do meio recolhidos

Aperte o botão …. Deixe o primeiro nível e os dois últimos à vista e coloque o resto num Menu aberto por um BreadcrumbEllipsis; o nome dele diz quantos níveis esconde.

Aluguel do escritório 2026.pdf

Assinado em 01/02/2026 · 12 páginas

Com ícones

Uma casinha sozinha não diz nada ao leitor de tela. Dê nome a um link só de ícone com VisuallyHidden e marque todo ícone com aria-hidden.

Revisão anual do manual da marca e migração de arquivos

Nomes longos

Corte um nome longo na tela com reticências, nunca no texto: o leitor de tela continua lendo o nome inteiro, e o título abaixo mostra ele completo.

checkout.tsx

128 linhas · último commit há 2 dias

Separador de barra

Todo separador traz uma seta e uma barra. Defina --cml-crumb-chevron: none e --cml-crumb-slash: inline para caminhos de arquivo, em que a barra é a convenção.

Com o link do Next.js

render={<NextLink href="…" />} mantém a navegação no cliente e o prefetch, e o link continua com o slot, o estilo e o anel de foco.

Tênis de Corrida Pegasus 41R$ 799,99

No celular

A lista quebra para uma segunda linha em vez de rolar para o lado. Quando ela ocuparia três linhas, recolha os níveis do meio.

Em contexto

Estas são partes inteiras de interface que você pode copiar, no estilo que escolheu.

Nova cor

Tênis de Corrida Pegasus 41

R$ 799,99ou 10x de R$ 80,00 sem juros
Página de produtoBreadcrumb · Badge · Button · Card
Navegador de arquivosBreadcrumb · Table · Link · Badge

Dados da nota fiscal

As notas saem todo dia 1º do mês.

Formulário de configuraçõesBreadcrumb · Field · Input · Button

Boas práticas

FaçaMostre onde a página mora.

O mesmo pedido fica sempre dentro de Pedidos, não importa como a pessoa chegou até ele.

EviteMostrar as páginas visitadas.

Para isso existe o botão Voltar. Uma trilha que muda a cada visita não ensina a estrutura.

Reembolsos

FaçaTermine na página atual, como texto.

O BreadcrumbPage diz "você está aqui" com aria-current="page" e não é um link para si mesmo.

EviteFazer da página atual um link.

Parece outro lugar para ir, e seguir o link só recarrega a mesma página.

Props

PropriedadeTipoPadrãoDescrição

BreadcrumbItem, BreadcrumbPage e BreadcrumbSeparator aceitam as props do li, do span e do li. O BreadcrumbLink aceita as props de um a, mais render para usar o link do seu roteador. O BreadcrumbEllipsis representa níveis recolhidos: sozinho é uma imagem chamada "Mais páginas"; com render={<button type="button" />}, como gatilho de um menu, é um botão. Passe aria-label para dizer quantos níveis ele esconde.

Styling hooks

Mude o visual sem copiar o componente: use os slots ou defina os tokens num elemento pai, num estilo ou na própria trilha.

Atributos

aria-current"page" no breadcrumb-page
--cml-crumb-chevronblock · none
--cml-crumb-slashnone · inline

Tokens que ele lê

Cor

--cml-fg--cml-fg-muted--cml-focus-offset--cml-focus-ring--cml-focus-width

Forma e tamanho

--cml-font-size-field

Tipografia e movimento

--cml-font-control--cml-font-weight-control

Só deste componente

--cml-crumb-slash
/* barras em vez de setas no navegador de arquivos */
.files [data-slot="breadcrumb"] {
  --cml-crumb-chevron: none;
  --cml-crumb-slash: inline;
}

Acessibilidade

TabVai para o próximo link da trilha. A página atual e os separadores são pulados.
EnterSegue o link focado.
Enter / Espaço / Seta para baixoNo botão … de níveis recolhidos, abre o menu com o primeiro nível focado.
Seta para baixoNesse menu, vai para o próximo nível.
EscapeFecha esse menu e devolve o foco ao botão ….

Relacionados

Esta página foi útil? · Editar esta página no GitHub