And After - Design e Tecnologia por Sua Conta!
O desenvolvedor é um blog sobre desenvolvimento web, não tratando apenas de programação mas também compartilhando experiências, métodos, debates e tendências da internet.

O Desenvolvedor é um blog de www.andafter.org
Assinar o Feed RSS

Chris Benseler

[www]

Fotos sempre tiradas do lado direito do rosto. Que nem o Rei!
Viciado em web, trabalho com web. Javascript e (x)html são minha praia conhecida, e me arrisco com PHP e Java.
Na vida offline, futebol e música me distraem. E falar bobeiras com os amigos

Status
Karma: 16024
Opiniões: 30

Mais deste autor


Image flickering

Image flickering

Muito bomEste texto foi classificado como Muito bom
Em Internet, Programação, Softwares
Por Chris Benseler
12 de Dezembro de 2008

Links com imagem de fundo que, quando você passa o mouse por cima, perdem o background no IE6

RSS Acompanhe O Desenvolvedor por Feeds!


Já ouviu falar em image flickering?
Até semana passada, eu não. Mas certamente, assim como eu, você já viu acontecer: links com imagem de fundo que, quando você passa o mouse por cima, perdem o background. No lixo do IE6.
Eu não sabia que tinha um nome bonito.
Por exemplo, essa classe CSS aqui daria problema:

.someClassName {
    background:#AABBCC url(someBackGroundImage.gif) repeat-x;
}


Pelo que entendi do assunto, essa é uma questão relacionada a como o browser (não que o IE6 seja um browser, mas vamos lá...) faz cache das imagens.

Existem várias soluções para esse problema - sim, é um problema ao meu ver, e não uma propriedade do browser. De uma googlada e veja que há várias técnicas.
Uma delas seria não usar imagens de background em links. Outra, colocar uma div (ou algum outro elemento) em volta do link e usar background nela.
FAIL para ambos.
Mudar a sua marcação html por causa do IE6 não faz sentido; é um browser antigo, que não segue padrão algum, que vem caindo em desuso.

Existe um fix para isso que funciona bem em qualquer IE6 instalado numa Windows com qualquer Service Pack.
Dentro do head do seu html, coloque o javascript:

<script type="text/javascript">
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}
</script>

Esse script tenta fazer com que o browser use as imagens salvas no cache da máquina.
Funciona belezinha.

Agora, e quem usa um IE6 sem Service Pack? O choro é livre.
E atualize seu browser, por favor!

O que você achou do texto?

  • Muito ruim
  • Ruim
  • Regular
  • Bom
  • Muito bom
Sua opinião é o que faz a comunidade funcionar, colabore para isso!

Tags: ie6, flickering

Enviar para um amigo
Você pode comentar, assinar o feed, conhecer mais sobre o autor e ajudar a divulgar este artigo em sua ferramenta favorita através dos botões abaixo.
  • Rec6
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Eu curti

Comentários

Deixe seu comentário!

Nome (requerido)

E-mail (requerido - não será divulgado)

URL

Quanto é 4 + 4?




web tracker