Tableless - Desenvolvimento inteligente com Padrões Web

18/12/2007
Artigos

Comentários Condicionais – Não use

A utilização de comentários condicionais não é uma excelente maneira de contornar bugs. Os comentários condicionais são comentários incluídos no código HTML escritos exclusivamente para fazer uma parte do código funcionar no Internet Explorer. Normalmente o uso dos comentários condicionais …

Por


A utilização de comentários condicionais não é uma excelente maneira de contornar bugs. Os comentários condicionais são comentários incluídos no código HTML escritos exclusivamente para fazer uma parte do código funcionar no Internet Explorer.

Normalmente o uso dos comentários condicionais servem para especificar uma parte do código para a interpretação exclusiva pelo Internet Explorer. Alguns desenvolvedores criam um CSS exclusivo para o IE e utilizam os comentários condicionais para que apenas o Internet Explorer entenda este CSS. Assim é possível corrigir bugs que acontecem apenas no Internet Explorer.

Esta prática faz com que o desenvolvedor tenha duas versões do CSS para fazer manutenção, corrigir falhas, implementar novas mudanças etc, etc, etc.

A sintaxe é a seguinte:

<!--[if IE]>
<link href="estilos/estilos_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

Se quiser, você pode fazer um comentário condicional para separar um código específico para cada versão do internet explorer:

<!--[if IE]>
     Para todas as versões
<![endif]-->

<!--[if IE 5]>
     Apenas para o Internet Explorer 5
<![endif]-->

<!--[if IE 5.0]>
     Apenas para o Internet Explorer 5
<![endif]-->

<!--[if IE 5.5]>
     Apenas para o Internet Explorer 5.5
<![endif]-->

<!--[if IE 6]>
     Apenas para o Internet Explorer 6
<![endif]-->

<!--[if gte IE 5]>
     Para o Internet Explorer 5 e versões superior
<![endif]-->

<!--[if lt IE 6]>
     Para versões anteriores ao Internet Explorer 6
<![endif]-->

<!--[if lte IE 5.5]>
     Para o Internet Explorer 5.5 e versão inferior
<![endif]-->

A idéia parece ser interessante. Mas eu não aconselho seu uso.
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.

As dicas são: Mantenha o código o mais simples possível. O código deve ser tratado como o seu lar. Mantenha-o organizado e limpo e você viverá bem ali.
Se você for designer, não faça layouts bizarros, com montes e montes de bordas arredondadas, formas que ficam sobrepostas, sombrinhas aqui e ali.

Por Diego Eis

Diego Eis criou o Tableless para disseminar os padrões web no Brasil. Como consultor já treinou equipes de empresas como Nokia, Globo.com, Yahoo! e iG. É palestrante e empreendedor.

http://twitter.com/diegoeis/

Veja os outros posts de

  • http://www.imoveisdefriburgo.com.br Helinton

    Diego este post é ótimo. É duro ter de trabalhar em dois css ao mesmo tempo um para o firefox e outro para o ie. Gostararía de desenvolver sem me preocupar com compatibilidade entre browsers. Tenho certeza de que este não é um sonho só meu.
    Um abraço

  • http://www.marcusvbp.com.br Marcus VBP

    Diego, não concordo totalmente com você.

    Você está certo, se seu código estiver certinho, você usará muito pouco CSS Hacks. Mas ainda assim, usar comentários condicionais é muito mais prático para mim.

    Você falou motivos para usar CSS Hacks, mas qual o real motivo para não usar comentários condicionais? Eles atrapalham na versão mobile do Internet Explorer, é isso?

  • http://leitordeblogs.wordpress.com Gustavo

    Concordo com o que você falou. No meu caso específico, não tive muitos problemas com isso pois sempre que precisei, fiz uso dos CSS Hacks e não dos comentários condicionais, muitas vezes inspirado por tutoriais que li aqui mesmo, no Tableless. Você pode agora, aproveitando seu gancho dos CSS Hacks, mostrar exemplos de problemas e suas soluções usando ora um, ora outro e porque. Acho um assunto interessante para um artigo.

  • http://code-import.blogspot.com Daniel Ribeiro

    Diego, não sou expert mas desde o ie7 foi dito que ele não aceita hacks pelo fato de a maior parte dos problemas terem sido resolvidos, mas e os que não foram?! não uso hacks, e crio uma pagina só com as excessões ou talvez até um pedaço de código na própria página sendo englobado pelo comentário condicional.

    E penso que assim será bem mais fácil quando o os browsers entrarem no eixo e precisar fazer reparos, claro que isso depende da complexidade do layout e da interatividade aplicada, mas no momento não vejo outra forma melhor!
    no hacks!

    Abraços.

  • http://alexandre.gaigalas.net Alexandre

    Comentários condicionais tendem para o problema de versões separadas. CSS Hacks tendem para o problema de instabilidade e imprevisibilidade do código. Não sei qual deles é pior.

    Eu particularmente prefiro os comentários condicionais. Dessa forma posso concentrar tudo que dá problema em uma versão específica do IE em apenas uma folha de estilo, ao invés de ter que ficar caçando código pelas outras folhas atrás de bugs.

    Com comentários condicionais eu posso, por exemplo, usar o filtro alpha que simula opacidade no IE, aplicar behaviors para o pseudo-seletor :hover em todos os elementos da página, usar css expressions para simular min-height e min-width. Tudo isso validando e sem medo de problemas de compatibilidade. Eu sinceramente prefiro isso do que adicionar divs e spans sem necessidade pra alimentar hacks famintos.

  • http://www.marcusvbp.com.br Marcus VBP

    Exatamente Alexandre.

  • http://www.itideas.com.br Roberto Longhi

    Se eu vou ter que usar Hacks, prefiro fazer isso em um arquivo separado e interpretado somente pelo IE. Assim se der algum problema eu simplismente altero o arquivo css com os Hacks.

    Eu também não entendi o porque não utilizar o conditional … :P

    []‘s

  • http://webbemfeita.com Rochester

    Concordo com o Alexandre.

    A questao agora é TOTALMENTE diferente de 1997. Naquela época eram dois sites MESMO, aqui se vc fizer bem feito será um arquivo com 10 linhas, apenas para efeitos e coisas que o IE ignora.

  • Marcelo

    Também não vejo problema algum em comentários condicionais!

    Não existe duas versões de layout neste caso.. mas sim duas folhas de estilo separadas! pq no css principal, vc tem o layout todo, no outro apenas as gambiarras para arrumar o IE. Se alterar um, vai ter que alterar o outro de qualquer maneira. Isso acontece para o CSS Hacks Tb, Se vc alterar alguma coisa, vai ter que alterar o Hack tb… A diferênça é que o Hack está na linha de baixo, e não em outro arquivo! só isso!

  • http://www.caioruman.com/blog Caio

    Diego, nesse caso eu não concordo com você.

    Em um site bem feito, o uso de css exclusivo para o ie6 ou o ie7 é mínimo, e que no meu ponto de vista, deixa o código mais organizado e limpo.

    Se o css exclusivo para o ie6 já tem mais de 80-100 linhas, algo foi feito errado no css normal!

  • http://www.w3css.blogspot.com Guido

    Concordo com o Alexandre, é bem mais fácil usar os comentários condicionais do que colocar hacks no css principal.

  • http://tableless.com.br/ Diego Eis

    Para que ter um arquivo com 10 linhas? Só para causar problemas por causa dessas 10 linhas?

    A idéia é não manter mais de um código diferente. É você fazer apenas uma versão do site para os browsers em vez de ficar se perdendo e fazendo uma versão para cada browser.

    Esse pensamento de fazer duas versões de CSS é coisa do passado. Pensamento antigo que deixa mais complicado o trabalho.

  • http://www.semassunto.blog.br/ Rubens Cavalheiro

    Tudo isso, porque ainda existe IE 6.0 que concentra 50% (ou mais) do tempo de desenvolvimento de qualquer aplicação web cross-browser, em pensar que no Google Analytics mostra usuários com IE 4.01 (quem usa isso ainda – esse é Guerreiro).

    Eu uso Comentários Condicionais, fica tudo num lugar, simples prático com o IE merece… heeheh

    @Alexandre: compartilho da mesma idéia.

  • http://www.vitorgga.com VitorGGA

    O complicado disso tudo é fazer um código válido. Tow começando a achar q essa parada de código válido pelo W3C é coisa pra mestres jedi.

  • http://www.joaquimoliveira.com.br/ Joaquim Oliveira

    Diêgo, sou assinante do feed e estou sempre por aqui, achei o tópico bastante interessante, mas discordo da afirmação: “Se você for designer, não faça layouts bizarros, com montes e montes de bordas arredondadas, formas que ficam sobrepostas, sombrinhas aqui e ali.”.
    Sou adepto dos Web Standarts eles são o presente e o futuro do desenvolvimento web. Existem N vantagens em se trabalhar com os mesmos, mas não concordo com o fato de pensarmos que o futuro é uma intenet feia, quadrada. Admiro bastante o design clean, bons layouts com apenas uma boa combinação de cores e formas quadradas, ângulos retos, inclusive tento implementar bastante dessa forma.
    No entanto, existem diversas situação em que se faz necessário o uso da extravagância, abuso de cores e formas, sombras, degrades, e não vejo pq não se implementar isso com as CSS. Não acho que tenhamos estudado tanto, aprendido tanto, evoluído tanto para chegarmos a uma internet quadrada.

    Uma grande referencia no desenvolvimento baseado nos Web Wtandarts o Maujor nos diz o seguinte “Uma tecnologia nova (como CSS) deve permitir a criação de algo melhor, sem perda da qualidade de design das construções antigas baseadas em tabelas e imagens.”.

    Abraços

  • Nil Tojal

    Eu vou com o Joaquim Oliveira, o que mais me trouxe para o uso de Tableless é que é possível fazer um site bacana com um visual inovador e ao mesmo tempo limpo e usual para todos, eu não sou um WebDesign que ja chegou a ponto de fazer layout maravilhosos mas estou estudando e batalhando para isso sei que chegarei la ainda, e não quero pensar que não possa fazer qualquer layout usando css e fazer dela usal e atual….

    Agora sobre o fato de vc apoiar de não usar o comentarios condicionais tb sou a favor, pq usar eles é dar ainda razões para que o pessoal que desenvolve o IE mantem nessa linha de projeto por muito tempo, o que temos mesmo é valorizar os browsers webstandart (firefox e outros )e fazer css mais voltados para ele, e uma campanha para que o usuarios passem a usar esses browsers colocando anuncios nos proprios sites pode ser uma idea (Ex vc não esta vendo este site direito? então é melhor mudar de Browser) …

    droga me empolguei de novo….

    ate mais..

  • Nil Tojal

    Ah Diego uma coisa vc podia colocar aqui um Feed para os comentarios ou quem sabe uma maneira de sermos avisados que mais alguem comentou este post para que essa discussão não morra aqui….

    Ate mais

  • http://project47.viscountbox.com/ Carlos Eduardo

    Concordo com o ponto de vista do post.

    Só que acabo por utilizar comentários condicionais para o IE7 e, no caso do IE6, utilizo os “hacks”.

  • Rafael Oliveira

    Eu também partilho da visão do Alexandre. É muito mais fácil você saber onde estão os problemas, tê-los em um canto separado para que você possa atualizá-los conforme a sua necessidade, do que ter que vasculhar seu CSS atrás de hacks e mais hacks.

    Não vejo como manter seus problemas focados seja um pensamento do passado. Aliás, tenho a visão oposta.

    Mas, isto é uma visão pessoal, cada um finaliza seus layouts da maneira que acha melhor. :P

  • Rafael

    “Se você for designer, não faça layouts bizarros, com montes e montes de bordas arredondadas, formas que ficam sobrepostas, sombrinhas aqui e ali.”

    Resumindo, vc sugere que se limite a criatividade do layout para manter o código limpo… rs….

    Lamentável…

  • http://rafaelmarin.net Rafael Marin

    Depende bastante Diego.
    Os arquivos CSS que uso nos conditional comments dificilmente tem mais de 10 linhas. Nem todo o CSS precisa ser reescrito pra que os bugs sejam corrigidos. Nos CSS’s dos conditional comments eu corrijo apenas o que for necessário, colocando !important no fim de cada propriedade pra que ela tenha efeito no IE e no IE7.

    Claro, nem sempre são necessários, mas quando são, não é preciso reescrever todo o CSS.

    ;D

  • Diego Bittencourt Muniz

    Olha, nesse ponto eu concordo com Diego Eis. Não aparecem problemas de compatibilidade no IE com taaaaanta freqüência assim, a ponto de ter outro CSS, e sempre consigo contornar os erros, as vezes até modificando uma parte. Sim, eu penso em outro modo de fazê-lo ao invés de tentar gambiarras no IE, e acho que até certo ponto é bom você primeiro pensar em outras idéias.

  • http://jaderubini.wordpress.com Jader Rubini

    O pior é quando não é você quem cria os layouts, e o desgner cisma de fazer layout com o máximo de firulas possíveis (e impossíveis também), como esse layout.

    Mas mesmo layouts desse tipo (acredite, eu já codifiquei piores) eu consigo fazer praticamente sem usar hacks.

  • Felipe Elia

    Discordo do post.

    O uso de comentários condicionais é indispensável, por exemplo, para o uso de PNG no IE 6.

    E ainda: a idéia de que vc vai ter que fazer a mesma alteração no CSS duas vezes não é real, afinal a segunda é apenas um complemento da primeira e não uma cópia completa.

    Mesmo assim acho que devemos expor nossos pontos de vista e assim aprendermos cada vez mais!

    Abs!

  • http://www.gargantas.org KveRa

    É Diego, esse esquentou…… :)

    Sou um desenvolvedor, e me considero até pouco esperiente (em DESIGN WEB), porém, já que resolvi aprender optei por aprender do jeito certo. Já tem um bom tempo que acompanhos os posts do Tableless, no site ou via RSS e eu concordo com o Diego, até certo ponto.
    Um código bem escrito, limpo e simples (não precisa ser quadrado pra ser “simples”…) gera poucos problemas de compatibilidade, e
    acho que realmente o uso dos Condicionais é
    um certo regresso, porém, não sou fã dos HACKS, afinal, onde estão os WEB Standards..?
    Mais não vejo tanto problema assim no uso de 2 arquivos CSS, afinal, na web também pode se aplicar os conceitos de modularização, ou não ?
    E afinal estamos falando de “Cascading” Style Sheets…

  • http://www.google.com.br/ Rodrigo

    Olá Diego, no meu caso, inventei um solução diferente! peguei a idéia do CSS Browser Selector do Rafael Lima que é feito em javascript, o que na minha opinião não é bom porque se a pessoa desabilitar o Javascript nao adianta de nada! Então fiz uma versão em PHP que coloca uma classe na tag body de acordo com o navegador da pessoa.

    body {
    background:#fff;
    }

    body.ie {
    background:#000;
    }

    no caso, o código acima eu usaria se quisesse background preto em qualquer versão do ie e nos outros navegadores background branco!

  • http://www.rdesigner.ppg.br Rubens Ayres

    Faço o contrário: geralmente desenvolvo pensando no IE (já que é – e será por ainda muito tempo – o browser da MAIORIA dos usuários) e no Firefox. Ou então – raramente – utilizo algum script pra detecção de browser.
    O que acontecer no resto dos browsers é lucro.

  • http://sortidos.frih.net Jonathan

    Não gosto de comentarios condicionais também, mas eles tem seus usos, exemplo daquele bug -tosco- do IE 6 com os comentarios, http://www.positioniseverything.net/explorer/dup-characters.html
    .
    Acho que a critica aqui foi mesmo a pratica de separa duas folhas de estilo com os comentarios condicionais…

    essa semana no PositionisEverything saiu um artigo sobre como usar comentaros condicionais sem usar dois csses.

  • http://www.i9mais.com Izac

    Tento usar o mínimo possível os hacks de CSS, mas, às vezes, é necessário, talvez por causa de prazos ou por não achar uma solução. Comentários condicionais não uso jamais.

    Agora hacks de Javascript sempre uso não tem como.

  • http://www.zhp.com.br Henrique Zap Pimentel

    Ah o velho dilema …
    eu peguei um bocado dessa fase de splash screens, seletores manuais, seletores com JS e uma infinidade de bugigangas para contornar as questões de compatibilidade.
    Normalmente um layout mais simples e bem estruturado realmente dispensa o uso desses trique-triques, mas sempre tem uma coisinha ali ou aqui que precisa de um ajuste mais fino.
    Eu ate uso os hacks mas eu já optei por uma solução interessante:
    Faço um CSS genérico que contemple a grande parte do layout e depois uso um css condicional para apenas as partes específicas do IE.
    A manutenção não fica muito complexa, mas o ideal seria mesmo não precisar de nada.
    oh grandes fabricantes de browsers, padronizem seus produtos, peloamordedeusetodasasentidadescabalisticaseonipresentesdouniverso.

    :O

  • http://alexandre.gaigalas.net Alexandre

    O Felipe Elia solucionou o problema com a filosofia natural do CSS:

    Folhas de estilo são aplicadas em camadas que se sobrepõe (o famosíssimo efeito cascata). Uma folha de estilos só para o IE não é versão, é apenas uma camada extra.

    O correto é separar a camada de apresentação (CSS Puro) da camada de tratamento de erros (hacks para IE). Mesclar dois objetivos distintos em apenas uma parte da aplicação é teoricamente errado.

  • Daniel Luz

    Concordando com Felipe Elia e Alexandre, por que usar condicionais implica em duas versões? O fim é o mesmo, apenas trocando gambiarras que podem quebrar completamente com lançamentos futuros do IE (lembre-se do lançamento do IE7, quando foi necessário procurar novos hacks… o que significa possivelmente ter de correr atrás de todos os seus estilos, identificando os hacks e os substituindo) por um arquivo adicional.

  • http://maurivan.com Maurivan Luiz

    Galera, bora parar de utilizar o desen para publicar links de comentários ? (:

    Não é nada bacana ficar navegando em links para ler comentários, sendo que estamos a menos de 10 metros (: – Além do mais ao invés de responder o e-mail com o link, porque não responder com o ponto de vista de cada?. Mais interessante!

    []‘s
    Maurivan Luiz

  • Rodrigo Souza

    É, realmente é um saco ter que fazer folhas de estilos diferentes por causa dos browsers, eu não faço, é mais trabalhoso mas no final fica mais bem mais fácil de fazer manutenção.

    Abraços

  • http://www.marciotoledo.com Marcio Toledo

    Diego, leio o Tableless e diversos outros sites a um bom tempo.. acredito que quase 3 anos.

    E acho que é a primeira vez que discordo de um artigo.

    Bom na minha opinião e forma de trabalho (entenda-se por forma de codificar) a separação é muito importante, estruturo e codifico o site todo e ele funciona perfeitamente em firefox, safari e quase perfeitamente no IE7, já no IE6 alguns probleminhas de sempre e o principal que é a utilização de PNG, para isso uma linha no html e mais umas 3 no css e um .htc resolvem o meu problema.

    Se eu tivesse que colocar um hackzinho dentro de um css de 150 linhas, por mais que tivesse comentado, isso sim seria sujo.

    De qualquer forma estamos tendo que criar solucões por incapacidade das empresas e organizações seguirem padrões então a melhor opção é facilitar nossa vida.

    Já pensei em dar um basta para o IE6, só que tive a infelicidade de chegar no cliente para apresentar o projeto e adivinha o que ele tinha? :)

    Fica minha opinião registrada.

    Para ilustrar, fica um link de um projeto bem pequeno que desenvolvi recentemente:
    http://www.ativainternacional.com.br/

    Atenciosamente,
    Marcio Toledo.

  • http://www.xfanaticos.com.br Breno

    Realmente os Conditional Comments dão muito trabalho. Porém também sabemos que é muuuito difícil construir um site que se comporte nos principais browsers sem ter nenhum problema. Na dúvida também acho melhor usar um ou outro css hack e mais nada….

  • Bruno Francisco Santos

    segundo a notícia que eu li em um blog da info, a microsoft está preparando o IE 8 para nao ter incompatilibidades com os outros navegadores:

    “Wilson também falou em melhor suporte ao padrão Cascading Style Sheet (CSS) 2.1 e em mudanças no modelo de objetos para melhorar a compatibilidade com outros navegadores. A lista inclui, ainda, novas APIs para JavaScript assíncrono e XML. Outra alteração mencionada por Wilson seria os desenvolvedores de sites passarem a optar entre seguir os padrões próprios do IE ou os padrões abertos oficiais. Algum comando no código da página passaria essa informação ao navegador.”

    mais informações pra quem quiser continuar lendo:
    http://info.abril.com.br/blog/mauricio/20071219_listar.shtml

    abraços

  • http://yopirateo.blogspot.com.br Mateus

    eu sou a favor de fazer um CSS pro ie, dar um display none pra tudo, e mandar o usuário baixar o FF hehehehehe…

  • http://www.csslab.cl Jorge Epuñan

    Construir um site grande totalmente compativel com todos os browsers nao eh coisa de engenheiro da NASA, sinao de tecnica, pratica e conhecimentos profundos das capacidades dos browsers. Pela minha experiencia, a receita para um ‘One True Layout’ eh:

    1. um bom CSS Resetter
    2. um markup HTML limpo, organizado e semantico
    3. estilos css’s adequados para ese markup.

    Eh certo que IE6 e IE7 sao uma bosta, mais pode-se lidar com a maioria de seus defeitos com tecnicas simples de CSS (por exemplo, o min-height, duplo margin no float-margin e height: 100% do IE6). E tudo isso sem hacks ou conditional comments. Muita pratica e estudo faz um bom profissional.

    pd. Nao concordo com o post…. no ultimo caso conditional comments eh a melhor soluçao.

  • Erik

    Estou com saudades dos tempos em que o Tableless trazia posts mais interessantes. Hoje em dia quando leio os feeds me vem uma sensação de déjà-vú.

    Fora isso o layout da home ficou muito bonito. Parabéns!

  • http://www.akanga.com.br Marcos Watanabe

    Olha, só reforçando o que já disseram: Este problema só vai acabar quando a Microsoft lembrar que os padrões são do mercado, não da sua área de marketing …

  • http://www.juniovitorino.com Junio Vitorino

    Eu acho um pouco estranho, a algum tempo atrás vários blogs conhecidos no brasil sobre padrões, evangelizaram os desenvolvedores a utilizar o conditional comments como saida para seus projetos não quebrarem no IE7 e etc. Estranho agora esse tipo de posição. Mas tudo bem, a quem pense que hacks é melhor, a quem pense que CC é uma dádiva, fazer o que.

  • Thiago Breda

    Nossa… O Carlos Eduardo chutou o balde! “Utilizo comentarios condicionais para o IE7, e para o IE6 fico com hacks mesmo…”…..rsrs, de maneira simples e sem nenhum “artifício técnico” hoje é possivel desenvolver um site que rode em IE6, IE7 e FF, sem maiores complicações, basta o mínimo de estudo, não precisa ser nenhuma lenda viva para conseguir isto. Abraço a todos!

  • Leandro

    Eu discordo completamente do seu artigo Diego. Eu não acredito, como voce, que usar hacks dentro do css seja melhor que usar um arquivo separado para resolver problemas que apenas um navegador, ou ainda, uma versão de um navegador apresenta. Usei conditional comments no último site que fiz pq acredito que manter o código limpo, dentro de um padrão é muito mais interessante do que ter linhas com barras e asteriscos. Também discordo de dizer que a culpa é do designer. Acredito que codificar é uma parte importante do processo e que o designer pode participar, dando alguma liberdade pra quem codifica fazer adaptações e mudanças no layout. Particularmente, não vejo problema em criar um arquivo separado já que o seu código está mais limpo e correto possível. Qual o problema de criar um arquivo com 1 linha que seja??
    Sinceramente, acho que um artigo que ajudasse a resolver algum problema seria mais interessante do que ficar discutindo qual das duas soluções é a melhor, pois acho que as duas atendem muito bem e é uma questão de postura de quem codifica utilizar uma ou outra.

  • http://www.prosadigital.com/ Marcus Vinicius Bastos Leandro

    Eu discordo em partes.

    Concordo que manter um código limpo, bem organizado e sem muitas firulas facilitam em 90% a compatibilidade do mesmo em vários navegadores.

    Discordo com o fato de não usar os condicionais, porque eles ajudam a manter o código o bem organizado. Não vivemos num mundo onde todos os browsers implementam corretamente os padrões web e temos que encarar essa dura realidade, embora com muita revolta, sobretudo contra o IE, mas é uma verdade.

    Sem contar que comentários condicionais validam código, e css hacks, na maioria das vezes não.

    Bem, é isso aí!

    Para finalizar gostaria de parabenizar pelo novo layout! Ficou show!


    Abraços,
    Marcus Vinicius Bastos Leandro
    http://www.prosadigital.com/

  • http://elmicox.blogspot.com Micox

    Concordo. Finalmente alguém (e vários outros nos comments) que percebe que com comentários condicionais teremos que manter 2 arquivos CSS.
    Deixar as mesmas estilizaçõe no mesmo arquivo, além de ser mais lógico é mais prático.

    Imagine que eu tenha que estilizar posições de uma div. Pra que deixar isto em 2 arquivos diferentes??

    Parabéns cara. Tomara que esta mentalidade se espalhe.

  • Pingback: Sobre CSS Hacks « leoguime

  • Marcelo Iepsen

    Concordo com o Alexandre e o Joaquim.

    Não concordo em manter os hacks na mesma folha de estilo. Em primeiro porque me foco em validar o html, segundo que não vejo porque não separar o css que define a estrutura das exceções. Devemos escrever códigos semânticos, assim evitaremos hacks e nos casos inevitáveis, escrevemos em um estilo a parte.

    Sobre o design, acredito que existam casos em que podemos limitar a criação, como em layouts de mailmarketing. Mas em geral, não devemos limitar e sim procurar a solução para resolver os problemas que podemos encontrar em um layout complexo.

  • http://www.claudiaregina.com/ Claudia Regina

    Nossa, quanta oposição hein… rs…

    Acho também que em um layout bem feito é muito difícil encontrar motivos para usar hacks ou “comentários condicionais”.

    Se houver muita necessidade é melhor usar um hack se for algo simples (um site com uma folha de estilos pequena)… se o site for mais complexo voto nos CCs, pela própria organização.

    E quanto aos designers que fazem layouts cheios de firulas, concordo em partes… rs… sou designer e já faço o layout pensando em como aquele site vai ser cortado e “css-zado” (até porque eu faço essa parte também…).

    Mas poxa, implicar com umas sombrinhas ou cantos arredondados? rs… acho super-possível fazer um site nos webstandards com criatividade quase ilimitada (quase porque ninguém faz milagre, também… rs…)

    Abraços!

  • http://www.iesart.com Jeison Frasson

    Bom eu concordo com o Diego, sem dúvidas que trabalhar com mais de um arquivo para fazer a mesma coisa é perca de tempo
    Porem usar hacks acho que ainda não é a melhor solução, pois esses mesmos não são validados pelos padrões da w3c, se esses fossem eu estaria feliz da vida XD