Quando fazíamos sites com tabelas, o grande problema era a quantidade de código que escrevíamos. Naquele tempo – 1996, 97, 98 – tínhamos outros pontos que precisavam de uma atenção maior. A conexão era lerda para todo mundo e isso dificultava um bocado as coisas. Por isso, fazer um site pesado era fora de cogitação. Ficávamos “mendigando” cada byte para que o site ficasse milésimos de segundo mais rápido.
O código era o grande problema. A quantidade de código interferia diretamente na performance do site. E isso fez com que os desenvolvedores encontrassem saídas não muito agradáveis.
Era comum fazer códigos como o de baixo:
1 2 3 4 5 6 7 8 9 10 | <table> <tr> <th>Produto</th> <th>Preço</th> </tr> <tr> <td>Tênis</td> <td>R$230</td> </tr> </table> |
Se transformarem em verdadeiros monstros:
<table><tr><th>Produto</th><th>Preço</th></tr><tr><td>Tênis</td><td>R$230</td></tr></table>
Isso tudo para economizar alguns bytes, que dependendo do site, significavam teras e teras de banda por mês. Naquele tempo, fazer isso era totalmente justificável. Precisávamos de alguma forma diminuir esse código para que o site ficasse mais rápido para o usuário e as requisições não sobrecarregassem o servidor.
Hoje isso é totalmente dispensável.
Aprendemos a utilizar o CSS e sabemos escrever HTML semântico.
A utilização dos Padrões trazem uma série de vantagens, e uma grande parte dessas vantagens são por causa da diminuição do código. Com o desenvolvimento de camadas e principalmente por causa do uso do CSS, não precisamos mais “otimizar” o código.
Mas parece que os desenvolvedores gostam de coisas complicadas. Esse mal costume de otimização de código ainda existe, e hoje querem otimizar o CSS. Eu acho totalmente inútil. O CSS foi feito para controlar o visual do site inteiro. Ele tirou a responsabilidade de formatação que colocávamos no HTML. Seu trabalho é exclusivamente esse: controlar o visual e diagramação do site.
É normal ele ficar grande, enorme, bizarro! Sim, haverão alguns casos que o tamanho superará mais de 1000, 2000, 3000, 4000 linhas.
Dá para evitar? Claro que dá! Pense simples. Module os arquivos. Faça um planejamento. Mas NUNCA faça com que um CSS escrito assim:
1 2 3 4 5 6 7 | div { padding: 10px; border: 1px solid #CCC; width: 485px; height: 37px; background: #EEE; } |
Fique assim:
1 | div{padding:10px;border:1px solid #CCC;width:485px;height:37px;background:#EEE} |
Tenha dó do seu próximo e tenha dó de você mesmo.
Se você escreve o código de acordo com os Padrões, já economizou código suficiente. Não prejudique a manutenção do site por conta dessa neura. Escreva código legível!
Há outro ponto que devemos levar em consideração: imagine que o site pese 40Kb. Estes 40Kb são compostos por 20Kb de CSS e 20Kb de HTML. O CSS tem uma característica interessante: ele é cacheado pelo browser quando visitante entra no site.
Na primeira visita do usuário ele baixará 40Kb de uma vez. Já na segunda visita ele baixará apenas 20Kb relativos ao HTML. Ele não precisará baixar os 20Kb de CSS porque o arquivo já está cacheado pelo browser.
Não “otimize” seu código CSS, nem seu código HTML. Faça apenas com Padrões Web e siga categoricamente a semântica. É a melhor otimização que você pode conseguir.
O Leonardo Caineli escreveu um artigo sobre isso. Claro, discordo da opinião dele.
[update]Depois do post o pessoal chamou a atenção para essa prática em empresas grandes. Notei que no post eu não falei nada sobre isso. Sim, concordo que essa prática, só nessa hipótese, é totalmente considerável.
Quando treinei a primeira equipe do Terra – da época do site laranjão, lembra-se? – a primeira coisa que eles fizeram foi converter a home, e eles ainda sim queriam colocar todo o CSS em apenas uma linha.
Realmente 1Kb multiplicado por milhões é coisa para caramba e não há banda que agüente. Por isso, é totalmente aceitável que sites com um porte muito grande, “otimizem” seu código. [/update]
105 Comentários
105 Comentários
Gabriel 09/11/2008 às 03:05
A unica “otimização” que utilizo é em coisas do tipo:
a {
text-decoration: none;
}
fica assim:
a { text-decoration: none; }
Juarez P. A. Filho 09/11/2008 às 03:56
Acredito que a Prática com Padrões Web realmente já é suficiente para redução de código, mas com algumas ferramentas podemos otimizar o HTML e o CSS apenas em produção, deixando o código totalmente legível para quem for brincar. =)
Ferdinando Duerst 09/11/2008 às 04:38
Concordo com a mensagem, mas há alguns exageros aí… “teras e teras de banda por mês”? Mesmo o Yahoo! teria que estar fazendo as coisas de forma bastante supérflua para chegar a tanto assim de economia em 1998.
E para o exemplo final, seria mais apropriado falar em page views. Uma segunda visita do usuário pode muito provavelmente ser depois que o browser, por um motivo ou outro, já não vai mais utilizar a cópia que havia feito durante a primeira visita, e o próprio Yahoo! já demonstrou em seus estudos que o cache é ainda menos efetivo que aparenta ser.
Mas como disse, apóio a mensagem. Otimização prematura é muitas vezes uma das maiores causas de problemas futuros.
Julio Fragoso 09/11/2008 às 07:36
Eu discordo do Diego… comecei a fazer css da segunda maneira e acabei acostumando…
faço um comment no início e coloco grandes espaços dividindo…
acredito que o CSS do meu site pessoal ainda está da maneira antiga que desenvolvia mas atualmente tenho feito arquivos, acredito eu, mais organizados.
Rafael Marin 09/11/2008 às 09:45
Nós achamos uma boa saída para isso no nosso framework de desenvolvimento: criamos um handler que otimiza o código automaticamente. Então escrevemos código CSS normal e o próprio script de servidor se encarrega de otimizar, automaticamente, todo o código CSS, removendo quebras de linha e comentários.
Francisco Costa 09/11/2008 às 11:11
Inteiramente de acordo.
Rics 09/11/2008 às 11:58
Até que enfim alguém que pensa como eu. Vou começar a recomendar este texto para todo o pessoal que trabalha comigo.
Se tem uma coisa que me dá agonia é a ânsia por economia de espaço nos dias de hoje. Pra que economizar alguns bytes quando temos gigas e mais gigas de memória, internet ultra veloz, HDs gigantescos beirando os terabytes?
A economia de banda e espaço acaba saindo mais cara por causa da perda de tempo no desenvolvimento e manutenção dos softwares.
Parabéns pelo artigo!
Camilo Vitorino da Costa 09/11/2008 às 12:07
como o gabriel, eu também só otimizo código que utiliza um parametro apenas.
li {
display: inline;
}
se torna:
li {display: inline;}
Mais isso ja se torna esse monstro css.
belo artigo
Emanuel Felipe 09/11/2008 às 13:49
É Diego, mas 20kb são bastante coisa quando consideramos um site de grande porte, nesse caso eu defendo que o código deve sim ser otimizado.
Mas que obviamente seja mantida uma versão formatada para manutenção onde para cada atualização ela seja otimizada também e enviada para substituir a atual.
Da mais trabalho? Sim. É por isso que não defendo esta idéia para todos os sites, apenas aqueles em que 20kb fazem muita diferença no final.
Marcelo 09/11/2008 às 15:19
Entendo o que o Diego quer dizer, não é dizer que está errado ou não, pelo contrário, até pq para o browser tanto faz estar todo em uma linha ou não, o resultado é o mesmo, exceto os caracteres em branco. Aos que descordam e usam, acho que é válido apenas para sites pessoais, onde somente o próprio dono do projeto mexa no css. Já numa equipe, é extremamente trabalhoso um CSS otimizado, pois o cara vai perder bastante tempo destrinchando e tentando encontrar os seletores e propriedades certos para fazer as devidas alterações. É como pegar um jQuery “minificado” e tentar entender a lógica dele. Não dá. Infelizmente, a técnica do “minifier” não é boa para o CSS, dá mais trabalho. Acho que o bom é ter uma ferramenta que faça essa minificação dele em tempo real, enviando o conteúdo comprimido.
abs
Samuel Batista 09/11/2008 às 15:41
Eu discordo da otimização do CSS, deixando o todo inline.
Acho que a visualização da área do CSS em que estou trabalhando fica muito mais simples, ainda mais se você coloca as opções de formatação em ordem alfabética e não uma ordem de importância pessoal.
Acho que se a equipe trabalha com um padrão de organização (ainda dentro dos padrões web), o fato do CSS estar inline ou não deixa de ser um fator problemático.
Dirceu Pereira Tiegs 09/11/2008 às 16:03
Belo texto, concordo plenamente.
Digo mais: otimização deve sim ocorrer, mas deve ser feita automaticamente no lado do servidor. Fazer manualmente é estupidez, só deixa o código ilegível e difícil de manter.
Eduardo 09/11/2008 às 16:07
Infelizmente, tenho que discordar do post, como alguns outros aqui..
A prática de compactar CSS (e javascript, etc) é bastante recomendada, e todos que produzem algum site profissional devem seguir.
O ponto principal é você não trabalhar com o código compactado ( ou minificado, como alguns chamam), mas sim deixar isso ser um processo automático sempre que o site for pro ar.
Pode não significar, muito, mas diminuir CSS de 40k pra 20k, além de deixar o load inicial 2 segundos mais rápido, pode ser a diferença entre um arquivo ser mantido em cache ou não, ainda mais em dispositivos portateis, onde normalmente objetos acima de 20 ou 25k nao são cacheados.
Se você realmente quer fazer seu site ser rápido e eficiente, vc tem que fazer isso (além de mais um milhão de outras coisas).
Até mais!
Eduardo
Alex Saueressig 09/11/2008 às 16:08
Eu discordo.
Quando mudei de agência, 6 meses atrás, eu achei bizarro essa otimização de código no CSS.
Mas como era um padrão, eu tive que me acostumar.
E te falo: é só questão de costume.
Me adaptei rapidamente e hoje acho normal.
Não é melhor nem pior. É costume.
A vantagem é que o arquivo fica menor.
Abç
Pedro Rogério 09/11/2008 às 18:05
No mundo em que vivemos hoje, temos que estar preparados para lhe dar com código meia boca e com um ótimo código. Você pode escrever um CSS maravilhoso com declarações um abaixo da outra, e também escrever um CSS maravilhoso com declarações em uma linha, tudo é questão de costume. Não acho que escrever CSS em uma linha irá martirizar o trabalho de seu parceiro, pelo contrário, desde que seja bem feito.
A equipe na qual eu trabalho, eu ensinei os mesmos a escrever as declarações CSS em um só linha, eles reclamaram, pelo contrário, só basta abrir os olhos e deixar um pouco a preguiça de aprender de lado.
Igor Pimentel 09/11/2008 às 20:54
eu tbm costumo fazer algo como:
span {
color: red;
}
ficar:
span { color: red; }
ou seja, quando é apenas uma propriedade fica na mesma linha… e naum vejo isso se tornar um monstro.. e acho.. que o Diego acaba concordando pois analisando o CSS do tableless acabei encontrando isso:
h3 a {color:#16171A;}
Marcelo Coelho 09/11/2008 às 20:58
O CSS é armazenado no cache do navegador. Logo, se ele tiver 20Kb ao invés de 25Kb, e será o mesmo CSS de todas as páginas, a economia será muito pequena.
É muito melhor pensar em otimização no código HTML, trocando identação feita com espaços por TABs, por exemplo. É muito importante, em especial nos trechos de código que carregam informações dinâmicas, repetidas vezes.
Julio Fragoso 09/11/2008 às 21:00
Concordo com o Saueressig…
acredito que indentar o CSS ajuda…
h1{ color : #ffffff; }
h1 a { text-decoration : underline;}
h1 a:hover { text-decoration : none;}
acho que pra quem pega depois, dá uma ajudada visual bacana !
Julio Fragoso 09/11/2008 às 21:01
shit ! não pegou a indentação no exemplo acima que digitei !
shit happens! =]
Kaleb Martins 09/11/2008 às 21:42
Muito bom.. esse post.. e melhor ainda.. desda primeira linha de codigo de css eu sempre usei esse método.
a:hover{color:red;}
em vez de:
a:hover{
color:red;
}
Abraço Diego.. Grande Trabalho
Diego Eis 09/11/2008 às 22:24
Bacana Eduardo. Fazer isso automaticamente pode ser uma saída. Mas existem outras decisões mais interessantes do que deixar todo o código inline. Modular o CSS é uma boa pedida. Dia 12 vai vir um post sobre isso.
Gabriel 10/11/2008 às 00:13
Também discordo do artigo. É apenas uma questão de costume. Acho fácil ler tanto o código inline como o expandido no caso do CSS.
Já o HTML, este sim faço questão de usar TABs.
pantera_sergipano 10/11/2008 às 01:09
cara, eu sinceramente n saberia dizer se ate hoje eu fui prejudicado diretamente por isso aew, mais eu concordaria com você sobre o fator organização e visualização…..por exemplo…. costumo otimizar meus pop-ups em java scripts, porem eu como ja estou acostumado não teria nenhum problema de vizualização ja o código em html, eu não costumo otimizar, até porque eu sempre mim passo em algumas tags…falta de atenção ne?!! rs!!!
(ou pode ser falta de costume!)
Gustavo Ribeiro 10/11/2008 às 08:19
Não ‘otimizar’ o xHTML eu acho super válido porque realmente é querer sacanear o próximo, porém, se falando de CSS vai da maneira que cada um esta acostumado a escrevê-lo.
Eu, por exemplo, já escrevo todo o meu CSS assim: body {margin:10px auto;background:#000}
Tudo depende da forma que você lê e separa as propriedades de cada linha no CSS.
Abs
Lourenzo Ferreira 10/11/2008 às 10:22
Talvez já tenham dito o mesmo por aqui, mas é possível – e na minha cabeça o melhor dos mundos – realizar a minificação em tempo real.
Alguns CMS, como por exemplo o Drupal, oferecem a minificação e caching de scripts e folhas de estilo.
Assim, quando abrir para edição está bonito e legível, quando carregar o site estará ridiculamente menor.
Danilo 10/11/2008 às 10:56
Falando do CSS, também discordo, e concordo com o post do Leonardo Caineli…
É questão de costume e sinceramente vejo mais vantagens em construir várias propriedades em uma linha só, você consegue ver muito mais código na sua tela, é fica mais facil de se trabalhar sem precisar dar page down / page up a toda hora, sem falar do tamanho do arquivo.
Ricardo Plansky 10/11/2008 às 11:02
E porque não manter dois arquivos .css?
Usar um todo formatado, bonitinho, para edição. E usar um software inteligente para gerar outro .css feio, impossível de editar, porém, que funcione do mesmo jeito e ainda por cima ganha uns bons Mb de banda no mês?
Acabei de pegar um projeto de otimização de um site que tem em média 60.000 visitas/dia. Imagina o que seriam “apenas” 5Kb economizados em um arquivo no final do mês?
E fora o .css, arquivos .js também são válidos compactar ( e esses têm uma diferença absurda no tamanho final do arquivo, já cheguei a compactar em 86.4% um arquivo .js )
HTML sim não vale a pena, porque boa parte do HTML é gerado por alguma linguagem server-side, e aí sim, fica inviável editar.
De todo jeito é um assunto que gera polêmica, mas existem empresas “muito chatas” em relação a tamanho de arquivo, e 1Kb economizado, faz a diferença!
Abraços,
Ricardo Plansky
Maurício Takemura 10/11/2008 às 11:03
Nada que um “Apply Source Formatting” do Dreamweaver não resolva… hehehe, tanto pra otimizar como para re-organizar (e re-otimizar).
Fred`` 10/11/2008 às 11:07
Diego, tenho que discordar de você. Esse seu pensamento serve para sites com pouco acesso apenas. Banda ainda é uma coisa bem cara aqui no Brasil e por isto é necessário se preocurar com otimização SIM.
Eu acho totalmente útil usar um minify SIM. E além do minify, ainda mandar o conteúdo gzipado.
Pense comigo: trabalho num site que tem média de 545 mil unique visitors por dia, onde 70% deles são usuários novos. Em outras palavras, mais ou menos 380 mil usuários precisam baixar tudo do site. Digamos que tirando espaços, ponto-e-virgulas e afins, conseguimos míseros 15Kb (HTML+JS+CSS). Ora, teríamos então algo em torno de 5.5Gb de dados deixados de ser transferidos por DIA.
Não é pra se ignorar isso, não?
Sergio Clemente 10/11/2008 às 11:15
Diego, e quando estamos escrevendo um código css para mobiles e afins (handheld).
Será que neste caso não deveriamos voltar os velhos habitos de tentar economizar alguns bytes, já que a navegação nesses equipamentos são cobradas por byte transferido ?
FALOW !
Guilherme Mattos 10/11/2008 às 11:19
Concordo em partes…..
Escrever o CSS tudo na mesma linha, causa muita bagunça e confusão, mas tem códigos que são muito pequenos para ocupar uma linha inteira, como:
* {
margin:0;
padding:0;
}
Obs: Mania que você tem de sempre colocar um “Não” no começo dos posts; Não otimize seu código; Não use comentários condicionais; pega mal. Dá a impressão de ser uma coisa “horrível” e que você é o dono da verdade.
Carlos Eduardo 10/11/2008 às 11:59
Também discordo de você, Diego.
Acredito que essa linha de pensamentos se aplica, facilmente, a sites menores. Mas em grandes sites, com muitas visitas, o cliente cobra (e muito) cada kb economizado.
Por isso, um recente projeto que fizemos aqui na agência, tivemos que comprimir o CSS, e acabamos ganhando 8kb, e para eles isso valeu muito a pena.
Obviamente que o meu arquivo é legível (escrevo cada regra em uma linha), mas para enviar ao ar, a gente comprime.
São modos e modos de pensar, mas dependendo da necessidade, nem os Web Standards se salvam!
Sergio Clemente 10/11/2008 às 12:15
Diego, tranquilo rapaz?
Me diga, e quando estamos falando em mobiles e afins (handheld) ?
Será que a otimização do código não seria recomendada?
Afinal, os usuários pagam por kb transferidos.
Leonardo A. Souza 10/11/2008 às 12:19
Pô… o Fred“ falou tudo que eu ia falar
O melhor é vc fazer uma optimização mais “leve” no seu código (resumindo background, margin, padding, font e semelhantes) e manter o seu código de produção bem identado… e no servidor aplicar um desses “minify”s da vida.
Fabio Espindula 10/11/2008 às 12:44
I agree!
Chris Benseler 10/11/2008 às 12:51
Sem falar, Diego, que hoje os webservers (versões novas) podem fazer a compressão de arquivos antes de enviar para o browser (caso esse tenha esse suporte), de uma forma totalmente transparente para o usuário.
http://www.andafter.org/blogs/odesenvolvedor/publicacoes/diminuindo-o-consumo-de-banda-com-html-css-e-javascript_674.html
Abraço
Rodrigo Fante 10/11/2008 às 14:39
Bom no trabalho nos fazemos tudo “inline”, e eh meio que um padrao aqui na Inglaterra em sites grandes isso.
Depois de acostumar acho muito pratico.
Um fato a se adicionar eh que o IE6 enlouquece depois que o CSS passa de 3mil linhas “aproximadamente”… comeca a ignorar os elementos.
Thiago Pereira 10/11/2008 às 15:06
Eu acho essa otimização totalmente inútil, pois irá confundir todos nós.
Eu nunca faço esse tipo de “otimização”.
Celso 10/11/2008 às 16:44
Bem cada um aqui pode ou nao concordar com vc @Diego eu particularmente descordo, trabalho com o @Pedro Rogério no qual quando eu entrei na empresa não tinha noção de quase nada e hoje ja estou totalmente acostumado com isso. Basta ter o costume de se trabalhar desta maneira e como disseram acima e se for um projeto mobile ou projetos grandes como trabalhamos aqui como fica? Será que isso não seria útil? Acredito que a otimização deve ser feita sim mas depende do caso do seu projeto e quando se esta acostumado isso sai naturalmente. E que dia um cliente que ele poderia econimizar band, no caso mobile econimzaria entre N motivos. Acredito que devemos sim otimazar mas desde saiba fazer o mesmo!
Antigamente quem fazia sites usava mtos programas com Front Page ate mesmo Dw que deixava o codigo sujo, mas agora quem trabalha com Tableless (Web Standard), as coisas mudaram e mto pq ou vc sabe ou vc sabe rs concordo fazendo isso ja estamos otimizando o nosso codigo ja que estamos fazendo isso pq nao sugarmos ao maximo q podemos? Pq se não vai começar a surgir huns braços curtos da vida ai que pelo amor rs =x
Micox 10/11/2008 às 17:10
Nossa, discordo completamente deste post. Primeira vez que acontece aqui no tableless heheh.
1) Eu gosto de organizar o CSS pelos seletores e não pelas propriedades. Assim, eu prefiro fazer:
#container a { blablalb }
#container div { lllaglagl }
Na minha opinião fica muito mais fácil de encontrar os elementos.
2) Dependendo do público alvo do site, o cache do CSS não fará muito sentido pois pode ser que o visitante nunca mais volte (sites caça para-quedistas por exemplo). Ou seja, este benefício de cache do CSS deixa de ser tão vantajoso e é bom o desenvolvedor se valer de outras armas também.
3) O argumento de que “cada byte é precioso” que era usado na época das tabelas continua valendo para o dia de hoje não? 20 bytes economizados em 2000 continuam sendo 20 bytes economizados hoje em dia. No meu caso, uma compactação dessas que fiz consegui reduzir em 40% meu consumo de banda.
E para ajudar na visualização do código caso precise voltar à etapa do desenvolvimento, existem inúmeras ferramentas para voltar o código ao normal (além do Firebug).
Diego CODU 10/11/2008 às 17:13
Diego… meu chará… agora discordo de você!
Escrevo o CSS “otimizado” mas não por economia de espaço, mas por me ajudar a encontrar a classe que quero, faço de forma hierarquizada tipo:
#conteudo {…}
#conteudo a {…}
#conteudo p {…}
#conteudo p.destaque {…}
e por aí vai… vi o exemplo, se não me engano no Bruno Torres e passei a adota-lo aqui na empresa que trabalho…
passamos a ganhar muito tempo, pois encontrar uma propriedade na linha é simples, são no máximo 10 propriedades por objeto.
Mas encontrar um objeto, seletor, classe num CSS gigantesco era uma tarefa, antes, árdua. Agora, amena!
Diego CODU 10/11/2008 às 17:17
Depois que postei vi que as tabulações que coloquei foram anuladas, prejudicando a hierarquia, como organizo aqui meu CSS… mas dou um “tab” a cada filho… entende?
Thiago Pereira 10/11/2008 às 17:31
Eu continuo concordando com o post e acho inútil (claro na minha opinião) a organização que o Micox diz ser boa.
http://webdesignerthiago.com/wp-content/themes/thiago_novo/style.css
esse é css da minha página, pode não ser o maior css do mundo mas eu não tenho dificuldade nenhuma em encontrar algum seletor ou propriedades dele.
Guilherme Nagüeva 10/11/2008 às 19:07
Concordo com o Diego CODU e com o Mico X, e, pela primeira vez, discordo do Tableless.
Eu gosto e defendo a escrita de todos os atributos em uma só linha não apenas pela economia de banda, mas também por ser mais fácil de visualizar informações.
Escrevendo em apenas uma linha você analisa muito mais código em menos espaço. Isso ajuda quando você trabalha com grandes projetos, tem um código muito grande e precisa encontrar bugs por exemplo.
Escrevendo o código dessa forma, apesar de ser dificil de se acostumar, você consegue analisar seu código de maneira mais rápida. É apenas uma questão de costume.
É muito, muito mais simples de encontrar um elemento ou uma classe se o código estiver hierarquizado.
Eu nunca vi alguém voltar atrás depois de aprender a escrever o CSS assim, já a recíproca não é verdadeira.
Á primeira vista é complicado, mas depois facilita, e muito, a vida de quem coda CSS o dia todo.
Anderson Custódio 11/11/2008 às 03:27
No (x)html o que a pessoa pode fazer para “otimizar” é usar TAB no lugar de espaços, e não fazer a nojeira que a yahoo e a uol fazem, colocar quase todo (se não todo) o CSS no próprio (x)html.
Agora no CSS faço tudo sossegado, mando ver nos espaços e nos enters, na hora de usar os CSS uso um script em PHP que fiz, que pega todos CSS, tira os comentários, espaços e deixa todo código em uma única linha.
Anderson Custódio 11/11/2008 às 06:00
Ha! E uma dica interessante, se mandar validar um CSS na W3C, mesmo que todo ele esteja em uma única linha, o sistema mostra o código com uma indentação perfeita! Depois é só mandar aquele “Ctrl + C” e “Ctrl + V” básico.
Rodrigo Fante 11/11/2008 às 07:48
Eu ate concordo que visualmente eh mais bonito, mas pouco usavel, pouco produtivo deixar a classe toda aberta assim.
Muito mais facil de achar classes e elementos com seus atributos inline, a produtividade agradece, estou com o Mico e os demais.
Nao apenas pela banda economizada, mas tambem por ela.
Willian 11/11/2008 às 11:20
concordo com o artigo, mas também acho que o código tem que ser otimizado, com precaução, claro.
eu acostumei otimizar o css, deixando em apenas uma linha..porém, somente os seletores com um atributo..os outros eu prefiro deixar normal.
bom artigo. \o
Gabriel Gilini 11/11/2008 às 11:20
Nem sei se já disseram aí pra cima, mas não tem problema algum retirar espaços, “minificar” seu código, se ele está em produção.
Desde que a cópia de desenvolvimento esteja corretamente indentada.
thiago machao 11/11/2008 às 11:25
ja vi ate programa que faz esse tipo de coisa.
loko ne ? otimização meu zolho.
Carlos Soler 11/11/2008 às 11:27
Galera!
Conheço programadores ótimos que fazem CSS dos 2 jeitos! Não existe certo ou errado, cada pessoa está acostumada a organizar o código de uma maneira.
Eu acho que o Diego deveria ter deixado claro que esse é o jeito que ele programa e recomenda, mas não que seja o único jeito e a maneira correta de se fazer.
Abraço!
Leonardo Caineli 11/11/2008 às 11:45
Opiniões divididas é um ótimo sinal de que este post não está com a razão. A internet avança rápido demais, se não nos acostumarmos com novos padrões ficaremos estagnados no mercado. Acredito que todos aqui querem trabalhar (ou já trabalharam) em grandes projetos, e esta é a realidade hoje: páginas rápidas = economia de banda = retorno de R$ para as empresas. Para os que ainda têm dúvidas, seguem alguns CSS´s que a maioria de vocês deve acessar:
globo.com.br:
http://www.globo.com/Portal/cda/estilo_css_cda/0,,6637-0-1795980775,00.css
uol.com.br (CSS embedded):
http://www.uol.com.br/
ig.com.br:
http://images.ig.com.br/homeigv25/home_v081106a.css
terra.com.br (6 requests):
http://www.terra.com.br/capa/css/estrutura_olimp_26.css
http://www.terra.com.br/capa/css/moduloComunidades2.css
http://www.terra.com.br/capa/css/css_videos_olimp_26.css
http://www.terra.com.br/capa/css/css_noticias_olimp_26.css
http://www.terra.com.br/capa/css/css_abinhas_olimp_26.css
http://www.terra.com.br/capa/css/css_olimp_26.css
Para fechar, faço questão de postar a url do CSS do meu blog para comprovar que otimização e organização podem sim andar de mãos dadas:
http://leonardocaineli.com.br/wp-content/themes/leonardocaineli/style.css
Longe de mim ditar como cada um de vocês deve programar, mas o mínimo que posso fazer é comprovar o que postei mostrando claramente a realidade de hoje. Fico muito feliz que a grande maioria pensa e/ou adota as mesmas idéias.
Abraços!
Paulo Jean ("Millhouse") 11/11/2008 às 11:50
Olá galera!
Legal o post Diego, em relação a otimização ao longo do tempo se torna automático para o desenvolvedor o ideal que eu acho que ele sempre reveja seus trabalhos antigos, quando ele tiver tempo e pense em soluções mais cabíveis e sempre tentar montar sua própria library já pensando em uma organização pq ai realmente vc começa a caminhar para os padrões.
O que falta para muitas pessoas é um conhecimento de como pode ser feito pq por um lado vc pode ter ganhado quando faz o css em inline como também vc tem percas em relação a fazer uma manutenção seria complicado. Eu já trabalhei com as duas formas. E acho muito mais simples fazer ele como bloco não como linha. Mais creio que isso é preferencial de cada um.
Quando se fala em padrões, é difícil universalizar uma única forma de desenvolver sites, mais é fácil programar e pensar em novas estruturas e boas práticas para uma manutenção e criação de sites rápidos, leves e validados.
Já que esse é um dos fatores primordiais para começarmos a pensar em padrões universais.
Bem essa é minha opinião.
Abraços.
Rhamsés Soares 11/11/2008 às 12:02
É Muito legal usar um script para otimizar o código CSS. Mas para elaborar ou até mesmo publicar, eu também só coloco em uma linha quando tem uma propiedade apenas. Visualmente é bem melhor, ninguem sofrerá quando for atualizar o seu arquivo.
Luiz Paulo 11/11/2008 às 12:15
Pessoal,
Acho que o Diego está certo falando sobre o código em uma única linha, realmente é horrível manter.
Sobre compactação, vocês já ouviram falar em GZIP?
Esse cara compacta o arquivo antes de envia-lo para o browser e resolve o problema.
Nunca utilizei esse recurso nas plataformas (PHP, Ruby, etc). Não sei o quanto trabalhoso seria, mas em JAVA é tão simples quanto uma biblioteca e 1 linha de configuração.
[]’s
Luiz Paulo 11/11/2008 às 12:17
Esqueci de falar, GZip funciona em todos os browsers
Eer 11/11/2008 às 12:28
Pra quem conhece as ferramentas de edição de CSS sabe que esse post é quase que indiferente, uma vez que se o código estiver todo em uma linha, o programa de edição pode organizá-lo de forma “identada”!
Já peguei códigos assim pra editar e nunca morri por causa disso, é só mandar o programar organizar o código.
Discussão bem vazia!
Bruno Dulcetti 11/11/2008 às 12:41
só pra causar uma discórdia diego. eu penso assim também, principalmente quando um site é pequeno e tudo mais.
mas eu ainda acho que em sites grandes (grandes MESMO), como portais da globo.com, videolog, que foram projetos em que participei, tornar o código em uma linha traz um ganho absurdo. só participando para saber.
e lógico que ainda passam um gzip, e mesmo assim, o ganho tirando espaços, tabs, entre outros são absurdos. no videolog eu lembro que o ganho foi de uns 20kb ou mais. e isso pra mim é um número considerável.
mas concordo que para ler é mais difícil, mas tudo é questão de costume
Mark de Souza Costa 11/11/2008 às 13:40
Eu sou totalmente contra esse “code in line”. O ganho é insignificante, mesmo os 20kb falado do nosso colega Bruno não demoraria mais de 4 segundos para carregar numa conexão discada de 56kb/s e sinceramente um cara que vai acessar um site desses não usa conexão discada. Eu sinceramente até hoje não vi nenhum caso ou argumento que fizesse o “code in line” valer a pena.
Luiz Paulo 11/11/2008 às 13:51
Sim Bruno, concordo com vc.
Mas você não precisa escrever “código torto” para se aproveitar dessas artimanhas.
Sabemos que existem várias formas de reduzir o tamanho do código.
Podemos utilizar algum esquemas para gerar o código “compilado” da parte WEB, como sistemas de obfuscator para JS ou até mesmo scripts para retirar os espaços / tabs dos códigos.
Assim mantemos o código mais amigável no momento de edição e “compilamos” para publicação.
Concordam?
Bruno Dulcetti 11/11/2008 às 14:25
@Mark – cara, é fácil falar quando não se está dentro do projeto e tudo mais. Eu sei que 20kb é pouco na sua visão e eu pensava assim. Agora multiplica esses 20kb em MILHÕES de acessos, mesmo que cacheado e tudo mais. Pegue só a primeira visita e são milhões. Isso é tráfego e é pago. Quanto mais podemos economizar, melhor
E me desculpa, mas temos acessos com discada sim e não são tão poucas
e eu considero esse um bom argumento
@Luiz – to ligado cara, tb sou a favor desses recursos e ajudam bastante, mas bato novamente na tecla “burocrática” de uma grande empresa e tudo mais. Infelizmente não podemos colocar tudo em prática por falta de “liberdade” e engessamentos dentro de algo como vignette, entre outras coisas.
mas ta legal essa discussão
Caio Ariede 11/11/2008 às 14:48
Acho que o ganho sendo extremamente suficiente, ou pouco suficiente, independe.
Você gasta mais tempo verificando a performance do que compactando um JS, por exemplo.
Acho que a compactação e otimização deve fazer parte das boas práticas no desenvolvimento web, ainda mais agora que o número de acessos por celular vem aumentando muito.
Nem que seja 1kB economizado, você faz 1 vez e te favorece a cada visita.
Diego Eis 11/11/2008 às 15:53
@dulcetti Claro! Concordo contigo. Não adianta falar agora que eu não coloquei no post sobre os sites grandes!
Nesse caso, e só nesse caso concordo com você. Esta seria a única excessão.
Mas vocês já viram o CSS “in head” do Yahoo!?
Está todo o CSS no HEAD do Yahoo!, não modularam em arquivos e o CSS é enorme! ENORME!
Mas tudo bem, erro meu! Devia ter explicado sobre as grandes empresas! Desculpa o tio aqui!
Bruno Dulcetti 11/11/2008 às 19:25
relaxa Diego, eu vendo já fui falando isso, quando é pequeno vale a pena sim.
bom, é bem bizarro essas coisas que rolar como a do Yahoo. mas eu não falo mais sobre essas paradas sem saber antes o argumento por terem utilizado isso. apesar que aparentemente não vejo nenhum, mas sempre tem algo pra ferrar… mas talvez não seja justificativa.
e trabalhar com css dessa forma, mesma linha, acaba te deixando assim. Mesmo para projetos pequenos, eu já faço dessa forma, por costume mesmo. mas quando existem projetos onde mais pessoas não acostumadas com isso, prefiro o identado mesmo
Fabiano Shark 11/11/2008 às 21:33
Trabalho em um portal de um provedor de SP e também usamos em uma linha, para editar não há problemas, usamos o firebug para ajustar os valores.
Abraços,
Fabiano Shark
Marco Gomes 11/11/2008 às 22:28
Dá pra /minificar/ o CSS e o JS na hora da entrega, além de pode também gzipar tudo. Comprimir o código “na mão” é burrice.
*** MESMO *** em sites ENORMES, não há porque ficar cortando espacos e quebras de linhas, como eu já disse, dá pra minificar na hora da entrega pro usuário, com isso, os espacos e quebras de linhas inuteis somem, e tudo fica lindo e rápido. Procurem por minify no Google
Falo porque usamos isso aqui na boo-box, numa aplicação com 2 milhoes de hits por dia.
Não “otimize” seu código CSS, por favor! | Leonardo Bighi 12/11/2008 às 08:51
[...] site Tableless, do pessoal da Visie, publicou um artigo bem interessante que me fez lembrar de algo que eu odeio em alguns programadores web: código CSS muito mal [...]
Modulando o CSS » Tableless.com.br - CSS e Práticas com Padrões Web 12/11/2008 às 09:24
[...] Grandes portais e sites com uma visitação extrema, podem querer otimizar esse código. Isso é considerável apenas para estas excessões. O preço da banda é alto e qualquer 1Kb que economizarem será um caminhão de dinheiro que economizarão. Para sites pequenos, e até mesmo alguns sites de médio porte, na minha opinião, não é necessário haver uma “otimização de código“. [...]
Camilo Teixeira de Melo 13/11/2008 às 11:24
Discordo plenamente, antes de você alegar tal suposição (não otimizar o seu código) deveria ao menos a aprender a semântica CSS correta, pois os exemplos a cima não seguem o padrão.
Como “Designer”, você não tem a necessidade de entender tais processos de funcionamento de servidores: tráfico, logs, processamento, cache, etc. Mas não use da ignorância para escrever, estude um pouco mais, se especialize antes de escrever um “artigo”.
Quer matemática? A cada 5KB que vc economiza por acesso em um site com 1 milhão de acessos (número pequeno para grandes portais), é economizado 50000000 KB, ou seja, 488 MB por dia.
Sem contar que o site carrega mais rápido, alivia o processamento do servidor e do navegador! O interpretador não liga se o código esta bonito, ele retira todos os espaço e tabulação.
O Google é um exemplo de site de “otimização de código”, olhe e veja.
Aprenda, antes de criticar o que você não conhece, a entender.
Compactar meu CSS? Eu faço, mas se você não faz, tanto faz. Ou não. » Bruno Dulcetti - web standards, css, xhtml e tecnologia em geral. 13/11/2008 às 20:28
[...] sua cabeça, mas prepare-se para o restante do post, pois esse é bem interessante e surgiu com um post publicado pelo Diego Eis no Tableless, onde eu fiz um comentário, na minha opinião, pertinente, mas que alguns leitores de [...]
João Henrique 13/11/2008 às 20:59
Será que não tem uma ferramenta gratuita que faça a otimização, para que as pessoas tenham 2 versões? (uma de desenvolvimento, e outra de produção)
Carlos Eduardo 13/11/2008 às 23:23
Acho que nem se deve entrar no mérito da questão, se o certo é escrever uma propriedade por linha ou uma regra inteira. Neste caso, prefiro a última opção, mas as duas maneiras estão certas!
O importante é, caso você trabalhe com mais pessoas, estabeleça um padrão de escrita pra facilitar a manutenção e não haver confusões durante o desenvolvimento.
Já escrevi bastante sobre isso no meu blog também, mas acho que muita coisa só se aprende com a experiência, passando por grandes projetos, por exemplo, que exigem um código bem enxuto, ou seja, otimizado, sem redundâncias no código, coisa muito comum quando estamos iniciando na área
Mauro George 14/11/2008 às 10:38
Muito boa a discussão, concordo com o @Diego eo @Bruno Dulcetti, acho que para sites pequenos é válido sim escrever identado, facilita na visualização, não há tantos page views… o problema deve ser mesmo em grandes site para poder tratar de banda, page views… ae sim vale a pena escrever em uma linha, gzip…
Abração
Mark de Souza Costa 16/11/2008 às 11:05
@Bruno, eu acho que seria legal colocar dados estatísticos de banda consumida, porque eu realmente ainda não estou convencido de que isso é uma boa prática. Eu fiz umas brincadeiras aqui com os 20kb e dependendo realmente dos pageviews diários, pode chegar a valores extraórdinários de banca consumida:
Se o pageview da página for de 10.000.0000 por dia podemos chegar a 200GB por dia, ignorando cache e os valores exatos do byte. Isso é um valor significante realmente (e bota significante nisso). Mas se reduz para a casa dos milhares, como 100.000 por dia, chegamos a não tão expressivos 2GB por dia, totalizando 60GB por mês em média.
By the way, se essas ferramentas comentadas realmente fazem um bom processo automatizado, realmente não tem porque não economizar esses bytes.
Mark de Souza Costa 17/11/2008 às 08:50
Eu acho interessante também o dado de qual a porcentagem de redução de código que o “code-inline” proporciona, por exemplo, 20kb é o que? 2% do tamanho da página? Menos de 2%? Isso nos daria uma informação interessante, muito interessante.
Fábio ZC 18/11/2008 às 04:25
Concordo com Guilherme Nagüeva, Diego CODU e com o Micox!
Código inline fica MUITO prático quando vc já esta acostumado desta maneira.. vc nao precisa ficar rolando a tela para fazer a edição de código!
e o que eu recomendo, no inicio pode parecer frescura, mas depois vira costume e para a localizacao das propriedades fica muito mais fácil, é: colocar as propriedades em ordem alfabética..
assim vc sempre saberá a ordem das propriedades.. vc nunca vai ficar perdido procurando uma propriedade X..
porém sempre deixo o width e height por último.
Questão de costume
Fábio ZC 18/11/2008 às 04:31
@Diego Eis, apesar de achar ótimo os seus posts, mas como alguém falou em um comentário ai em cima:
“Obs: Mania que você tem de sempre colocar um “Não” no começo dos posts; Não otimize seu código; Não use comentários condicionais; pega mal. Dá a impressão de ser uma coisa “horrível”…”
Brill 21/11/2008 às 09:11
Não “otimizar” ou não “compactar”? Porque “otimizar” é tornar melhor, quando eu otimizo o código não é colocar ele todo em uma linha, otimizar pra mim sempre foi deixa-lo mais simples e fácil de entender, “Melhorar o código”.
No editor que eu uso (PSPad), tem uma opção que faz isso com um clique, se chama “Compress HTML Code”. Para o CSS o processo se chama “Format into Inline CSS”, o processo inverso se chama “Format into Structured CSS”.
Eu sempre preferi a forma estruturada porque o código fica mais claro. A forma compactada parece uma grande massa de caracteres.
O post meu sobre o assunto se chamaria “Escreva seu código de forma estruturada”. Talvez esse negocie de “Otimizar” gere confusão. Se isso já não aconteceu!
Luiz Aquino 24/11/2008 às 07:50
Francamente não sei porque tanta polêmica. O editor que eu utilizo (PsPad) faz o código ficar “inline” com um comando e quando for editar é só expandir em um comando também.
Diogo Shaw 26/11/2008 às 04:14
Além do Cache, no Yahoo definimos versões estáveis e static compactadas, na hora da manuntenção temos o file original, no “push” pelo svn há uma compactação básica (minify).
E quando usamos versões dentro do HTML, muitas vezes onthefly removemos espaços e linhas…
Na hora de modificar qualquer JS e CSS todo o código está perfeitamente organizado, somente na hora de printar que tem o minify…
Lucas 28/11/2008 às 15:42
Eu utilizava o CSS fazendo uma propriedade por linha. Depois que “aprendi” a fazer no estilo
#id { font-size: 12px; color..}
nunca mais voltei para o antigo. Acho muito mais fácil de organizar o arquivo, com muito menos linhas. E adotei uma metodologia de colocar os elementos na mesma ordem, facilitando muito a manutenção.
E não faço isso para “otimizar” o css e sim para deixa-lo mais organizado, ao meu ver.
Tiago Celestino 04/12/2008 às 19:10
Eu utilizava da forma não “otimizado”, porém, achei que a necessidade de não apenas ter algo mais organizado.
Claro que seguir os padrões já é uma coisa que ajuda, porém, acredito que vai dar forma de cada um em montar o css. No XHTML, nunca utilizei a otimização, ou melhor, no tempos das tabelas sim.
Lua 11/12/2008 às 14:11
Acho que é tudo uma questão de prática, não há nada que impeça uma pessoa de ler um código em uma linha, é só começar, depois acostuma…
Só não acho certo dizer que é errado css numa só linha… o certo ou o errado quem diz é o projeto em sí.
Nei 12/12/2008 às 16:03
“Seu trabalho é exclusivamente esse: controlar o visual e diagramação do site.” que tal isso e + performance + economia de banda para usuarios menos privilegiados, etc..
isso não é tal inútil assim como vcs diz.
Leo Cabral 16/12/2008 às 10:05
É um argumento válido, Diego. Mas hoje há editores que alternam em visualizações (otimizar para performance/reformatar para legibilidade) e essa opção permite comprimir sem afetar o trabalho, acho válida. Compreendo o “rant”; já me deparei com código crípticos e o custo de reorganizá-los afetava diretamente o rendimento do trabalho. Valeu pelo artigo.
Bruno 19/12/2008 às 17:34
nossa… nem sei pq isso… para né… em 1990 tinha que pensar nisso e ninguem pensave né… agora com a qualidade de internet que temos nos preucuparmos com isso… com kbites… para né…
Jacob 22/12/2008 às 14:14
Não existe este negócio de que o código tem que ser escrito “assim” ou “assado”.
Não há um padrão de como o código deve ser formatado, do contrário o navegador/interpretador não entenderia nada ele não funcionaria… e isto vale não só para css, mas também para um monte de outras linguagens; php, c++, pascal etc… Ou seja, pode valer apenas como sugestão para um programador aprendiz, e é apenas uma questão de estética e para copreensão do código, mas não uma questão de regra ou padrão.
E quanto a economizar os bytes, isto é importante sim. Se um site carrega em 10 segundos e você consegue reduzir pra 8 segundos por exemplo, o visitante (que está pouco se lixando para o seu código e quer mais é ver a coisa funcionando direito e rápido) vai agradecer… ocorre que a maioria dos programadores e designers esquecem quem realmente interessa, o cliente, e acabam olhando o proprio umbigo e se importando mais para como os demais colegas de profissão o verá.
Rangel 07/01/2009 às 21:09
Bom, parabéns pelo WebSite TABLELESS.
Eu acho q em partes sim tem razão de não “Otimizar” porém eh verdade q cada um tem sua própria forma, quando comecei, foi da forma em q se escrevia em uma LINHA só, rsrsrs mas isso não era bom pelo menos pra mim!
Achei meio dificil de entender depois de um tempo sem mexer no site.
em fim melhor fazer de acordo com um padrão, pq eu vi q realmente tem uma forma q a maioria escreve:
div {
padding: 10px;
border: 1px solid #CCC;
width: 485px;
height: 37px;
background: #EEE;
}
muito melhor mais entendivel…
abraços.
Patrique 15/01/2009 às 23:15
Se não existe contras, não a motivo para não se usar um code in line, mesmo que o site seja pequeno… por isso defendemos os padões… nem que for para retirar mizeros 100kb por mês de banda isso já será uma vantagem.
Contra fatos não há argumentos…
Vicente Lyrio 16/01/2009 às 15:49
Aqui onde trabalho somos responsáveis por alguns dos sites do Terra e do Ig, e eu faço o html/css da maneira que estou acostumado (sem compactar), e a equipe que desenvolve o projeto usa um script q compila a dll com o css já comprimido.
Não dá trabalho algum dar manutenção, primeiro pq localmente o css está sem compressão, segundo pq o firebug ta aí pra isso.
Além disso, acredito que qualquer prática que economize tráfigo é importante, independente do porte do site. Consumo de banda tb é consumo de energia, mesmo que pulverizada entre milhares de sites.
O planeta agradece
Helton Marinho 23/01/2009 às 08:16
Bom dia… Primeiro gostaria de parabenizar o Diego pelo artigo, polemico e interessante.
Na minha opinião, que nasci na internet em 98, se você tem um código em linguagem Server-side que retorna o HTML, você pode poupar bytes em HTML. Já em CSS costumo não poupar bytes, porém p/ quem tem estrutura manter duas versões (light e pesadinho) é uma boa pedida.
Exemplo “poupar código HTML sendo feliz”:
Bom… essa é minha opinião
Valeu
Peul 23/01/2009 às 12:56
Organizar o código é bom, agrega portabilidade e fácil atualização mas otimizar também é bom, fica leve e economiza processamento e banda. Porque não fazer as 2 coisas? É só passar o código por um otimizador como compilar um fonte. O que vai pro servidor é história, não é material de programação mas apenas executável, o resultado do trabalho.
Daniel Kiiti Haibara 26/01/2009 às 14:35
São apenas boas práticas, podem ser ou não seguidas. Porém, isso pode influênciar na legibilidade do código. Prefiro sempre um código legível e bem documentado.
Parabens, ótimo artigo para influênciar novos programadores a organizar melhor o seu código.
Paulo 06/02/2009 às 12:17
Acho que devemos facilitar a vida do cara que vai fazer manutenção no site amanhã. Um código limpo e padronizado facilita muito. Concordo com o artigo. Quanto ao consumo de banda, modular o CSS seria a melhor solução para se sesguir os padrões e otimizar o código.
Eleandro 13/02/2009 às 10:05
Acho a discução inútil. Qualquer desenvolver decente de um site de grande porte tem uma ferramenta que faz o minify no momento do depoy. Ou seja, o código fica intacto na máquina para desenvolvimento e compactado no servidor. Concordo plenamente que não faz sentido ter otimização. Contanto que o projeto seja do site do “tio joão” ou que tem uma ferramenta de publicação que faça o trabalho sujo de “minificar”.
Paulo Fernandes 20/02/2009 às 10:24
Gostei do artigo!
Trabalhei em um provedor em SP. Lá o código CSS era todo em uma linha.
Ficava mais leve, mas para editar as vezes ficava dificil encontrar o que mudar, só era possível com o “Localizar” dos editores.
Para facilitar a edição, reescreviamos a regra no final do arquivo.
Para fazer a otimização do css tem que tomar cuidado para não se perder.
o que eu recomendo é criar na sua maquina um arquivo todo comentado e bem separado e quando for colocar em produção, remover os espaços em branco e os comentários
abraço
Carlos Zillner 24/02/2009 às 23:10
Tudo depende de como será melhor dar manutenção no seu site.
Nem sempre um CSS numa linha é um fator de complicação. Por exemplo, se você quer achar todo CSS relativo a um elemento da página, como por exemplo:
/* Barra UOL */
#barraUOL {height:2.3em;line-height:2.3em;padding:0 1em;position:relative;}
#barraUOL a {display:inline}
#barraUOL strong {font:bolder 1.1em Arial, Helvetica, sans-serif;}
#barraUOL ul {position:absolute;top:0;right:3em;}
#barraUOL ul li {float:left;position:relative;}
#barraUOL ul li .icone {background:url(’http://h.imguol.com/h3/barrauolicones.gif’) no-repeat;display:block;position:absolute;top:.1em;left:.6em;width:2.8em;height:2em;}
#barraUOL ul li.batepapo .icone {background-position:-32px 0}
#barraUOL ul li.messenger .icone {background-position:-64px 0}
#barraUOL ul li.email .icone {background-position:-96px 0}
#barraUOL ul li.shopping .icone {background-position:-128px 0}
#barraUOL ul li.voip .icone {background-position:-160px 0}
#barraUOL ul li.namoro .icone {background-position:-192px 0}
É muito mais facil visualizar os componentes que envolvem a Barra UOL assim.
Um CSS q diz recentemente, utiliza as duas maneiras:
http://musica.uol.com.br/blogs/styles_blogradio.css
Abraço!
Muito legal o site, fazia tempo que nao entrava.
Kleberson Leite 25/02/2009 às 01:01
Bom.. o post é de se comentar e muito.. mas eu prefiro organizar o meu codigo como foi relatado no post.
E acho que fazendo em uma linha pode atrapalhar..
Gosto não se discute!! Então.. Cada um faça como achar melhor.. o problema é com quem vai atualizar este website, ou até mesmo como vai se atualizar um site com o codigo dessa forma…
Danielle Young 02/03/2009 às 12:49
O código em uma só linha não é errado. Acho que quando o autor escreveu este artigo, ele deve ter achado que as pessoas fazem isso de propósito.
Eu trabalho em uma organização onde temos que fazer o site, depois retiramos todos os espaços. Por que? Consumo de Banda!
Essa otimização não prejudica em nada. Primeiro fazemos todos os testes de forma privada, e um pouco antes de disponibilizar no ar, é otimizado.
Obs.: Acho que as pessoas não deveriam se prender totalmente em conceitos, e deveriam pensar nas soluções de forma prática.
Bruno 06/03/2009 às 10:34
Não concordo, no meu caso eu programo o css em uma linha, mas não por economizar o código e sim por facilitar em muito a minha leitura quando quero achar uma classe. Você já experimentou usar o código assim? As classes ficam muito mais fáceis de serem achadas, ainda mais por quem utiliza editores de texto simples. Obrigado
Glaucia Rezende 11/03/2009 às 23:17
Amei o artigo, e os comentários.
Penso igual ao Mauro George.
Bjs!
Eduardo Lopes 18/03/2009 às 13:50
Penso que o autor do artigo foi muito simplista em defender seu ponto de vista. Acontece que a otimização de código não leva em consideração questões de estética de codificação, visual ou performance somente. Os benefícios de tableless para a acessibilidade dos sites é indiscutível. Sugiro o autor pesquisar um pouco mais sobre este tema.
W3C Redesign » Pinceladas da Web - XHTML, CSS, JavaScript e WebStandards 21/03/2009 às 22:51
[...] são declaradas em uma única linha, muita gente fala que escrever CSS dessa forma é perda de tempo, mas eu particularmente só escrevo CSS dessa forma e aconselho vocês a seguí-la [...]
Renato 22/03/2009 às 01:27
Mesmo o meu sendo pequeno eu gosto de otimizar, quando tiver que dar alguma manutenção pego um css que guardo no arquivo edito e depois compacto outra vez…
realmente eu sou neurótico.
Djalma Araújo 25/04/2009 às 10:17
Eu defendo a otimização em todos os casos. Estamos falando de eficiência e não estética. Confesso que não guardo versões sem ser em uma linha, mas por costume. Ainda li uma artigo sobre como você escreve seu css, ordenando, posicionamento, dimensao, floats.. em fim.. o que já ajuda bastante sobre como otimizar e ser muito eficiente nesta otimização.
abraço.