Comentários condicionais

(Conditional Comments)

Alguns tipos de hacks

html > body
* html
head:first-child + body
head + body
body > element
Porque não usar os hacks?

Os hacks são diferentes para cada versão do IE e posteriormente as novas versões podem complicar a vida do programador.

O call to action da Microsoft avisa que essas soluções (hacks) não deverão estar presentes nos sites quando o IE7 estiver na ativa. Caso contrário seu site não será exibido corretamente.

Para quem quer evitar usar os famosos e ‘maléficos’ hacks a melhor solução é usar os comentários condicionais.

O que é um Comentário Condicional?

São comentário, que inseridos no código (X)HTML apenas serão reconhecidos pelo IE rodados em ambientes windows, passando assim instruções para o navegador. Enquanto os outros browsers interpretam apenas como comentário normal.

Abaixo veja a sintaxe dos diferentes tipos de comentários condicionais que depende da versão do I.E.:

<!--[if IE]>
Para Internet Explorer
<![endif]-->

<!--[if IE 5]>
Para Explorer 5
<![endif]-->

<!--[if IE 5.0]>

Para Internet Explorer 5.0
<![endif]-->

<!--[if IE 5.5]>

Para Internet Explorer 5.5
<![endif]-->

<!--[if IE 6]>

Para Internet Explorer 6
<![endif]-->

<!--[if gte IE 5]>

Para Internet Explorer 5 ou maior
<![endif]-->

<!--[if lt IE 6]>

Para Internet Explorer versão menor que 6
<![endif]-->

<!--[if lte IE 5.5]>

Para Internet Explorer versão menor ou igual a 5.5
<![endif]-->

O site tableless apresenta um ponto de vista contrário ao uso dos Comentários Condicionais.

Antigamente, por volta de 1997, todos os sites usavam uma “splash page” com dois logos: um logo do Netscape Navigator e outro do Internet Explorer. Naquele tempo, em plena guerra dos browsers, era necessário haver uma versão do site para cada navegador por conta da compatibilidade. Os browsers lutavam por adeptos e uma maneira de conseguir isso era criando códigos proprietários que não funcionassem em nenhum outro browser. Por causa disso, o desenvolvedor tinha um dilema: ou sacrificava uma parte do seu público e se dedicava a um único browser, ou ele trabalhava em dobro para suprir as necessidades de todos os browsers da época.

Ter o dobro do trabalho foi um dos motivos pelo qual o pessoal começou a divulgar os Padrões Web com mais força.

Trabalhar com Comentários Condicionais faz com que o desenvolvimento web volte para o ano de 1997. Se você utiliza os comentários condicionais para separar um CSS exclusivo para o IE, geramos trabalho desnecessário. Vai ser preciso replicar as modificações em duas versões. É complicado, leva tempo e é muito, mas muito passível de erros.

Hoje é perfeitamente possível fazer um site sem a utilização de Comentários Condicionais ou CSS HACKS. Claro, há horas que é impossível criar soluções para contornar um bug de compatibilidade sem o usar maneiras alternativas. Mesmo assim, é preferível utilizar os CSS HACKS em vez dos Comentários Condicionais pelo simples motivo de que: 1) eles serão poucos ou quase nenhum, se você fizer um código legível e semântico. 2) se tiver que usá-los, eles estarão no mesmo CSS, não precisará manter dois códigos para duas versões de sites. Você vai resolver os erros de compatibilidade isoladamente.

Finalmente:

Bom, temos um problema. Incompatibilidades de browser’s.
Temos que encontrar soluções práticas e que não sejam mais problemas para se resolver no futuro.
Podemos simplesmente ignorar o I.E.? Não. Temos que conviver com ele, pelo menos enquanto boa fatia dos internautas “ainda” não cairam na real e continuam usando-o.
Hack ou Comentários Condicionais?
Quem dera pudéssemos responder “nenhum”, sem abrirmos mão dos amigos que usamo o I.E..
Por enquanto vou usando o “menos pior”: Comentários Condicionais.
Sem querer ser “parcial”, os Comentários Condicionais não são um “erro pra corrigir outro erro”. Foi criado para esse fim. Para adequação do I.E. aos outros browser’s.

Enquanto isso vou sonhando num mundo perfeito quando todos os browser’s estejam alinhados.

Boa sorte!


Referências:

maujor
brunodulcetti – muito bem detalhado e com bom humor
quirksmode
revolucao.etc – completo
popnoid
forum.imasters – algumas respostas
tablelessuma visão contra o uso do comentários condicionais
emanuelfelipe
rjcorrea – apelando para o PHP
alexandremagno – apelando para o Jquery
maujor – ótimo
w3css
marcusvbp
acordaprawebuma boa discussão sobre o assunto
cledison
owebmaster – uma comparação interessante do HACK com o CC


Anúncios

Tags: , , , ,

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: