Conditional comments para o IE8

Talvez você já tenha ouvido falar em conditional comments e já tenha inclusive usado em seus projetos. Caso nunca tenha nem ouvido falar, recomendo um artigo do revolucao.etc que explica muito bem sobre o assunto.

O que acontece é que os utilizamos para corrigir bugs de css que ocorrem no Internet Explorer. Praticamente todas as versões anteriores ao IE8, que também não é lá essas coisas (faça o teste acid3), dão dores de cabeça para os desenvolvedores.

Entretanto o IE8 corrigiu muitas das antigas falhas e dificilmente precisamos do conditional comments para corrigi-los, é ai que esta o problema.

Antes utilizávamos algo parecido com o código abaixo:

<!--[if IE]>

<link href=”css/cssbugie.css” rel=”stylesheet” type=”text/css” />

<![endif]–>

O problema é que se esse código for utilizado e o usuário estiver usando o IE8, o site provavelmente vai renderizar com algum erro, já que o IE 8 não necessita das correções.

A solução desse problema é muito simples, basta substituir a linha acima por essa:

<!--[if lt IE 8]>

<link href=”css/cssbugie.css” rel=”stylesheet” />

<![endif]–>

A linha acima quer dizer que apenas as versões anteriores ao IE8 interpretarão o arquivo cssbugie.css.

O que me levou a escrever este artigo, é que muitos sites que utilizam conditional comments foram testados no IE7 e seus antecessores, mesmo após o lançamento do IE8 alguns códigos não foram atualizados. Consequência, muitos sites estão sendo renderizados errado.


Sobre o Post

TAGS: | | | .