CSS Inner Border

Design,Tableless,Web — Ney Ricardo @ 1:32 am

inner_border

Quem nunca perdeu alguns bons minutos tentando fazer aquele efeitinho nas imagens do Globo.com e do G1? Onde uma imagem qualquer num instante está sem borda e no outro, ao passar o mouse por cima, é emoldurada por uma borda que parece crescer de fora pra dentro.

Nunca viu? Dê uma olhada nos sites que eu citei acima.

Interessou? Continue lendo…

Quando vi pela primeira vez achei que era uma simples sobreposição de imagens. Mas como seria possível fazer isso em imagens com tamanhos variados?!

Depois fiz alguns testes com bordas e acabei chegando a uma conclusão: Bruxaria! Só assim seria possível fazer o efeito no site inteiro não importando o tamanho da imagem.

Então, depois de uma boa pesquisada e alguns testes, descobri que era mais fácil do que imaginava e escrevi esse código mínimo:

O segredo está nas linhas 8 a 11. É muito importante que os elementos ‘a‘ e ‘img‘ tenham as propriedades float e overflow conforme mostra o código acima, só assim é possível forçar uma margem negativa na imagem fazendo com que o link invada a área ocupada pela imagem.

Feito isso basta cuidar para que a espessura da borda tenha o mesmo valor me pixels que a margem negativa da imagem.

inner_border_anim

Eu sei, eu sei… O GIF é tosco mas ficou bom de entender, né? Fala sério…

Bom, trocando em miúdos: O link entra, a borda sai.

5 Comments

  1. Ta ficando “Magaiver” no assunto!!! Naun entendo nada de CSS,mas deixa entrar o CS4 pra pra vc ver huahaua!!!
    Parabéns e legal dividir os segredos…

    Comment by Jonatas Azzolini — February 28, 2009 @ 12:15 am
  2. Agora não é mais segredo, né?! heheh
    Valeu pelo apoio Jonatas

    Comment by Ney Ricardo — February 28, 2009 @ 8:11 am
  3. massa,
    nunca tinha parado para perceber isso…
    realmente da uma chamada a mais

    Comment by Vinícius bacarin — February 28, 2009 @ 12:25 pm
  4. Dessa maneira coloca certo sim, mas modifica a posição da
    imagem no site, e coloca também o efeito nos links de texto, e não
    somente nas imagens.

    Comment by Itarcio — December 9, 2010 @ 9:33 pm
  5. Legal, e solução pra isso não acontecer, você sugere algo?

    Comment by Ney Ricardo — December 31, 2010 @ 6:11 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.