Position | CSS
- Position | CSS
A propriedade position no CSS é uma das ferramentas mais poderosas para controlar o layout e a posição de elementos dentro de uma página web. Ela define como um elemento é posicionado em relação ao seu contêiner ou à tela.
Valores da Propriedade position
A propriedade position pode ter cinco valores principais:
1. static (Padrão)
- Descrição: Este é o valor padrão para todos os elementos. Quando um elemento tem
position: static;, ele é posicionado de acordo com o fluxo normal do documento. Ou seja, ele será posicionado de acordo com a ordem no HTML, sem qualquer controle específico sobre sua posição. - Comportamento: Não permite o uso de
top,right,bottomouleft.
Exemplo:
div {
position: static;
}
2. relative
- Descrição: Um elemento com
position: relative;é posicionado em relação à sua posição normal no fluxo de documentos. Ou seja, ele começa no lugar onde estaria se tivesseposition: static;, mas você pode deslocá-lo usando as propriedadestop,right,bottomouleft. - Comportamento: O elemento ainda ocupa o mesmo espaço no layout, mas pode ser movido de acordo com os valores definidos para
top,right,bottom, ouleft. Isso é útil para criar pequenos ajustes de posicionamento.
Exemplo:
div {
position: relative;
top: 10px;
left: 20px;
}
O elemento será movido 10px para baixo e 20px para a direita a partir da sua posição original.
3. absolute
- Descrição: Quando um elemento tem
position: absolute;, ele é posicionado em relação ao seu contêiner mais próximo que tempositiondiferente destatic. Se não houver tal contêiner, ele será posicionado em relação ao elemento<html>, ou seja, a janela de visualização (viewport). - Comportamento: O elemento é retirado do fluxo normal do documento, o que significa que ele não afeta o posicionamento de outros elementos ao redor. Ele pode ser posicionado usando as propriedades
top,right,bottom, eleft.
Exemplo:
div {
position: absolute;
top: 50px;
left: 100px;
}
Isso fará com que o elemento seja posicionado 50px abaixo do topo e 100px à direita da borda esquerda do contêiner mais próximo com position diferente de static.
4. fixed
- Descrição: Um elemento com
position: fixed;é posicionado em relação à janela de visualização (viewport), ou seja, ele permanece fixo na tela enquanto o usuário rola a página. Isso é útil para criar barras de navegação fixas ou botões flutuantes. - Comportamento: O elemento é retirado do fluxo normal do documento, assim como o
absolute. Ele será posicionado com base nas propriedadestop,right,bottom, ouleft, mas permanecerá visível na mesma posição ao rolar a página.
Exemplo:
div {
position: fixed;
top: 0;
right: 0;
}
Este elemento ficará fixado no canto superior direito da tela e permanecerá visível enquanto o usuário rola a página.
5. sticky
- Descrição: Um elemento com
position: sticky;é posicionado de maneira normal no fluxo de documento até que o ponto de rolagem atinja um limite específico (definido pelas propriedadestop,right,bottom, ouleft). Quando isso acontece, o elemento fica "preso" na posição definida e continua visível enquanto o usuário rola a página. - Comportamento: O elemento se comporta como
relativeaté que o ponto de rolagem atinja o limite especificado, momento em que ele se torna "fixo" até que sua área de rolagem seja ultrapassada.
Exemplo:
div {
position: sticky;
top: 0;
}
Este elemento será posicionado no fluxo normal até que o usuário role a página e, ao atingir o topo da tela, ele ficará "fixo" no topo até que o elemento saia da área visível.
Exemplos Práticos
Aqui estão exemplos práticos de como usar cada tipo de position:
1. Exemplo com position: relative
<div style="position: relative; top: 20px; left: 30px;">
Este div é posicionado relativamente.
</div>
2. Exemplo com position: absolute
<div style="position: absolute; top: 50px; right: 50px;">
Este div é posicionado absolutamente.
</div>
3. Exemplo com position: fixed
<div style="position: fixed; bottom: 0; right: 0;">
Este div fica fixo no canto inferior direito da tela.
</div>
4. Exemplo com position: sticky
<header style="position: sticky; top: 0; background-color: lightblue;">
Este cabeçalho ficará preso no topo durante o rolar da página.
</header>
Resumo das Diferenças
Valor de position | Comportamento | Exemplo de Uso |
|---|---|---|
static | Posição normal, sem controle. | Padrão de todos os elementos. |
relative | Posicionado em relação à sua posição original no fluxo. | Ajuste de posição leve. |
absolute | Posicionado em relação ao contêiner mais próximo com position diferente de static. | Elementos independentes do fluxo. |
fixed | Posicionado em relação à viewport e permanece fixo na tela ao rolar. | Barra de navegação fixa ou botões. |
sticky | Se comporta como relative até que um ponto de rolagem seja alcançado, depois fica fixo. | Cabeçalhos fixos durante a rolagem. |