CSS: Posicionamento CSS
Última atualização: 2026-10-13
O posicionamento CSS é uma ferramenta de layout poderosa que permite controlar com precisão o posicionamento de elementos na página.
Referência Rápida da Propriedade Position
| Valor | Comportamento | Ponto de Referência | Uso Comum |
|---|---|---|---|
static |
Fluxo normal (padrão) | — | Comportamento padrão |
relative |
Offset da posição normal | Posição original do próprio | Ajuste fino, contexto de posicionamento |
absolute |
Removido do fluxo | Ancestral posicionado mais próximo | Emblemas, sobreposições |
fixed |
Fixo no viewport | Viewport | Cabeçalhos fixos, voltar ao topo |
sticky |
Híbrido | Contêiner de rolagem + viewport | Cabeçalhos fixos |
1. position: relative
Desloca o elemento de sua posição normal, sem removê-lo do fluxo do documento:
▶ Exemplo
▶ ExperimenteUsos comuns:
- Ajuste fino da posição do elemento
- Criação de contexto de posicionamento para filhos absolutos
2. position: absolute
Remove o elemento do fluxo, posicionado relativo ao ancestral posicionado mais próximo:
▶ Exemplo
▶ ExperimentePonto chave: Se não existir ancestral posicionado, absolute posiciona relativo ao viewport.
3. position: fixed
Fixo no viewport, não rola com a página:
▶ Exemplo
▶ ExperimenteUsos comuns:
- Barras de navegação
- Botões de voltar ao topo
- Widgets de chat
4. position: sticky
Híbrido de relative e fixed — rola normalmente depois "gruda" em um limiar:
▶ Exemplo
▶ ExperimenteNotas de uso:
- Requer valor
top,bottom,leftourightpara funcionar - Elemento pai não pode ter
overflow: hiddenouoverflow: auto - Altura do pai deve ser maior que a altura do elemento sticky
5. z-index (Ordem de Empilhamento)
Quando elementos se sobrepõem, z-index controla qual aparece no topo:
▶ Exemplo
▶ ExperimenteNota: z-index só funciona em elementos posicionados (não static).
(1) Contexto de Empilhamento
z-index é comparado dentro do mesmo "contexto de empilhamento." Cada elemento posicionado cria um contexto de empilhamento — o z-index dos filhos só compara dentro do contexto do pai.
❓ Perguntas Frequentes
position: relative a um pai (sem offset), e filhos com position: absolute se posicionarão relativos àquele pai. Sem relative no pai, absolute se posiciona relativo à página inteira.position: sticky como alternativa para alguns cenários, ou use JavaScript para detectar mobile e tratar especialmente.opacity que criam novos contextos de empilhamento.📖 Resumo
- O posicionamento CSS é uma ferramenta de layout poderosa
relativeé para ajuste fino e contexto de posicionamentoabsoluteposiciona precisamente filhos dentro de paisfixedé para elementos fixos no viewport (navegação, voltar ao topo)stickyé para cenários de "grudar na posição"- Domine posicionamento com empilhamento
z-indexpara atender qualquer necessidade de layout
📝 Exercícios
- Crie um "card de produto" com um emblema "HOT" no canto superior direito usando
position: absolute. - Crie uma barra de navegação inferior fixa ou aviso de direitos autorais usando
position: fixed. - Crie um "título fixo" — títulos de seção que grudam no topo ao rolar até que o próximo título o empurre.
- Implemente centralização absoluta de um elemento filho (usando absolute + top/left + transform).