Falso hover no Internet Explorer

Todos sabem que o Internet Explorer não fez uma implementação completa de CSS2. E dentre as várias limitações do browser azul uma delas é não compreender o pseudo elemento :hover. Com ele você pode fazer coisas interessantes que os desenvolvedores do passado utilizavam JavaScript inline para simular o mesmo efeito. Nunca gostei desses scripts inlines.

Eu encontrei o script Fake :hover, um arquivo .htc de extensão proprietária da Microsoft que pode ser chamado de dentro de uma regra de CSS dentro em um conditional comment. Veja mais detalhes deste script no XS4ALL. Através dele, o IE 5 e 6 reconhecem minhas regras de CSS que usam o pseudo elemento :hover em qualquer outro elemento como tables e inputs por exemplo. Simples e eficiente.

Para implementar o script, basta salvá-lo (é claro) e utilizar um conditional comment para chamá-lo da seguinte maneira:


<!--[if IE]>
   <style type="text/css">
        body { behavior:url(scripts/csshover.htc); }
   </style>
<![endif]-->

Como o script é chamado de dentro de um conditional comment, mesmo que o código esteja presente em todas as páginas para todos os browsers, apenas o Internet Explorer vai parsear e tratar seu conteúdo, ficando invisível para os browsers mais inteligentes. Eu apliquei este exemplo no hotsite do e-MBA (o conteúdo não está mais disponível) da Webroom em Uberlândia. Façam seus textes usando o Internet Explorer passando o cursor sobre as tr das tabelas e veja que realmente funciona.