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! :D (evil laugh here mwhaha!)

2 comentários »

  1. Kika disse,

    28/07/2010 @ 20:59

    mas pelo menos vc testou no iE? Tava pensando em usar hahaha

  2. Klaus Paiva disse,

    29/07/2010 @ 10:19

    Sim, testei nos IEs 8 pra baixo… sem chance. :)

Deixe seu comentário

* campos obrigatórios