2010 12/07
Entendendo a pseudo classe :target
Hoje eu estava lendo alguns feeds RSS quando acabei navegando até essa página aqui: https://developer.mozilla.org/En/Using_the_:target_selector
Nela é possível ver várias formas de utilização da pseudo-classe :target. Essa pseudo classe pode ser usada nos seus arquivos CSS quando um elemento é referenciado pela âncora lá na URL.
Ou seja, http://example.com/#isso_aqui_eh_a_ancora
Dessa forma, você pode obter alguns comportamentos dinâmicos utilizando apenas CSS. Comportamentos tipicamente feitos por JavasScript, como destacar uma foto ao clicar sobre sua imagem menor, podem ser feitos sem problemas utilizando-se esta técnica.
Ainda não ficou muito claro, né?
Para facilitar as coisas, veja este exemplo funcional.
Experimente clicar nos links disponíveis abaixo da foto. Note que clicando em qualquer um deles a imagem é alterada. A "mágica"está lá no arquivo CSS:
/* esconde as imagens por padrão */
#imagens img {
display: none;
}
#imagens #imagem-1:target,
#imagens #imagem-2:target,
#imagens #imagem-3:target,
#imagens #imagem-4:target,
#imagens #imagem-5:target,
#imagens #imagem-6:target {
display: block;
}
Ou seja, o pseudo seletor :target só será ativado quando a âncora na URL casar com o elemento respectivo, tornando a imagem selecionada visível (e as demais invisíveis).
Em termos de compatibilidade, este exemplo foi testado e funciona em: Firefox 3.6, Chrome 5.0, Opera 10.60 e Safari 5.0.
E funciona no IE? Talvez... talvez no IE 9!
(evil laugh here mwhaha!)
