Entendendo a propriedade Position
O Position é uma propriedade perigosa para iniciantes. Normalmente o desenvolvedor que acaba de conhecer essa propriedade, acha que ela é a resposta para todos os problemas de posicionamento e diagramação de layout. Pelo contrário. O Position não serve para diagramar a estrutura de layouts. Para isso, você utiliza a propriedade float do css. O Position vai servir para fazer coisas mais simples.
Existem 3 tipos de valores que usamos na propriedade position: relative, absolute e fixed.
Position Fixed
O position: fixed; irá fixar a posição do elemento na coordenada que você definir. A medida que a página é rolada, o elemento continua fixo na posição que você definiu e o conteúdo da página rola normalmente. Veja um exemplo de position fixed.
Position Relative
Todos os positions precisam de um ponto para iniciar o cálculo da coordenada para assim posicionar o elemento na tela. Ao contrário do que muitos acham, esse ponto não é o ponto central do elemento, o ponto base é o canto superior esquerdo do elemento. A partir deste canto, o browser irá calcular a coordenada que você definiu e irá posicionar o elemento no viewport.
O position relative posiciona o elemento em relação e ele mesmo. Ou seja, o ponto zero será o canto superior esquerdo, e ele começará a contar a partir dali.
Position Absolute
O Position Absolute é um tanto diferente do Relative. Enquanto o elemento com Position Relative utiliza seu próprio canto para referenciar sua posição, o elemento com Position Absolute se utiliza do ponto superior esquerdo de outros elementos. Estes elementos são os parentes dele do elemento com position absolute. Mais especificamente o pai.
No caso, se o DIV pai não tivesse position definido, o div filho iria se referenciar pelo BODY mesmo. Se caso o div pai não tivesse position definido, e se ele também fosse envolvido por outro div com position, o div filho iria se referenciar por este terceiro div.
Logo, o div com position absolute referencia sua posição pelo div mais próximo que o envolve e que também tenha um position definido. Complicado, não é?
Uma ocasião bem simples onde usaríamos position é na home do Flickr. Onde temos aquela imagem bonita de capa e o nome do autor logo abaixo. Para posicionar o nome do autor lá no rodape do div, você utilizaria o Position. Veja a imagem de exemplo:
No Campus Online há um vídeo explicativo sobre a propriedade position:



41 Comentários
Ariê Perini 12/05/2009 às 17:38
Legal esse post para a galera que usa pouco a propriedade e geralmente busca sempre usar absolute, assim ele entende a melhor as outras proxiedades!
Dhony Silva 12/05/2009 às 18:23
Muito Interessante.
Sempre usei os Positions de outra forma. Estava completamente errado. Vou ter que estudar tudo novamente.
helder 12/05/2009 às 18:32
É sempre bom dar uma pincelada na propriedade position. O texto está bem claro e esclarecedor. Um dos primeiros artigos sobre posicionamento que lí e gostei foi o do diego torres se não me engano.
Warly 12/05/2009 às 18:43
Hey kra, otimas postagens nesse site, estou começando com padrões web, e todo esse conteudo aqui está me ajudando muuuito, Muito Obrigado kra.
Thiago Cavalcanti 12/05/2009 às 20:04
Só faltou falar que position:relative também é usado como um workaround para alguns bugs daquele navegador antigo que a gente preferiria esquecer.
É bom avisar isso porque tem gente que apaga uma declaração dessas testando somente no Firefox, depois fica se perguntando porque não funciona no dinossauro…
Luciana A.S. 13/05/2009 às 04:12
Bom este post…
Esclareceu bem a definição de cada propriedade do position.
Ajudou-me!!!
Marcos_paiva 13/05/2009 às 08:57
Sempre tive duvidas quanto a isso rsrs
Matheus 13/05/2009 às 10:17
Muito bacana o texto, rápido e objetivo!
O resto é praticar!!!!
Diego Felix 13/05/2009 às 11:16
Nosso professor da faculdade estava explicando isso ontem…
Gerou muito confusão sobre quais as melhores práticas..
Paulo de Tarso F. M. 13/05/2009 às 14:04
Ah! E só para lembrar: o position:fixed não funciona no IE6… :-/
dominique 13/05/2009 às 16:24
agora não tenho mais dúvidas. clareou tudo!
excelente!
Kaleb Martins 14/05/2009 às 19:16
A realidade é esdudar todas essas propriedade e esperar que o IE6 morra. Não ha mal que sempre dure. Certamente o Internet Explore vai acabar um dia. E com isso teremos uma internet bonita e criativa.
Abraços
José Monteiro 14/05/2009 às 19:35
Muito bom, obrigado.
Às vezes é preciso voltar e re-aprender o básico.
O video está excelente.
Parabéns.
Frank Gilber 15/05/2009 às 09:10
Ótimo post sobre as propriedades position, valeu Diego.
Carlos Eduardo - Kadu 15/05/2009 às 15:48
Interessante o post. Utilizo bastante o position relative para criar contextos de posicionamento.
CSS: Entendendo a propriedade Position « Sergio’s Blog 16/05/2009 às 10:22
[...] Ver post [...]
anderson 16/05/2009 às 18:45
muito boa a matéria
anderson 16/05/2009 às 22:14
muito bom
welton matos 17/05/2009 às 23:02
Muito bom mesmo… Já me enrolei muito com eles. Há algum problema definir só um position? Em uma div geral por exemplo e as demais div, se eu deixar sem elas vão seguir a 1ª???
Frederico Figo 20/05/2009 às 09:32
Parabéns pelo artigo. Também utilizo bastante a propriedade position pra diagramação.
Cheers!
Henrique 21/05/2009 às 14:56
Muito bom.
Position é algo muito util, mas ainda hoje é fácil encontrar quem não saiba utiliza-lo. Talvez pela falta de artigos como esse.
Magno Valdetaro 22/05/2009 às 11:34
Ótimo artigo, realmente de grande ajuda e com o recurso do vídeo a compreensão fica completa, Parabéns!
Rainer 22/05/2009 às 14:34
Em alguns casos quando se usa margem negativa nos elementos de forma que sobreponha os outros, é preciso usar posição relativa no elemento. (somente IE6)
Dagmar 23/05/2009 às 10:08
Ótimo tutorial.
Eu tinha uma duvida já esclarecida sobre position relative =].
Até =]
BD1 - Desenvolvimento de sites e sistemas para web. São Paulo - SP » Entendendo a propriedade Position | Tutorial CSS 25/05/2009 às 15:10
[...] Fonte: http://www.tableless.com.br/propriedade-position-do-css [...]
Adriano Moreno 26/05/2009 às 11:53
Muito bom tutorial. Realmente esclarecedor.
Vlw
Luan Haddad 28/05/2009 às 18:28
Olá, muito bem explicado o tuto acaba gerando um conceito bem aprimorado aos iniciantes de CSS, assim evitando o uso incorreto para o layout das paginas. Vlw
Renato 02/06/2009 às 09:19
Gostei muito.
Muito bom, principalmente para quem está começando agora… muito objetivo. valews pessoal!
Daniel 05/06/2009 às 11:07
Pelo amor de Deus, tira esse Header gigantesco daí: “Propriedade Position do CSS”
A frase tem 4 palavras sendo 2 com no máximo 3 letras e ainda assim quebra a linha. Como um site de webdesign que deveria dar exemplo me coloca uma coisa horrível dessas?
David 06/06/2009 às 15:22
Muito já li sobre CSS, especialmente posicionamento. Hoje dou por sanadas todas minhas dúvidas a respeito de posicionamento. Eu muito me enrolava com isso ainda, estava tudo subentendido na minha cabeça. Achei incrível a clareza da explicação, a objetividade, a simplicidade. Tem inúmeros sites, inclusive sites que tratam exclusivamente de CSS, que complicam o negocio absurdamente, sendo algo tão simples… parabéns!
Natan 09/06/2009 às 18:16
Nunca usei o position de mandeira errada porque o float atendia bem minhas necessidade, mas não entendia bem o position.
Poste bacana, pois só quando compreendemos o porque de alguma coisa existir é que podemos usa-la corretamente.
Arlington Marlon 10/06/2009 às 12:06
Salve, slave galera, sou novo aqui no site e também nessa area de Tableless, na verdade o assunto que estou em dúvida e sobre como deixar o Layout ocupar 100% da tela, teria como alguem me explicar ou me passar um tuto de fácil entendimento… desde já agradeço a atenção.
Rodrigo Filardi 10/06/2009 às 12:36
“A propriedade position não serve para criar estruturas de layouts.”
Bom, servir até serve… mas talvez não seja a forma correta e adequada, certo?
Já vi alguns sites e inclusive fiz um certa vez, seguindo esses exemplos vistos, que era todo com position (relative e absolute).
O site funcionava crossbrowser e tinha um layout até bem rebuscado.
Esses dias tava até vendo o código de um site ATUAL e foi feito com position: http://www.canteseuamor.com.br/Default.aspx
Hugo Luiz 13/06/2009 às 01:48
Nossa! o grau de ensino é excelente. Parabéns pelo trabalho e muito obrigado por compartilhar o conhecimento, esse assunto RELATIVE & ABSOLUTE tava mo tempão a procura e achei aq.
vlwwww
Carlos 17/06/2009 às 12:12
Muito bom este post.
Rich Marvin 19/06/2009 às 11:43
Bom dia!!!, este artigo é muito bacana, tembém estou aprendendo CSS e já noto as diversas diferenças de modo de aplicação. Não condeno a utilização de tabelas, mas a formatação com os estilos CSS ajudam em muito, principalmente quando se trata de posicionamento.
Guia de Santos 22/06/2009 às 19:03
Acho interessante toda iniciativa que pode vir a ser benéfica para todos com intenções sérias e direcionadas.
Helo
Luan Garcia 24/06/2009 às 18:00
Muito legal o artigo, realmente o que mais se ve por ai são os iniciantes querendo posicionar tudo com position… Parabens e abs!
Marcelo 26/06/2009 às 22:27
Muito bom seu blog.
Entendendo a propriedade position do CSS | Andre Bellafronte 22/01/2010 às 18:24
[...] Propriedade Position do CSS Compartilhe: [...]
Posicionamento estático, absoluto, relativo e fixo em CSS « Dicas Web e Design 02/03/2010 às 16:18
[...] http://www.tableless.com.br/propriedade-position-do-css [...]