Propriedade Position

Última atualização: 2026-09-13

position Propriedade Position

A propriedade position especifica como um elemento é posicionado, se permanece no fluxo do documento ou é deslocado em relação a algum ponto de referência. Combinada com as propriedades top, right, bottom e left, permite posicionamento relativo, absoluto, fixo e sticky para efeitos comuns de layout.

Categoria
Valor Inicialstatic
HerdadoNão
Aplica-se Aall
Tipo de Animaçãodiscrete
Versão CSSCSS2
StatusPadrão

📝 Sintaxe

position: static | relative | absolute | fixed | sticky;

⚙️ Valores

ValorTipoDescrição
static | relative | absolute | fixed | stickyPalavra-chaveTipo de posicionamento: static/relative/absolute/fixed/sticky.

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo no playground:

🌐 Suporte dos Navegadores

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
position v1 v12 v1 v1 v1
Suportado em todos os principais navegadores
Dica: Um elemento absolute é posicionado em relação ao seu ancestral não-estático mais próximo, então você geralmente precisa dar ao pai position:relative como referência de posicionamento.
Aviso: Um elemento fixed é posicionado em relação à viewport; navegadores móveis variam no suporte, o que pode causar tremulação ou desalinhamento em alguns casos.

❓ Perguntas Frequentes

QQual é a diferença entre absolute e relative?
AUm elemento relative permanece no fluxo do documento, então deslocamentos como top e left o movem de seu lugar original enquanto seu espaço original é preservado. Um elemento absolute é retirado do fluxo, não ocupa espaço e é posicionado em relação ao seu ancestral posicionado não-estático mais próximo; se não houver, posiciona-se em relação à viewport. Mnemônico: relative move o elemento e mantém seu lugar; absolute sai do fluxo e ancora a um ancestral.
QComo sticky e fixed são diferentes?
Afixed sempre posiciona em relação à viewport e permanece fixo durante a rolagem, fora do fluxo. sticky combina relative e fixed: antes de cruzar um limite de rolagem comporta-se como relative e rola com o conteúdo; após o limite, gruda como fixed, mas apenas dentro dos limites do pai. sticky requer um limite como top, e seu pai não deve ter overflow:hidden.
QAo que o position:absolute é posicionado em relação?
AUm elemento absolute é posicionado em relação à caixa de padding de seu ancestral posicionado mais próximo, ou seja, um elemento cujo position não é static. Se todos os ancestrais forem static, ele recai no bloco contêiner inicial, geralmente a viewport. Por isso o padrão comum é dar ao pai position:relative como contexto de posicionamento, para que os deslocamentos absolute de um filho sejam calculados em relação ao contêiner pai.
QPor que o position:sticky não está funcionando?
ACausas comuns: primeiro, o contêiner pai não é alto o suficiente, não sobrando espaço para rolar; segundo, o pai ou um ancestral define overflow:hidden, auto ou scroll, o que quebra o sticky; terceiro, nenhum limite como top ou bottom está definido; quarto, o elemento está dentro de um contêiner que não pode rolar. Verifique estes um a um, prestando atenção especial ao overflow nos ancestrais.

📚 Tutoriais Relacionados

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%