<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Tableless.com.br - Web Standards com Arroz e Feijão</title>
	
	<link>http://www.tableless.com.br</link>
	<description>Notícias, podcast, posts, novidades, tutoriais sobre Padrões Web, boas práticas de desenvolvimento com arroz e feijão.</description>
	<lastBuildDate>Fri, 16 Oct 2009 16:33:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<media:copyright>Creative Commons - Atribuição-Uso Não-Comercial-Compatilhamento</media:copyright><media:thumbnail url="http://tableless.com.br/imagens/logo-feed-tableless.png" /><media:keywords>css,xhtml,xml,ajax,web,standards,padrões,web,asp,php,png,desenvolvimento,acessibilidade,usabilidade,usability,tecnologia,technology,w3c,tableless,table,javascript,mobilidade,internet,móvel,world,wide,web,consortium</media:keywords><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Podcasting</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Gadgets</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Software How-To</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Gadgets</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Society &amp; Culture/History</media:category><itunes:owner><itunes:email>diego@tableless.com.br</itunes:email><itunes:name>Tableless.com.br</itunes:name></itunes:owner><itunes:author>Tableless.com.br</itunes:author><itunes:explicit>no</itunes:explicit><itunes:image href="http://tableless.com.br/imagens/logo-feed-tableless.png" /><itunes:keywords>css,xhtml,xml,ajax,web,standards,padrões,web,asp,php,png,desenvolvimento,acessibilidade,usabilidade,usability,tecnologia,technology,w3c,tableless,table,javascript,mobilidade,internet,móvel,world,wide,web,consortium</itunes:keywords><itunes:subtitle>Podcast sobre Padrões Web. Falamos sobre desenvolvimento com Padrões Web.</itunes:subtitle><itunes:summary>Podcast sobre Padrões Web. Falamos sobre desenvolvimento com Padrões Web.</itunes:summary><itunes:category text="Technology"><itunes:category text="Podcasting" /></itunes:category><itunes:category text="Technology"><itunes:category text="Gadgets" /></itunes:category><itunes:category text="Technology"><itunes:category text="Software How-To" /></itunes:category><itunes:category text="Technology"><itunes:category text="Gadgets" /></itunes:category><itunes:category text="Society &amp; Culture"><itunes:category text="History" /></itunes:category><geo:lat>-23.66180</geo:lat><geo:long>-46.63760</geo:long><image><link>http://www.tableless.com.br/assine/</link><url>http://feeds.feedburner.com/~fc/tableless?bg=99CCFF&amp;amp;fg=000000&amp;amp;anim=0</url><title>Se mexendo e contando.</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://www.tableless.com.br/feed/" type="application/rss+xml" /><feedburner:browserFriendly>Esse é o Feed do Tableless.com.br, um site sobre Web Standards e boas práticas de formatação de layout usando CSS.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Camadas de desenvolvimento client-side</title>
		<link>http://www.tableless.com.br/camadas-de-desenvolvimento-client-side</link>
		<comments>http://www.tableless.com.br/camadas-de-desenvolvimento-client-side#comments</comments>
		<pubDate>Sat, 10 Oct 2009 10:08:56 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[microformats]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1294</guid>
		<description><![CDATA[Você pode se assustar com isso, mas a tabela foi um marco na história do design para web. Ela abriu portas. Mostrou caminhos.]]></description>
			<content:encoded><![CDATA[<p><em><small>Esse artigo foi publicado originalmente na Revista TIDigital de Abril de 2009.</small></em></p>
<p>A utilização de tabelas no desenvolvimento web foi um marco na história. Pode ser estranho falar isso, mas a verdade é que antes das tabelas os sites eram feios. As tabelas possibilitaram a criação de sites com 3 colunas. Você pode estar pensando que isso não é grande coisa. Mas em meados de 1996-97 isso era  nirvana do design para web. As tabelas possibilitaram uma nova realidade para os designers. Foi uma mão na roda naquele tempo. Mas o desenvolvimento com tabelas é algo realmente doloroso. Controlar o layout sem influenciar a programação é um trabalho difícil de se fazer, que encarece o serviço.</p>
<p>Um dos principais problemas do desenvolvimento com tabelas é a mistura das camadas. Nós não conseguimos dividir o desenvolvimento em camadas. As três principais camadas, que você já deve conhecer são: informação, formatação e comportamento.  O HTML é responsável pela camada de informação. É ele que vai definir importâncias e significado para toda a informação que consta no site. Essa camada é especialmente importante. Os buscadores e os leitores de tela dependem de um HTML bem escrito e semântico para que funcionem plenamente.<br />
O CSS é responsável pela camada de formatação. É ele que vai controlar todo o visual e estruturação do site.<br />
O Javascript e o Ajax controlarão a terceira camada que define qual será o comportamento dos elementos manipulando o código CSS.</p>
<p>A divisão por camadas é a alma do novo desenvolvimento para web. Pouquíssimas pessoas sabem das influências que ela pode trazer, não apenas no código do site, mas também em toda a organização da equipe em empresas. Hoje há especialistas em HTML e CSS, coisa que nunca imaginaríamos no começo da web. Empresas fazem questão de treinar em HTML e CSS, profissionais das suas equipes, que cuidam de Arquitetura de Informação e Usabilidade, mesmo que eles não trabalhem diretamente com o código client-side. Isso faz com que toda a equipe se transforme e saiba das possibilidades e limitações dos projetos.<br />
Durante muito tempo agências web achavam que o desenvolvedor deveria ser uma espécie de canivete suiço. Lembro-me que haviam empresas que procuravam designers que soubessem duas ou três linguagens server-side e programadores que entendessem bem de photoshop, fireworks e illustrator. Pague o salário de um e leve dois. Contudo, também haviam profissionais que achavam que ele deveria ter exatamente este perfil. Talvez por pressão do mercado ou até mesmo porque ninguém entendia direito esse negócio de web.</p>
<p>Quando comecei a ministrar cursos e palestras em empresas sobre este assunto, eu me assustava com a falta de conhecimento e interesse dos profissionais. Eles estavam desenvolvendo a anos utilizando tabelas para a estruturação, sem separar as camadas e fazendo todo o processo de desenvolvimento linearmente. Então chega alguém e diz para eles que está tudo errado e eles precisam reaprender. Eu também ficaria assustado com isso. Outro ponto ruim era o preconceito com novas idéias. Eu já cheguei a perder uma oportunidade em uma empresa de web porque eu não desenvolvia para Netscape 4 e não fazia sites utilizando o Dreamweaver. O mercado tinha um cenário muito diferente do que temos hoje.<br />
Os novos desenvolvedores nasceram sabendo que estruturação de sites se faz com divs e CSS. E que tabelas servem para exibir dados tabulares. Eles nem imaginam que antes nós quebrávamos nossas cabeças para criar sites arrasadores com uma infinidade de tables, tds, trs, tags fonts e centers. Melhor para eles. Melhor para o mercado.<br />
Dar atenção a um código XHTML bem escrito, com uma bela formatação CSS, significa que o site poderá ser bem acessado por um público ampliado. É abrir portas para deficientes e usuários de diversos dispositivos. É melhorar a indexação em buscadores e facilitar o desenvolvimento de novas versões. É fazer com que a equipe trabalhe independentemente. Isso aumenta as vendas e as possibilidades de novos negócios, idéias, entre outras possibilidades.</p>
<p>Estou feliz porque os browsers também mudaram sua maneira de olhar as coisas. O pessoal que desenvolve o Internet Explorer está com a mente aberta para novidades. A Guerra dos Browsers ainda não acabou, e provavelmente está longe de acabar. Acontece que a Guerra de hoje é mais saudável. Todos ganham. Principalmene usuário final e desenvolvedores. Os fabricantes de browsers descobriram que há caminhos mais inteligentes de conquistar os usuários.</p>
<p>Não sei se estou conseguindo fazer-me entender. Mas quero que você olhe com outros olhos o código HTML, CSS, Javascript, Microformats e qualquer outra linguagem que trabalhe no cliente.<br />
Os padrões web não estariam tão em foco hoje se essa importância não fosse tão explicita.</p>
<p>O que me empolga mais é que daqui pra frente o mercado de desenvolvimento para web tende a ficar mais interessante. Idéias de novos meios de acessar a web estão surgindo todos os dias. Não demorará muito para acessarmos a internet de outros dispositivos que não sejam smartphones e desktops. A internet está se tornando realmente popular agora. Mais empresas descobriram que a internet é algo que pode trazer lucro e abrir novas oportunidades. Uma pena que elas tenham aberto os olhos apenas em tempos de crise. Mas isso é uma outra história.</p>
<p><small>Este artigo foi originalmente publicado na Revista TIDigital do Mês de Abril de 2009</small><br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/client-side-e-sua-importancia" title="Client-side e sua importância">Client-side e sua importância</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/se-prepare-para-a-revolucao" title="Prepare-se para a Revolução">Prepare-se para a Revolução</a></li>
<li><a href="http://www.tableless.com.br/css3-columns" title="CSS 3 Columns">CSS 3 Columns</a></li>
<li><a href="http://www.tableless.com.br/lancado-firefox-3-5" title="Lançado Firefox 3.5">Lançado Firefox 3.5</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=Mp4_nm76RBs:2YZ-X4s0GnI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=Mp4_nm76RBs:2YZ-X4s0GnI:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=Mp4_nm76RBs:2YZ-X4s0GnI:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=Mp4_nm76RBs:2YZ-X4s0GnI:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Mp4_nm76RBs:2YZ-X4s0GnI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=Mp4_nm76RBs:2YZ-X4s0GnI:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/camadas-de-desenvolvimento-client-side/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Introdução: diversidade dos meios acesso</title>
		<link>http://www.tableless.com.br/diversidade-dos-meios-acesso</link>
		<comments>http://www.tableless.com.br/diversidade-dos-meios-acesso#comments</comments>
		<pubDate>Mon, 28 Sep 2009 19:58:03 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[clientside]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1614</guid>
		<description><![CDATA[Lidar com a quantidade de meios de acesso é e será um grande desafio no desenvolvimento para web. E não estou falando apenas sobre mobiles. O negócio é mais amplo e complexo. Há mobiles, desktops, consoles e uma pancada de outos dispositivos que ainda não são populares, mas serão um dia.]]></description>
			<content:encoded><![CDATA[<p>Estive no mês de Setembro/2009 fazendo uma <a href="http://visie.com.br/treinamento/treinamento-in-company/">consultoria</a> para a Globo.com. Nesta consultoria, dentre muitas coisas, conversamos sobre a diversidade de aparelhos móveis utilizados para acessar os sites da Globo.  Este problema está se tornando cada vez mais recorrente em grandes e pequenos sites. A quantidade de aparelhos que são lançados, não apenas celulares e smartphones, mas também outros aparelhos que permitem o usuário acessar a internet, cresce a cada ano. Isso faz com que tenhamos uma preocupação excessiva em como poderemos apresentar o conteúdo da melhor forma os diversos dispositivos. Mesmo assim, o problema não é tão grande. O desenvolvimento web para os dispositivos móveis, hoje, é o melhor dos mundos. Temos browsers com suporte total dos Padrões Web, rápidos e que fornecem uma experiência excelente de uso e navegação.</p>
<h3>Graceful Degradation e Progressive Enhanced</h3>
<p>Procurar querer dar uma boa experiência para todos os dispositivos utilizados pode se tornar um problema, já que a variação de aparelhos e hardware é muito maior quando comparado com o mundo dos desktops.<br />
Sabemos que, para um site normal, é seguro ter uma largura de 990px. Sabemos que com essa largura, o site vai ficar bem diagramado em diversas resoluções, começando em 1024.<br />
Mas nos aparelhos móveis não temos essa métrica. A variação dos tamanhos das telas é muito maior. Os aparelhos e a forma de uso de cada um são muito diferentes.</p>
<p>Eu não gosto de nivelar os sites por baixo. Pelo menos não hoje. Há muitas possibilidades de fazermos um bom trabalho de user experience, mas não o fazemos, porque há alguns perfis de usuário, que infelizmente temos que prever no escopo. Por isso sou a favor do <a href="http://www.tableless.com.br/graceful-degradation-e-tudo-sobre-acessibilidade">Graceful Degradation</a> e do Progressive Enhanced.</p>
<p>Fornecer a melhor experiência possível para todas as camadas de usuários. Esse é o alvo para a utilização do Graceful Degradation e do Progressive Enhanced.  Se nivelarmos o visual e as funcionalidades do site/sistema por baixo, iremos prejudicar demais os usuário “de alto escalão”. Para entender melhor, imagine um usuário de Safari Mobile acessando um site customizado para Internet Explorer Mobile.</p>
<h3>Versionamento Especifico</h3>
<p>Já é prática antiga criar versões dos sites para um sistema, aplicação ou dispositivo específico. Fazíamos isso na guerra dos browsers e fazemos isso hoje para alguns browsers antigos. Versionar um site é uma das saídas mais simples para resolver um grande problema. Como a quantidade de dispositivos de acesso está crescendo, a necessidade de haver uma versão do site para estes dispositivos é mais que normal. O HTML é uma linguagem feita para que seja acessada por diversos meios. Hoje, os meios de acesso são bem escassos, consigo pensar apenas em Desktops e Aparelhos de mão (celulares e smartphones). Você consegue pensar em mais alguns outros?<br />
Embora não sejam maioria, os consoles estão aumentando sua presença online. Aparelhos como XBOX e Playstation estão se tornando cada vez menos restritos para jogos, e estão indo muito além do que poderíamos imaginar um dia. O XBOX já anunciou sua integração com <a href="http://facebook.com/">Facebook</a> e <a href="http://twitter.com/tableless/">Twitter</a>. Embora este tipo de acesso seja ainda muito limitado e controlado pelas fabricantes dos consoles, imagine, como seria a experiência de acessar a internet que temos hoje por um Playstation ou XBOX. Eu acharia sem graça. É uma interface totalmente diferente da comum. Mesmo se tentássemos levar a mesma experiência atual com os desktops para estes dispositivos, na minha opinião, estaríamos subutilizando-os.<br />
A mesma coisa pode acontecer com aparelhos como o Surface da Microsft. Eu não imagino um usuário abrindo um navegador como o Firefox, IE ou Opera no Surface e utilizando-o para navegar na internet como fazemos hoje. Não encaixa. É algo diferente, mais interativo, divertido. E atenção aqui: quando digo interativo, não estou querendo dizer que tudo deverá ser feito com Silverlight ou Flash, pelo contrário. O <a href="http://www.tableless.com.br/html-5-semantica-e-o-que-e-importante-na-web">HTML 5</a> e o <a href="http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css">CSS 3</a> estão vindo para acabar com esse mito.</p>
<p>Também não estou dizendo que talvez você fará uma versão dos seus sites para cada novo dispositivo que aparecer. Pelo contrário. Estou dizendo que eles serão necessários de acordo com o público de cada site, e de cada negócio.</p>
<p>Até hoje os desenvolvedores e também os donos de sites, tem uma dificuldade muito grande em criar ou decidir se é útil ou não desenvolver uma versão dos sites para mobiles. Imagine quando a cartilha de meios de acesso aumentar.</p>
<p>A <a href="http://globo.com">Globo.com</a> e também outros grandes sites enfrentam o mesmo problema: decidir quem vai e quem fica. Decidir qual aparelho será priorizado e qual receberá apenas uma versão de texto. Claro que com o tempo, as limitações de cada aparelho serão mínimas e as características de cada um serão bem parecidas. Isso diminuiria muito o trabalho de desenvolvimento e aumentaríamos a quantidade de acesso, pelo simples fato de que estaríamos dando quase que a mesma experiência para uma quantidade maior de dispositivos.</p>
<p>Outro ponto importante, mas consolador, é que há motores de renderização muito bons hoje em dia. Vide Gecko e Webkit. Ambos de código livre e que recebem sugestões e modificações do mundo inteiro. Por exemplo, os aparelhos da Nokia e também o Chrome utilizam o Webkit como base para seus softwares de acesso. Isso faz com que consigamos manter o controle de nosso desenvolvimento e nos dá uma visão melhor de todo o horizonte de possibilidades.</p>
<p>Você, como desenvolvedor, tem a obrigação de viver um pouco mais além. Não pense que iremos escrever HTML e CSS para todo o sempre. E mesmo que for, serão linguagens totalmente diferentes de como as conhecemos hoje.</p>
<h3>Conhecendo os browsers e seus motores</h3>
<p>Os browsers estão ainda muito longe de melhorar a forma com que lidamos e navegamos com a web. Nenhum deles trouxe nos últimos anos uma inovação capaz de fazer com que melhoremos nossa experiência online. Eles ainda estão engatinhando muito e parte da culpa não é deles. O W3C se mostrou muito lerdo nos últimos 11 anos. Eles acordaram muito tarde para as reais necessidades dos desenvolvedores. A comunidade por sua vez, sacudiu todo o W3C, tomando a iniciativa e começando um novo evanlegismo em pról do HTML 5 e do CSS 3. Isso fez com que o W3C entendesse melhor o que os desenvolvedores precisavam para que a web inteira fosse privilegiada.<br />
Os browsers por sua vez, aproveitaram toda essa mudança, e começaram uma nova guerra, em silêncio. O suporte aos Padrões dos principais browsers do mercado está invejavelmente avançada. Há browsers como o Internet Explorer que sempre serão atrasados, mas que felizmente estão acordados também para as novas atualizações do mercado.</p>
<p>Mesmo assim, acho que o foco não se deve dar em browsers específicos, acho que nossa atenção deve ser voltada para os Motores de Renderização. Hoje, os principais são:</p>
<ul>
<li><strong>Gecko</strong><br />
Motor com código aberto. É utilizado nas aplicações da Mozilla: SeaMonkey, Camino, Firefox, Thunderbird etc. Gecko é um motor herdado do antigo Netscape, baseado no Mosaic. Depois da Guerra dos Browsers, a Netscape doou o motor de renderização para a comunidade, que culminou na criação da Mozilla.<br />
<strong> </strong></li>
<li> <strong>Presto</strong><br />
Motor proprietário da Opera Software. A Opera é uma das empresas que mais inovam no mercado de browsers.  Embora eles tenham tecnicamente um dos melhores browsers para desktops, a versão mobile é a mais utilizada. Eles tem duas versões: Opera Mobile, para smartphones e Opera Mini, para celulares mais básicos. A Opera também está muito presentes em outros mercados fora da web.</li>
<li><strong>Webkit </strong><br />
Motor com código aberto, é utilizado hoje em aplicações como Safari, Safari Mobile e Chrome, browser do Google. É o mais novo motor de renderização do mercado. Foi criado pela Apple, baseando-se no motor de renderização KHTML, que estava só presente em browsers para Linux, como o Konqueror.  Aproveitando que o KHTML é um sistema OpenSource, a Apple modificou todo o seu código, fazendo melhorias e aperfeiçoando-o para criar seu browser o Safari.  A Apple fez várias outras modificações posteriores em cima desta primeira versão. Deu o nome de Webkit, e hoje, conduz o desenvolvimento dessa plataforma.</li>
<li><strong>Trident </strong><br />
É o motor proprietário da Microsoft. É utilizado em aplicações como Outlook e claro, no Internet Explorer. Eles estão criando um novo motor, que é utilizado no Internet Explorer 8 e posteriores. Embora o Trident fora o primeiro a suportar completamente a primeira versão do CSS, atualmente ele é o motor de renderização mais atrasado. A Microsoft vem fazendo um bom trabalho para tentar recuperar essa má fama, mas mesmo assim, os outros motores do mercado estão muito além.</li>
</ul>
<p>Quando conhecemos o motor de renderização dos browsers, e sabemos quais suas limitações, não precisamos nos preocupar com a quantidade de browsers criados. O Google lançou o seu browser chamado Chrome, baseado em Webkit. Embora fosse um novo browser, isso não deveria assustar os desenvolvedores, já que é o mesmo motor utilizado no Safari. Logo, a renderização dos dois é muito parecida. Não é uma preocupação a mais, pelo contrário.<br />
A mesma coisa se aplica aos browsers para mobiles dos sistemas da Nokia e também do iPhone. Ambos utilizam Webkit para renderizar as páginas. Isso dá liberdade para a criação de interfaces mais elaboradas, tornando a experiência de usuário mais interessante em dispositivos móveis.</p>
<p>Já o Internet Explorer, com seu motor de renderização se mostra um inimigo dos desenvolvedores. Embora a Microsoft esteja trabalhando arduamente em um novo código, as versões antigas deste motor ainda assombra a muitos desenvolvedores. E infelizemente, em alguns projetos, precisamos dar um passo para trás por conta da massa de acessos feitos por este motor.<br />
A mesma história se aplica para a versão do Internet Explorer Mobile. O suporte crítico aos Padrões Web faz com que os aparelhos com este sistema se tornem obsoletos quando se trata de experiência online.</p>
<p>Entenda a importância dos motores de renderização. Eles tem um papel fundamental no comportamento do mercado e faz com que avancemos no desenvolvimento web.</p>
<h3>No final tudo dá certo. Ou não.</h3>
<p>A web está passando por uma transação infinita. A cada dia ela ganha mais foco na mídia, mais atenção das empresas, tanto grandes, quanto pequenas. Sempre que um novo dispositivo é criado, um novo nicho de usuários surge, com novas maneiras e costumes de navegação. É impossível agradar a todos. Por isso é importante estabelecer prioridades. Um bom caminho é ajudar no desenvolvimento e compartilhamento de sistemas que ajudam a web a avançar. “Muda, porque quando a gente muda, o mundo muda com a gente.” Gabriel O Pensador.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6" title="Aonde nos leva a morte do Internet Explorer 6?">Aonde nos leva a morte do Internet Explorer 6?</a></li>
<li><a href="http://www.tableless.com.br/lancado-firefox-3-5" title="Lançado Firefox 3.5">Lançado Firefox 3.5</a></li>
<li><a href="http://www.tableless.com.br/graceful-degradation-e-tudo-sobre-acessibilidade" title="Graceful degradation é tudo sobre Acessibilidade">Graceful degradation é tudo sobre Acessibilidade</a></li>
<li><a href="http://www.tableless.com.br/html5-estrutura-semantica" title="HTML 5 &#8211; Mudanças na estrutura e semântica">HTML 5 &#8211; Mudanças na estrutura e semântica</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=SrwteO2XOkY:KLCdhctxcRE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=SrwteO2XOkY:KLCdhctxcRE:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=SrwteO2XOkY:KLCdhctxcRE:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=SrwteO2XOkY:KLCdhctxcRE:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=SrwteO2XOkY:KLCdhctxcRE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=SrwteO2XOkY:KLCdhctxcRE:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/diversidade-dos-meios-acesso/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Ah, o maravilhoso mundo real</title>
		<link>http://www.tableless.com.br/ah-o-maravilhoso-mundo-real</link>
		<comments>http://www.tableless.com.br/ah-o-maravilhoso-mundo-real#comments</comments>
		<pubDate>Thu, 10 Sep 2009 21:03:31 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[Semântica]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[tableless.com.br]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1601</guid>
		<description><![CDATA[O que é mais importante, RDF ou bordas arredondadas? O novo formato de especificações modulares do W3C vai ajudar os desenvolvedores, agilizando os releases de navegador, ou vai tornar nossa vida uma bagunça?]]></description>
			<content:encoded><![CDATA[<p>O Diego publicou, há mais de uma semana, um <a href="http://www.tableless.com.br/se-prepare-para-a-revolucao">artigo sobre o impacto da mudança de estratégia do W3C</a> em relação ao ciclo de vida de seus padrões. O artigo gerou algumas opiniões contrárias nos comentários, em relação ao fato de ele ter dito que bordas arredondadas são mais importantes que a web semântica e em relação à estratégia de especificações modulares do W3C. Vou compartilhar minha opinião sobre os dois pontos.</p>
<p>Em primeiro lugar, é importante distinguir o ideal daquilo que é possível fazer. Li um bocado sobre RDF e ontologias há uns dez anos. Li &#8220;A Revolução Inacabada&#8221;, vi o RSS nascer e se tornar popular, vi as primeiras aplicações entenderem o formato. RDF falhou. Dez anos se passaram e continuamos escrevendo HTML para ser lido por navegadores e só. Há poucos exemplos de aplicações semânticas na vida real, e a maioria seria desenvolvida de uma forma ou de outra.</p>
<p>Há muita gente, por exemplo, definindo seu próprio padrão de XML para trocar dados com sistemas parceiros. Quantos desses estão usando RDF, com uma ontologia interpretada automaticamente por sistemas que &#8220;descobrem&#8221; os serviços um do outro? Ou seja, não há novidades nisso nos últimos dez anos.</p>
<p>Escrever HTML bom é importante, porque vai ajudar o Google a indexar seu site e vai facilitar a vida de quem tentar HTML parsing nele. Mas, seja sincero, você tem mesmo esperanças de que alguém vá lê-lo como XML? Vê alguma vantagem real em validar seu código como XHTML, além de provar a si próprio que fez tudo direito? E onde está a promessa dos microformats? Microformats só fazem diferença se forem usados por muita gente. Ninguém vai fazer um parser de um formato usado em apenas um site. Você consegue citar, de cabeça, cinco sites que usem microformats e não foram feitos por você? Ah, claro, não vale incluir na lista o microformats.org.</p>
<p>Nem RSS é um bom exemplo de aplicação de semântica XML. Existem pelo menos dois formatos populares do padrão, além do padrão Atom, que serve para a mesma coisa. E não sei de nenhum leitor de RSS de sucesso que faça parsing dos feeds como XML. O que todos fazem é ler e interpretar a string. É isso mesmo que você entendeu, quase tão bom quanto um CSV! Outro exemplo digno de nota é o SOAP, que foi criado para fornecer aos webservices a capacidade de &#8220;autodescoberta&#8221;. Você conhece alguém que use isso de verdade? Já viu algum robô que varre a web em busca de serviços e entende sozinho como usá-los? SOAP só tem a vantagem de oferecer tooltips para ajudar os programadores .Net que usam Visual Studio. Enquanto isso, lá fora, XMLRPC e REST (com JSON) estão mudando o mundo.</p>
<p>Por que essas tecnologias falharam, embora pareçam todas boas idéias? Meu palpite é que elas exigiam um raciocínio de longo prazo, um tipo de aposta, que é muito difícil de conseguir. Embora XHTML, Microformats ou SOAP sejam idéias muito boas, aplicá-las em seu site só vai ter valor se muito mais gente o fizer. Se você aplicar o formato sozinho vai perder seu tempo.</p>
<p>O que é muito diferente de, por exemplo, deixar de usar tabelas para layout, escrever bom HTML ou usar jQuery. Essas coisas lhe devolvem um benefício imediato. Se deixar de usar tabelas para layout vai ter um site mais leve e vai perder muito menos tempo quando tiver que mudar o layout, se escrever HTML bom vai ter menos trabalho para escrever CSS, para fazer o CSS mobile e o de impressão, e se usar jQuery vai escrever javascript em um terço do tempo.</p>
<p>Note que esses três exemplos também tiram benefícios do fato de muita gente estar usando. Há muitos bons lugares para se aprender HTML e CSS, há muitos sistemas Open Source que já trabalham gerando código bom e os buscadores entendem a semântica do bom HTML. Mas você não depende desses benefícios para tomar a decisão de uso. Quando começamos, há dez anos, a fazer layouts tableless, não aparecíamos melhor no Google e praticamente não havia sistemas gerando HTML direito. Mas o fizemos assim mesmo porque os benefícios imediatos compensavam o esforço.</p>
<p>É por isso que eu temo que nunca teremos uma web semântica de verdade, e estamos condenados a fazer HTML parsing para sempre.</p>
<p>Há exceções. RSS, por exemplo. RSS é uma sombra do que poderia, mas é um padrão de sucesso, amplamente adotado. E não pode ser explicado com minha teoria do benefício individual imediato. Se você estiver usando RSS sozinho no mundo, não terá nenhum benefício. Talvez o sucesso do RSS se deva ao fato de precisar de uma pequena rede de usuários para oferecer um grande benefício.</p>
<p>Você já se perguntou como foram vendidos os primeiros aparelhos de FAX? Ter um FAX só faz sentido se mais gente tiver. Foram vendidos aos pares. As empresas o compravam para trocar documentos entre a matriz e as filiais. O fato de poder trocar documentos com o resto do mundo era, no início, um &#8220;benefício adicional&#8221;. Se você precisa trocar conteúdo com um site parceiro e vocês forem os únicos usuários de RSS no mundo, terá valido a pena. Conforme a comunidade de usuários aumentava, o valor de ter RSS crescia. Muita gente começou a usar Bloglines e todo mundo queria entrar na festa.</p>
<p>Há alguns anos eu percorri o país com o pessoal da Locaweb comparando o modelo de adoção do RSS com o que eu imaginava que seriam os microformats. Eu estava errado. Pense um segundo no formato de reviews dos microformats. Qual o real benefício de usá-lo? Há alguma aplicação indispensável, onde você realmente quer estar, baseada em hReview? Para que você vai perder seu tempo?</p>
<p>Será que não estamos resolvendo o problema errado? Quando o Diego diz que bordas arredondadas são mais importantes que RDF, será que ele não tem razão? Para meus clientes, hoje, bordas arredondadas com CSS significam um site mais rápido, mais barato (menos tempo gasto recortando imagens) e, para os sites muito visitados, economia de banda. É uma diferença pequena, mas é uma vantagem. E RDF? Além de oferecer RSS, que nem vai ser lido como XML, o que eu posso fazer de real hoje com RDF para meus clientes?</p>
<p>Desculpe se meu raciocínio parece mesquinho. Ele é. Estou tentando ser realista. Uma das principais influências sobre as decisões humanas é a inércia, e não acredito que o mundo vá, num futuro próximo, adotar de maneira revolucionária o RDF ou mesmo o XHTML. Ainda acho essas idéias fantásticas, só não sei se são possíveis.</p>
<p>O realismo também me faz crer que a nova estratégia de especificações modulares do W3C é uma coisa boa. Sofremos décadas com implementações parciais do HTML 4 e do CSS 2. Agora vamos assumir a realidade inevitável. Os desenvolvedores de navegador se sentirão mais à vontade para dizer a você o que funciona ou não. E não precisamos esperar anos para a definição de um padrão. Podemos usar os recursos com os quais o consórcio já concordou hoje. Leva mesmo alguns anos para o W3C bater o martelo sobre determinado padrão, e as especificações modulares representam um ciclo de releases muito mais dinâmico.</p>
<p>Já temos um acordo sobre CSS Transform, bordas arredondadas, múltiplos backgrounds, repetição no DOM, validadores de formulários, SVG, DOM Storage, querySelectors e uma série de outros recursos legais. Por que esperar até a próxima Olimpíada para dizer aos desenvolvedores de browsers: &#8220;Ok, pessoal, fechamos tudo, HTML 5 e CSS 3 já são padrões, podem implementar&#8221;? De qualquer maneira, a adoção modular das especificações do W3C é inevitável. Embora a especificação tenha saído inteira, a adoção foi modular no HTML 3, no HTML 4, no CSS 2. Sabendo que não vai ser diferente mesmo, não é melhor que tenhamos bonitas tabelas de compatibilidade entre o que existe e o que cada navegador suporta?</p>
<p>Dá uma olhada na <a href="http://www.w3.org/Style/CSS/current-work">lista de módulos do CSS3</a>. Você não quer esperar isso tudo ficar pronto para ter bordas arredondadas.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/o-caminho-suave-para-o-tableless" title="O Caminho Suave para o Tableless">O Caminho Suave para o Tableless</a></li>
<li><a href="http://www.tableless.com.br/o-que-etableless" title="O que é Tableless?">O que é Tableless?</a></li>
<li><a href="http://www.tableless.com.br/sobre-internet-explorer-para-mobile-breve-impressao" title="Sobre Internet Explorer para Mobile &#8211; Breve impressão">Sobre Internet Explorer para Mobile &#8211; Breve impressão</a></li>
<li><a href="http://www.tableless.com.br/nao-otimize-seu-codigo" title="Não &#8220;otimize&#8221; seu código">Não &#8220;otimize&#8221; seu código</a></li>
<li><a href="http://www.tableless.com.br/implementar-xhtmlcss-e-gratis" title="Implementar XHTML/CSS é grátis">Implementar XHTML/CSS é grátis</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=E91eReDgWKs:o16JT1e6Bko:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=E91eReDgWKs:o16JT1e6Bko:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=E91eReDgWKs:o16JT1e6Bko:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=E91eReDgWKs:o16JT1e6Bko:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=E91eReDgWKs:o16JT1e6Bko:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=E91eReDgWKs:o16JT1e6Bko:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/ah-o-maravilhoso-mundo-real/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Prepare-se para a Revolução</title>
		<link>http://www.tableless.com.br/se-prepare-para-a-revolucao</link>
		<comments>http://www.tableless.com.br/se-prepare-para-a-revolucao#comments</comments>
		<pubDate>Wed, 02 Sep 2009 14:28:02 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1595</guid>
		<description><![CDATA[O W3C mudou. Isso vai modificar todo um fluxo de trabalho e a velocidade das implementações dos browsers e a forma com que os desenvolvedores trabalham.]]></description>
			<content:encoded><![CDATA[<p>O W3C mudou. O W3C foi criado exatamente para homologar, regularizar e criar novos padrões de publicação de informação na internet. O trabalho do W3C é exatamente criar caminhos para que os desenvolvedores e os fabricantes de browsers possam trilhar no futuro. Acontece que o W3C ficou tão grande, tão lerdo, tão aficcionado pelos problemas do futuro que acabou se perdendo nos seus próprios sonhos.</p>
<p>Um dos objetivos do W3C &#8211; se não o maior objetivo &#8211; é organizar toda a informação da internet. Para fazer isso, precisamos identificar toda essa informação de forma que a extração não seja complexa, pelo contrário, de maneira que a toda a informação que precisarmos possa ser extraída rapidamente, fácil e de qualquer tipo de dispositivo ou aplicação. Por isso, o W3C perdeu muito tempo criando padrões como RDF, por exemplo. Não desmerecendo essas tecnologias, que aliás são bem úteis para nos hoje. Mas cá entre nós, fazer bordas arredondadas para mim, hoje, é mais importante do que algumas necessidades de semântica.<br />
Alguns dos desenvolvedores, a grande maioria gringos, também tinham essa visão. A necessidade de grande parte dos desenvolvedores eram ter coisas simples como suporte a PNG, bordas arredondadas, resize de imagem no background, colocar várias imagens de backgrounds em um elemento, css animation, e assim por diante. Por isso, muitos desenvolvedores começaram reinvidicar uma alteração de prioridades. O HTML 5 surgiu daí. Muitos se enganam se acham que o HTML 5 foi idéia original do W3C. Ele surgiu de um grupo de inconformados de o HTML não ter a pelo menos 10 anos, uma nova atualização. Então começaram a estudar e a escrever um novo padrão para a linguagem. Isso surgiu de uma união de desenvolvedores da Apple (Safari/Webkit), Mozilla e Opera. Muitos se enganam também, se acham que só o W3C pode criar padrões. Você pode criar um. Se vai haver suporte da comunidade, do W3C e dos fabricantes de browsers, é outra história. Mas você tem todo o direito de criar.</p>
<p>O grupo do HTML 5, queria mudar. Eles estavam cansados de usar uma tecnologia antiga e começaram a fazer o trabalho que se esperava que o W3C fizesse. Por fim, essa iniciativa ganhou tanta popularidade e ajuda de outros desenvolvedores, que o W3C resolveu abraçar a idéia e hoje ele cuida desse padrão.<br />
O CSS3 também começou a aparecer por que o W3C abriu os olhos e resolveu começar a revolucionar a linguagem.</p>
<p>O W3C mudou. Os times que cuidam dessas linguagens foram divididas. Modularizadas. Deixe-me explicar. O CSS3 não será mais lançado de uma vez, <a href="http://www.w3.org/TR/css3-roadmap/#whymods">mas em módulos</a>. Há um time que cuidará da propriedade background. Outra que cuida da propriedade position, outra que cuida da propriedade border, e assim por diante. Isso possibilita que cada módulo, cada propriedade, cada parte do CSS seja lançado independentemente, acelerando o processo de suporte dos browsers e utilização pelos desenvolvedores. Logo, não há mais aquela história de “Browser tal não suporte CSS3”. Mentira, ele suporta, mas algumas das funcionalidades. A mesma coisa acontece com o HTML5. Dizem que o IE8 não suporta HTML 5, mas é mentira. Ele suporta partes do HTML 5. Já há vários módulos implementados no IE8, que fazem parte da especificação do HTML 5. Isso também acontece com os outros browsers.</p>
<p>A web vai ficar mais dinâmica agora. O CSS 3 e o HTML 5 vieram para separar o joio do trigo. Os designers não vão mais ficar pintando quadradinhos como antes. O CSS está virando uma linguagem visual de verdade. Há, por exemplo, working drafts de suporte a variáveis no CSS. E isto é só o começo.<br />
A mesma coisa para o HTML 5. A mudança das tags estruturais do HTML é apenas a ponta das novas possibilidades. Para o pessoal que achava que o HTML é coisa de criança, se prepare, porque o buraco, agora, é mais embaixo.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/lancado-firefox-3-5" title="Lançado Firefox 3.5">Lançado Firefox 3.5</a></li>
<li><a href="http://www.tableless.com.br/graceful-degradation-e-tudo-sobre-acessibilidade" title="Graceful degradation é tudo sobre Acessibilidade">Graceful degradation é tudo sobre Acessibilidade</a></li>
<li><a href="http://www.tableless.com.br/porque-so-para-o-iphone" title="Porque só para o iPhone?">Porque só para o iPhone?</a></li>
<li><a href="http://www.tableless.com.br/sites-para-dispositivos-moveis-mediatype" title="Sites para Dispositivos Móveis &#8211; MediaType">Sites para Dispositivos Móveis &#8211; MediaType</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=5cLeox-uYys:Y84Y0uc7dMY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=5cLeox-uYys:Y84Y0uc7dMY:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=5cLeox-uYys:Y84Y0uc7dMY:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=5cLeox-uYys:Y84Y0uc7dMY:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=5cLeox-uYys:Y84Y0uc7dMY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=5cLeox-uYys:Y84Y0uc7dMY:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/se-prepare-para-a-revolucao/feed</wfw:commentRss>
		<slash:comments>45</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>1a. Conferência Web W3C Brasil</title>
		<link>http://www.tableless.com.br/1a-conferencia-web-w3c-brasil</link>
		<comments>http://www.tableless.com.br/1a-conferencia-web-w3c-brasil#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:28:35 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1589</guid>
		<description><![CDATA[O W3C no Brasil tem feito uma série de iniciativas para alavancar e divulgar o desenvolvimento dos padrões web. Esse é um trabalho árduo, principalmente em países do tamanho do Brasil, que tem um número grande de programadores, designers e outros profissionais.]]></description>
			<content:encoded><![CDATA[<p>A Conferência Web W3C Brasil foi criada para oferecer ao público brasileiro um amplo fórum anual de discussão e debate sobre a evolução da Web, a padronização de suas tecnologias e o impacto dessas tecnologias na sociedade e na cultura. A Conferência reunirá pesquisadores, desenvolvedores, usuários, empresas, agências digitais, mídia e todos aqueles que são apaixonados pela Web e que têm algo a oferecer, usar e debater.</p>
<p>A 1a. Conferência Web W3C Brasil 2009 será realizada em São Paulo, SP, nos dia 23 e 24 de novembro, no Blue Tree Towers Morumbi no bairro do Brooklin. Acesse os links para obter informações sobre o <a href="http://conferenciaweb.w3c.br/mapa-do-local">local</a>, <a href="http://conferenciaweb.w3c.br/hoteis">hotéis da região</a>, <a href="http://conferenciaweb.w3c.br/chamada-de-trabalhos">chamada de trabalhos</a> ou sobre como <a href="http://conferenciaweb.w3c.br/inscricoes">se inscrever para participar da conferência da web brasileira</a>.</p>
<h3>Chamada para trabalhos</h3>
<p>Você pode ser um palestrante da 1a. Conferência Web W3C Brasil! Se você tem um caso prático e inovador de uso da web, ou fez uma pesquisa cujos resultados merecem ser compartilhados com toda a comunidade web brasileira, ou ainda tem o &#8220;pulo do gato&#8221; para ensinar em um tutorial, então atenda a nossa Chamada de &#8216;Papers&#8217;, Casos de uso e Tutoriais.</p>
<p>O Comitê de Programa vai selecionar as submissões mais relevantes para compor a programação da Conferência. Mais detalhes em <a href="http://conferenciaweb.w3c.br/chamada-de-trabalhos">Chamada de trabalhos</a>.</p>
<p>Entre na <a href="http://www.facebook.com/reqs.php#/group.php?gid=122287968751&#038;ref=mf">comunidade da conferência no Facebook</a> e fique por dentro.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/se-prepare-para-a-revolucao" title="Prepare-se para a Revolução">Prepare-se para a Revolução</a></li>
<li><a href="http://www.tableless.com.br/nth-child" title="nth-child">nth-child</a></li>
<li><a href="http://www.tableless.com.br/canivetes-na-web" title="Canivetes na web">Canivetes na web</a></li>
<li><a href="http://www.tableless.com.br/html-5-semantica-e-o-que-e-importante-na-web" title="HTML 5 &#8211; Semântica e o que é importante na web">HTML 5 &#8211; Semântica e o que é importante na web</a></li>
<li><a href="http://www.tableless.com.br/navegando-com-a-jquery" title="Navegando com a jQuery">Navegando com a jQuery</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=Y7UH6EvjlFw:53hKKKv7QGQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=Y7UH6EvjlFw:53hKKKv7QGQ:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=Y7UH6EvjlFw:53hKKKv7QGQ:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=Y7UH6EvjlFw:53hKKKv7QGQ:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=Y7UH6EvjlFw:53hKKKv7QGQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=Y7UH6EvjlFw:53hKKKv7QGQ:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/1a-conferencia-web-w3c-brasil/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Efeito cascata, herança e especificidade do CSS</title>
		<link>http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css</link>
		<comments>http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css#comments</comments>
		<pubDate>Tue, 21 Jul 2009 13:30:40 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[tecnicascss]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1495</guid>
		<description><![CDATA[O efeito cascata do CSS é controlado pela especificidade e pela herança das propriedades.]]></description>
			<content:encoded><![CDATA[<h4>Herança</h4>
<p>Existem algumas propriedades do CSS que quando aplicadas aos &#8220;elementos pais&#8221;, os &#8220;elementos filhos&#8221; herdam a característica aplicada no pai. Um exemplo disso é a propriedade <code>color</code>. Quando aplicamos a propriedade <code>color</code> em um elemento <code>div</code>, o texto dos elementos contidos no <code>div</code> são coloridos de acordo com a propriedade.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>O texto que há dentro deste <code>div</code> irá ter a cor verde, independente se este texto está &#8220;solto&#8221; dentro do <code>div</code> ou se ele está dentro de um parágrafo, por exemplo. Ou seja, os filhos herdaram o resultado desta propriedade. A mesma coisa acontece para, por exemplo, a propriedade <code>font-size</code>.</p>
<p>Há também as propriedades não herdadas pelos &#8220;filhos&#8221;. Estas propriedades geralmente são propriedades referentes a formatação da caixa, como por exemplo a propriedade <code>width</code>, <code>height</code>, <code>margin</code>, <code>padding</code> e assim por diante.</p>
<p>Essa herança é responsável por uma parte da cascata. É aí que está uma das primeiras vantanges de se utilizar o CSS no desenvolvimento com padrões. A vantagem da herança é exatamente podermos modificar poucas linhas do CSS para fazer alterações no site inteiro, sem ter que caçar elemento por elemento e modificando suas propriedades.</p>
<p>A herança é largamente utilizada em frameworks de CSS ou até mesmo em técnicas para que a customização de layouts seja explorada de forma automática ou manual pelo cliente, como homes de portais, e-commerce etc. Assim, o controle fica mais genérico, e é aí que entra a especificidade do CSS para controlar o detalhe.</p>
<h5>O valor INHERIT</h5>
<p>O valor inherit é utilizada em propriedades destinadas aos elementos filhos. Suponha que você tem um elemento <code>div</code>. Este elemento <code>div</code> tem uma borda e você quer que seus filhos tenham a mesma borda. Veja o código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;pai&quot;&gt;
  &lt;div&gt;um filho&lt;/div&gt;
  &lt;div&gt;outro filho&lt;/div&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>No CSS, o normal seria fazer isso:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#pai</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #cc00cc;">#pai</span> div <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Se você quisesse modificar a borda do pai e mesmo assim manter a borda do filho, teria que fazer das alterações no código.  O valor <code>inherit</code> serve para que o filho sempre herde um determinado valor de uma determinada propriedade do pai. Quando o valor do pai muda, o valor do filho também. Veja o código e o <a href="http://www.tableless.com.br/wp-content/uploads/2009/07/inherit.html" title="exemplo do valor inherit do CSS">exemplo. </a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#pai</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #cc00cc;">#pai</span> div <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">inherit</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h4>Especificidade</h4>
<p>A especificidade define os detalhes. Quando você define no <code>body</code> as propriedades <code>font-family</code>, <code>font-size</code>, essas propriedades são herdadas por toda árvore de elementos do documento. Isso tráz uma uniformidade para o texto, mas nem todos os elementos terão esse valor genérico de <code>font</code>, logo você terá que ser mais específico e definir valores diferentes de font para estes elementos. É aí que a mágica acontece.</p>
<p>Suponha que você tenha o seguinte código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;content&quot;&gt;
   &lt;p&gt;
        Vivamus in leo lacus. &lt;em&gt;Nam condimentum viverra odio&lt;/em&gt;, non molestie orci commodo sit amet. &lt;strong&gt;&lt;em&gt;Proin aliquet leo eu&lt;/em&gt;&lt;/strong&gt; ipsum adipiscing tristique vestibulum nunc gravida. In porta dignissim enim sit amet vulputate. Quisque lacinia malesuada convallis. Sed sit amet orci non lacus sollicitudin pellentesque. 
   &lt;/p&gt;
&lt;/div&gt;
   &lt;p&gt;
        Vivamus in leo lacus. &lt;em&gt;Nam condimentum viverra odio&lt;/em&gt;, non molestie orci commodo sit amet. &lt;strong&gt;&lt;em&gt;Proin aliquet leo eu&lt;/em&gt;&lt;/strong&gt; ipsum adipiscing tristique vestibulum nunc gravida. In porta dignissim enim sit amet vulputate. Quisque lacinia malesuada convallis. Sed sit amet orci non lacus sollicitudin pellentesque. 
   &lt;/p&gt;</pre></td></tr></table></div>

<p>E também o código CSS:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">em <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Definimos no código acima que os elementos <code>em</code> terão o <code>background</code> vermelho. Isso irá capturar os 4 elementos <code>em</code> que colocamos no HTML. Correto? Ótimo. Estamos sendo bem genéricos aqui. Ele irá capturar todos os elementos <code>em</code>, não importa onde ele esteja. Vamos analisar outro código CSS:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">em <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div p em <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Já mudamos toda a história com este seletor. Queremos dizer que apenas os <code>em</code> que estão dentro de <code>p</code> e que por sua vez estão dentro de um <code>div</code> terão o <code>background</code> verde. Deixamos a regra mais específica excluindo todos os elementos <code>em</code> que estão fora do <code>div</code>. Os <code>em</code> que estão fora do <code>div</code> continuam com o <code>background</code> vermelho.</p>
<p>No caso acima, a ordem não altera o resultado da renderização. O seletor mais específico sempre é o que vai funcionar.</p>
<p>Essa explicação é bem básica. Contudo, entendendo como ela funciona, você sabe o que acontece com seletores mais complexos.</p>
<h4>O valor !important</h4>
<p>A especificidade apresenta muitos problemas quando a equipe é grande e o código CSS está gigante. Você tenta fazer uma alteração em um determinado objeto, e nada funciona. Isso acontece porque alguém já definiu um seletor mais específico que o seu e definiu um valor diferente para sua propriedade, e isso te impede de fazer a alteração que precisa. Essa seria uma cena clássica, mas há outros cenários cujo o uso do valor <code>!important</code>.<br />
O <code>!important</code> indica que aquela propriedade sempre será a principal, e que nunca será substituída mesmo que o seletor seja mais complexo. Veja:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">p <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div p <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>No código acima, o parágrafo terá a cor vermelha por conta do seletor <code>div p</code> ser mais específico.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">p <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">black</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div p <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Agora, mesmo o seletor <code>div p</code> sendo mais específico, ele não controlará o elemento. O <code>!important</code> está jogando toda a relevancia para o <code>color: black;</code>.<br />
Use com cuidado. Se você colocar muitos <code>!important</code> no seu código, a utilidade deste valor se perderá. <a href="http://www.tableless.com.br/wp-content/uploads/2009/07/important.html">Veja o exemplo</a>.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/nth-child" title="nth-child">nth-child</a></li>
<li><a href="http://www.tableless.com.br/css3-columns" title="CSS 3 Columns">CSS 3 Columns</a></li>
<li><a href="http://www.tableless.com.br/referencias-online-css" title="Digest &#8211; Referências de CSS">Digest &#8211; Referências de CSS</a></li>
<li><a href="http://www.tableless.com.br/introducao-sobre-media-queries" title="Introdução sobre Media Queries">Introdução sobre Media Queries</a></li>
<li><a href="http://www.tableless.com.br/introducao-ao-css-animation" title="Introdução ao CSS Animation">Introdução ao CSS Animation</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=RsAvXBS9FQA:2y6CTXfOn1E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=RsAvXBS9FQA:2y6CTXfOn1E:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=RsAvXBS9FQA:2y6CTXfOn1E:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=RsAvXBS9FQA:2y6CTXfOn1E:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=RsAvXBS9FQA:2y6CTXfOn1E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=RsAvXBS9FQA:2y6CTXfOn1E:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Digest – Referências de CSS</title>
		<link>http://www.tableless.com.br/referencias-online-css</link>
		<comments>http://www.tableless.com.br/referencias-online-css#comments</comments>
		<pubDate>Mon, 20 Jul 2009 19:45:42 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Digest]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[aprenda]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1492</guid>
		<description><![CDATA[Uma listagem de algumas referências e lista de propriedades sobre propriedades do CSS.]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://meiert.com/en/indices/css-properties/">Lista de propriedades CSS mantida por Jens Meiert</a></li>
<li><a href="http://reference.sitepoint.com/css">Referência de CSS da SitePoint</a></li>
<li><a href="http://xhtml.com/en/css/reference/">Referência de CSS da XHTML.com</a></li>
<li><a href="http://www.tableless.com.br/compatibilidadecss/">Tabela de Compatibilidade de CSS (do Tableless)</a></li>
<li><a style="text-decoration: none;" href="http://www.tableless.com.br/referenciacss">Guia de Referência rápida do Tableless</a></li>
<li><a href="http://www.w3schools.com/CSS/CSS_reference.asp">Referência mantida pelo W3Schools</a></li>
</ul>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css" title="Efeito cascata, herança e especificidade do CSS">Efeito cascata, herança e especificidade do CSS</a></li>
<li><a href="http://www.tableless.com.br/nth-child" title="nth-child">nth-child</a></li>
<li><a href="http://www.tableless.com.br/css3-columns" title="CSS 3 Columns">CSS 3 Columns</a></li>
<li><a href="http://www.tableless.com.br/introducao-ao-css-animation" title="Introdução ao CSS Animation">Introdução ao CSS Animation</a></li>
<li><a href="http://www.tableless.com.br/video-menu-horizontal-em-5-minutos" title="Vídeo: Menu horizontal com CSS em 5 minutos">Vídeo: Menu horizontal com CSS em 5 minutos</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=aUkztbz3QMA:bFC-7M5fMIQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=aUkztbz3QMA:bFC-7M5fMIQ:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=aUkztbz3QMA:bFC-7M5fMIQ:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=aUkztbz3QMA:bFC-7M5fMIQ:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=aUkztbz3QMA:bFC-7M5fMIQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=aUkztbz3QMA:bFC-7M5fMIQ:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/referencias-online-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>Aonde nos leva a morte do Internet Explorer 6?</title>
		<link>http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6</link>
		<comments>http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6#comments</comments>
		<pubDate>Fri, 17 Jul 2009 17:39:00 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[css 3]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[futuro]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[mercado]]></category>
		<category><![CDATA[navegadores]]></category>
		<category><![CDATA[padroes web]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1481</guid>
		<description><![CDATA[O Internet Explorer 6 morreu. Parece que o mercado estava apenas aguardando o anúncio de que seus usuários já são em menor número que os da versão 8 para se livrar de uma porção de velho código ruim. O quanto isso nos faz realmente avançar?]]></description>
			<content:encoded><![CDATA[<p>Semana passada foi o Digg, essa semana o YouTube. E a comunidade de desenvolvedores os segue fazendo barulho, anunciando que vai fazer o mesmo. Nós estamos fazendo nossa parte na Visie, eliminando a preocupação com o IE6 de nossos sites e convencendo nossos clientes a fazê-lo também. Já vai tarde.</p>
<p>Mas não é tempo de comemorar, ainda há muito trabalho a fazer. Há oito anos o Zeldman publicou seu célebre artigo <a href="http://www.alistapart.com/articles/tohell/">To Hell With Bad Browsers</a>, em que nos explicava porque devíamos abandonar o suporte aos navegadores 4.0. O ponto básico era não ter que fazer várias versões do mesmo site. Uma versão apenas, com bom layout CSS, podia funcionar para todo mundo, com todas as vantagens dos padrões web, mas não nos navegadores 4.0.</p>
<p>Bom, fazem oito anos. OITO LONGOS ANOS! Há oito anos que podemos escrever uma versão só de cada site, desde que saibamos escrever hacks de CSS e ajustes de float para o Internet Explorer 6. Há oito anos que estamos repetindo o fato de que o Internet Explorer 6 é a pedra que restou em nosso sapato. Há oito anos que sonhamos em não ter que escrever hacks.</p>
<p>A morte do Internet Explorer 6 significa apenas isso: poder usar PNG transparente e não ter que escrever hacks (ou não ter que escrever <strong>tantos</strong> hacks.)</p>
<p>A Microsoft passou oito anos sem atualizar seu navegador para nos dar exatamente o que? PNG transparente? Nesse período, Firefox, Opera, Safari e Konqueror estão trabalhando em coisas como controle de opacidade, <a href="http://www.tableless.com.br/introducao-ao-css-animation">CSS transform</a>, bordas com imagem, sombras, <a href="http://www.tableless.com.br/introducao-sobre-media-queries">media queries</a>, <a href="http://www.tableless.com.br/css3-columns">colunas</a> e os maravilhosos novos <a href="http://www.tableless.com.br/nth-child">seletores do CSS3</a>. Coisas maravilhosas que você já pode usar, mas a maioria de seus usuários não vai ver porque usa Internet Explorer.</p>
<p>A morte do Internet Explorer 6 nos leva apenas ao lugar onde deveríamos ter chegado há oito anos: sites sem hacks. A Microsoft ainda está algumas gerações atrasadas e, se queremos usar CSS 3 e HTML 5 um dia, é bom parar de comemorar e voltar ao trabalho. Há um mundo para mudar.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/diversidade-dos-meios-acesso" title="Introdução: diversidade dos meios acesso">Introdução: diversidade dos meios acesso</a></li>
<li><a href="http://www.tableless.com.br/se-prepare-para-a-revolucao" title="Prepare-se para a Revolução">Prepare-se para a Revolução</a></li>
<li><a href="http://www.tableless.com.br/lancado-firefox-3-5" title="Lançado Firefox 3.5">Lançado Firefox 3.5</a></li>
<li><a href="http://www.tableless.com.br/a-internet-tem-que-avancar-sem-o-ie6" title="A internet tem que avançar sem o IE6">A internet tem que avançar sem o IE6</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=I1LO7UxzFJg:YpQjLp1-8kg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=I1LO7UxzFJg:YpQjLp1-8kg:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=I1LO7UxzFJg:YpQjLp1-8kg:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=I1LO7UxzFJg:YpQjLp1-8kg:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=I1LO7UxzFJg:YpQjLp1-8kg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=I1LO7UxzFJg:YpQjLp1-8kg:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6/feed</wfw:commentRss>
		<slash:comments>47</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>nth-child</title>
		<link>http://www.tableless.com.br/nth-child</link>
		<comments>http://www.tableless.com.br/nth-child#comments</comments>
		<pubDate>Thu, 16 Jul 2009 16:52:12 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[seletores]]></category>
		<category><![CDATA[tecnicascss]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1469</guid>
		<description><![CDATA[A pseudo-classe nth-child seleciona elementos dentre uma árvore de elementos se referindo a posição específica de cada um. Você pode por exemplo selecionar os elementos ímpares ou pares. ]]></description>
			<content:encoded><![CDATA[<p>Se você é um cara muito técnico, que adora matemática e números, prefiro que você <a href="http://www.w3.org/TR/css3-selectors/#nth-child-pseudo">leia a documentação do W3C</a> sobre <code>nth-child</code>. Ela é mais rica em detalhes sobre o cálculo que essa pseudo-classe faz. Este artigo é para os pobres mortais.</p>
<p>Você já precisou de criar uma tabela zebrada? Eu já, muitas vezes. Provavelmente se você não sabe programar, você precisa chamar um programador para escrever duas ou três linhas de código Javascript ou até mesmo usando JQuery, para fazer a mágica para você. A idéia do CSS, é que nós, designers, possamos controlar a aparência dos elementos HTML. Isso inclui conseguirmos fazer uma maldita tabela zebrada também. Para isso e para outros problemas parecidos, podemos utilizar a pseudo-classe <code>nth-child</code>. Com esta pseudo-classe é possível selecionar um determinado elemento dentro de uma árvore de elementos. Por exemplo, podemos selecionar todas as linhas ímpares das tabela. Legal, hein?</p>
<h4>Cálculo básico</h4>
<p>O cálculo utilizado pelo <code>nth-child</code> é bastante simples. Você vai usar na maioria das vezes soma. Lembra? A fómula será a seguinte: <em>an+b</em>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">table tbody tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>2n<span style="color: #00AA00;">+</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>lightgray<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>O funcionamento é o seguinte: o browser aplica o estilo a cada 2 <code>tr</code>.<br />
 O código abaixo, aplica o estilo a cada 3 <code>tr</code>. E assim por diante.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">table tbody tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>3n<span style="color: #00AA00;">+</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>lightgray<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Você pode facilitar, utilizando as palavras <em>odd</em> ou <em>even</em>, para selecionar os elementos ímpares ou pares da árvore.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">table tbody tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>odd<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>lightgray<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Caso você queira pegar 9º, 19º, 29º e assim por diante:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">table tbody tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>10n-<span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>lightgray<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Se o valor de <em>a</em> (an+b) é igual 0, você não precisa colocar a fórmula, apenas o número referente a ordem do elemento. Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">table tbody tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>lightgray<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Neste código, o browser iá colorir o background apenas do primeiro <code>tr</code>. </p>
<p><a href="http://www.tableless.com.br/wp-content/uploads/2009/07/nth-child-ex1.html">Veja o exemplo.</a></p>
<p>A propriedade <code>nth-child</code> faz parte dos seletores do CSS 3 e já pode ser utilizado em browsers atuais.</p>
<p>Se você ainda não leu sobre seletores do CSS, leia estes artigos abaixo:</p>
<ul>
<li><a href="http://www.tableless.com.br/seletores-agrupados-e-encadeados">Seletores encadeados e agrupados</a></li>
<li><a href="http://www.tableless.com.br/pseudo-classes-css">Seletores do CSS &#8211; Pseudo-classes</a></li>
<li><a href="http://www.tableless.com.br/seletores-complexos-do-css">Seletores Complexos do CSS</a></li>
</ul>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/css3-columns" title="CSS 3 Columns">CSS 3 Columns</a></li>
<li><a href="http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css" title="Efeito cascata, herança e especificidade do CSS">Efeito cascata, herança e especificidade do CSS</a></li>
<li><a href="http://www.tableless.com.br/introducao-sobre-media-queries" title="Introdução sobre Media Queries">Introdução sobre Media Queries</a></li>
<li><a href="http://www.tableless.com.br/referencias-online-css" title="Digest &#8211; Referências de CSS">Digest &#8211; Referências de CSS</a></li>
<li><a href="http://www.tableless.com.br/introducao-ao-css-animation" title="Introdução ao CSS Animation">Introdução ao CSS Animation</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=adX8qq56RkE:E0cMsTRQO94:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=adX8qq56RkE:E0cMsTRQO94:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=adX8qq56RkE:E0cMsTRQO94:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=adX8qq56RkE:E0cMsTRQO94:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=adX8qq56RkE:E0cMsTRQO94:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=adX8qq56RkE:E0cMsTRQO94:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/nth-child/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
		<item>
		<title>CSS 3 Columns</title>
		<link>http://www.tableless.com.br/css3-columns</link>
		<comments>http://www.tableless.com.br/css3-columns#comments</comments>
		<pubDate>Tue, 14 Jul 2009 01:50:39 +0000</pubDate>
		<dc:creator>diego@tableless.com.br (Tableless.com.br)</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[tecnicascss]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1457</guid>
		<description><![CDATA[O CSS3 facilitará muitas coisas, uma das possibilidades é a criação automatica de colunas em blocos de textos. Para tanto, utilizamos as propriedades de columns do CSS3.]]></description>
			<content:encoded><![CDATA[<p>Com o controle de colunas no CSS, podemos definir colunas de texto de forma automática. Até hoje não havia maneira de fazer isso de maneira inteligente com CSS e o grupo de propriedades <code>columns</code> pode fazer isso de maneira livre de gambiarras.</p>
<h4>column-count</h4>
<p>A propriedade <code>column-count</code> define a quantidade de colunas terá o bloco de textos.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"> <span style="color: #808080; font-style: italic;">/* Define a quantidade de colunas, a largura é definida uniformimente. */</span>
-moz-column-count<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
-webkit-column-count<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<h4>column-width</h4>
<p>Com a propriedade <code>column-width</code> definimos a largura destas colunas.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* Define qual a largura mínima para as colunas. Se as colunas forem expremidas, fazendo com que a largura delas fique menor que este valor, elas se transformam em 1 coluna automaticamente */</span>
-moz-column-<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">400px</span><span style="color: #00AA00;">;</span> 
-webkit-column-<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">400px</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p>Fiz alguns testes aqui e há uma diferença entre o Firefox 3.5 e o Safari 4 (Public Beta).<br />
O <code>column-width</code> define a largura mínima das colunas. Na <a href="http://www.w3.org/TR/css3-multicol/#cw">documentação do W3C</a> é a seguinte: imagine que você tenha uma área disponível para as colunas de 100px. Ou seja, você tem um div com 100px de largura (width). E você define que as larguras destas colunas (<code>column-width</code>) sejam de 45px. Logo, haverá 10px de sobra, e as colunas irão automaticamente ter 50px de largura, preenchendo este espaço disponível. É esse o comportamento que o Firefox adota.</p>
<p>Já no Safari, acontece o seguinte: se você define um <code>column-width</code>, as colunas obedecem esse valor e não preenchem o espaço disponível, como acontece na explicação do W3C e como acontece também no Firefox. Dessa forma faz mais sentido para mim. </p>
<p>Como a propriedade não está 100% aprovada ainda, há tempo para que isso seja modificado novamente. Talvez a mudança da nomenclatura da classe para <code>column-min-width</code> ou algo parecida venha a calhar, assim, ficamos com os dois resultados citados, que são bem úteis para nós de qualquer maneira.</p>
<h4>column-gap</h4>
<p>A propriedade <code>column-gap</code> cria um espaço entre as colunas, um gap.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"> <span style="color: #808080; font-style: italic;">/* Define o espaço entre as colunas. */</span>
-moz-column-gap<span style="color: #00AA00;">:</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">;</span>
-webkit-column-gap<span style="color: #00AA00;">:</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p><a href='http://www.tableless.com.br/wp-content/uploads/2009/07/css3-columns.html'>Veja um exemplo destas propriedades aqui.</a>.</p>
<p>Utilizamos aqui os prefixos -moz- e -webkit-, estas propriedades não funcionam oficialmente em nenhum browser. Mas já podem ser usados em browsers como Firefox e Safari. Fique à vontade para testar e comentar aqui os resultados!<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/nth-child" title="nth-child">nth-child</a></li>
<li><a href="http://www.tableless.com.br/efeito-cascata-e-especificidade-do-css" title="Efeito cascata, herança e especificidade do CSS">Efeito cascata, herança e especificidade do CSS</a></li>
<li><a href="http://www.tableless.com.br/introducao-sobre-media-queries" title="Introdução sobre Media Queries">Introdução sobre Media Queries</a></li>
<li><a href="http://www.tableless.com.br/image-replacement-x-imagens" title="Image-Replacement x Imagens">Image-Replacement x Imagens</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/tableless?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/tableless?i=wof7r_cTjmk:Ljh_VL6AQsI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/tableless?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/tableless?i=wof7r_cTjmk:Ljh_VL6AQsI:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/tableless?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/tableless?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/tableless?i=wof7r_cTjmk:Ljh_VL6AQsI:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/tableless?i=wof7r_cTjmk:Ljh_VL6AQsI:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/tableless?a=wof7r_cTjmk:Ljh_VL6AQsI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/tableless?i=wof7r_cTjmk:Ljh_VL6AQsI:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/css3-columns/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license></item>
	<copyright>Creative Commons - Atribuição-Uso Não-Comercial-Compatilhamento</copyright><media:credit role="author">Tableless.com.br</media:credit><media:rating>nonadult</media:rating><item><title>Links for 2009-04-30 [del.icio.us]</title><link>http://del.icio.us/tableless#2009-04-30</link><pubDate>Fri, 01 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2009-04-30</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.queness.com/post/222/10-jquery-photo-gallery-and-slider-plugins"&gt;10+ jQuery photo gallery and slider plugins | Queness&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.designer-daily.com/18-jquery-scripts-and-tutorials-to-improve-your-portfolio-2162/"&gt;18 jQuery scripts and tutorials to improve your portfolio | Design daily news&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nineliondesign.com/"&gt;Nine Lion Design &amp;raquo; The Design Portfolio of Chikezie Ejiasi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-04-09 [del.icio.us]</title><link>http://del.icio.us/tableless#2009-04-09</link><pubDate>Fri, 10 Apr 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2009-04-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tableless.com.br/pulga-na-cueca-html5"&gt;Pulga na cueca e experimentando HTML5 | Tableless.com.br&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-02-27 [del.icio.us]</title><link>http://del.icio.us/tableless#2009-02-27</link><pubDate>Sat, 28 Feb 2009 00:00:00 PST</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2009-02-27</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.alistapart.com/articles/previewofhtml5"&gt;A List Apart: Articles: A Preview of HTML 5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.alistapart.com/articles/semanticsinhtml5"&gt;A List Apart: Articles: Semantics in HTML 5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2008-06-03 [del.icio.us]</title><link>http://del.icio.us/tableless#2008-06-03</link><pubDate>Wed, 04 Jun 2008 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2008-06-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.webdesignerwall.com/demo/jquery/"&gt;jQuery Tutorials for Designers&lt;/a&gt;&lt;br/&gt;
jQuery para designers! O que pode ser interessante para o designer saber&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jqueryfordesigners.com/coda-slider-effect/"&gt;Coda Slider Effect&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2008-05-21 [del.icio.us]</title><link>http://del.icio.us/tableless#2008-05-21</link><pubDate>Thu, 22 May 2008 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2008-05-21</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://visie.com.br/eventos"&gt;Palestras R&amp;aacute;pidas sobre Desenvolvimento Web&lt;/a&gt;&lt;br/&gt;
Palestras rápidas da Visie sobre desenvolvimento web&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2008-02-14 [del.icio.us]</title><link>http://del.icio.us/tableless#2008-02-14</link><pubDate>Fri, 15 Feb 2008 00:00:00 PST</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2008-02-14</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.fonts500.com/"&gt;Fonts 500&lt;/a&gt;&lt;br/&gt;
Free Fonts!&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2007-12-06 [del.icio.us]</title><link>http://del.icio.us/tableless#2007-12-06</link><pubDate>Fri, 07 Dec 2007 00:00:00 PST</pubDate><guid isPermaLink="true">http://del.icio.us/tableless#2007-12-06</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://girasoli.org/?p=26"&gt;WordPress Plugin: Get Recent Post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel>
</rss>
