<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Tableless &#187; tableless</title>
	<atom:link href="http://tableless.com.br/tag/tableless/feed/" rel="self" type="application/rss+xml" />
	<link>http://tableless.com.br</link>
	<description>Tableless - Desenvolvimento inteligente com padrões web</description>
	<lastBuildDate>Fri, 18 May 2012 12:22:56 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas</title>
		<link>http://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/</link>
		<comments>http://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/#comments</comments>
		<pubDate>Wed, 09 May 2012 16:53:47 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[O Básico]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[tecnicascss]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=6094</guid>
		<description><![CDATA[Entenda a diferença entre préprocessadores, frameworks e bibliotecas de client-side. Saiba o que usar em seus projetos e quais as suas particularidades.]]></description>
			<content:encoded><![CDATA[<p>Existem três categorias de &#8220;ferramentas&#8221; que nos ajudam a desenvolver um projeto client-side: Préprocessadores, Frameworks e Bibliotecas.</p>
<h3>Préprocessadores</h3>
<p>Préprocessadores são ferramentas onde você escreve CSS de uma determinada forma, modificando sua sintaxe, fazendo com que na hora de sua utilização o código CSS precise ser préprocessado para que o código escrito seja transformado em código CSS puro e assim então os browsers consigam entender.</p>
<p>Existem muitos préprocessadores no mercado como <a href="http://lesscss.org/">Less</a>, <a href="http://sass-lang.com/">Sass</a>, <a href="http://turbine.peterkroener.de/index.php">Turbine</a>, <a href="http://sourceforge.net/projects/switchcss/">Switch CSS</a> e outros. </p>
<p>Particularmente eu não gosto de usar préprocessadores. Para começar é necessário que você aprenda a linguagem de cada um e a ideia de que seu CSS precisa ser compilado para poder funcionar não me agrada muito. O CSS é simples demais para complicarmos desse jeito. Entretanto, há uma série de coisas interessantes que podemos fazer com os préprocessadores como variáveis, funções, operações e etc que demorarão um pouco (ou não) para fazerem parte do core definitivo da linguagem. Mesmo assim, pessoalmente, para a maioria dos projetos, não vale a pena.</p>
<h3>Frameworks</h3>
<p>Frameworks são diferentes de préprocessadores mas são muito parecidos com Bibliotecas. Um Framework disponibiliza para o dev um conjunto de estilos e estruturas prontas para a utilização em projetos de forma escalável e uniforme. Normalmente os frameworks te dão uma coleção de componentes para que sejam usadas por todo o projeto. Esses componentes na maioria das vezes já vem com estilos visuais aplicados, bem como a estrutura. Veja por exemplo o <a href="http://twitter.github.com/bootstrap">Bootstrap</a> ou o <a href="http://blueprintcss.org">Blueprint</a>.</p>
<p>Com o Bootstrap você consegue, rapidamente, fazer um protótipo simples ou uma estrutura básica de sistema. É o preferido dos programadores. Os elementos visuais já foram criados e desenhados. Talvez não seja uma boa ideia você utilizar um framework em um projeto cujo design já esteja aprovado. Você teria muito retrabalho para &#8220;zerar&#8221; o estilo visual de cada elemento para depois reconstruí-lo utilizando o seu design.</p>
<p>É muito importante que o uso de um framework CSS/Javascript seja aprovado no início de um grande projeto. Mesmo que você planeje criar um framework do zero, específico para seu projeto. O que na maioria das vezes não vale a pena.</p>
<h3>Bibliotecas</h3>
<p>Bibliotecas CSS geralmente não modificam o visual como os Frameworks fazem, mas eles disponibilizam uma coleção de classes, reutilizáveis e o melhor, combinatórias, para que se adeque a diversos cenários do seu projeto. Como essas classes não estão ligadas a nenhuma formatação visual, você consegue combinar sem grandes problemas com suas classes e IDs, modificando a hora que quiser a formatação visual dos elementos.</p>
<p>As bibliotecas são indicadas para projetos mais simples, sem grandes apetrechos técnicos, como um site ou algo parecido. Para fazer um sistema, as bibliotecas irão reforçar os Frameworks, facilitando a organização e formatação da estrutura do site. A biblioteca também ajuda na manipulação dos elementos via Javascript se baseando por estas classes prontas. </p>
<p>A verdade é que hoje é muito difícil diferenciar uma biblioteca de um framework.</p>
<h3>Como todos eles trabalham juntos?</h3>
<p>Você pode usar todos os três ao mesmo tempo em um projeto. Mas não é muito inteligente, já que se você estiver utilizando um framework, muito provavelmente ele terá uma &#8220;biblioteca&#8221; em sua base. Imagine que a biblioteca pode ser específica de estrutura ou formatação visual. O Framework, basicamente, junta os dois. Obviamente há mais coisas envolvidas. Mas para simplificarmos a explicação, imagine que um Framework é a mistura dessas duas bibliotecas.</p>
<p>O Preprocessador é independente do Framework e da Biblioteca. O seu ganho está ao escrever um código mais escalável, muitas vezes melhorando ou piorando a sintaxe do código. É pura sintaxe, não são classes prédefinidas. Mesmo assim você pode basear seu Framework/Biblioteca em um Préprocessador. O Bootstrap faz isso para facilitar features dinâmicas como grids, cores e etc.</p>
<p>Como eu disse, eu não gosto de misturar as coisas. Prefiro utilizar o Bootstrap puro, sem a interferência de nenhum préprocessador. Mas, há gosto para tudo. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Qual deles é melhor para o meu projeto</h3>
<p>Eu não sugiro que você utilize um framework para criar websites institucionais. Websites geralmente não usam os mesmos elementos, nem as mesmas estruturas, nem o mesmo design. Logo, se você utilizasse um framework como o Bootstrap, ou o JQuery UI, você acabaria gastando mais tempo reestilizando e brigando com o CSS já criado dos frameworks do que fazendo o que realmente importa: o seu trabalho.<br />
Logo, para projetos de pequeno porte eu sugiro que você utilize uma biblioteca simples. Sugiro ainda que essa biblioteca seja criada por você.</p>
<p>Não precisa de muito. Em uma biblioteca você só precisa ter algumas propriedades que fazem tarefas básicas, como fazer o elemento flutuar para a esquerda, para direita, clear, retirar margens e etc. Normalmente eu utilizo um reset chamado <a href="http://necolas.github.com/normalize.css/">Normalize</a>. Ele já reseta meu CSS inteiro e então eu me foco apenas nas propriedades que eu reutilizarei no resto do projeto.</p>
<p>Se seu projeto for médio ou grande, você já pode pensar em utilizar um Framework. Principalmente se seu projeto for um sistema. Você já vai ter à disposição estilos para formulários (que são um saco pra fazer), botões, grids, reset CSS e outras coisas. O trabalho fica mais fácil por que você tem menos arestas para acertar. Ainda mais se o designer aceitar utilizar alguns dos estilos já prontos do Framework, assim você não precisa reconfigurar formatações visuais e etc.</p>
<p>A utilização do Préprocessadores é totalmente opcional. Mas se você decidir utilizá-lo juntamente com algum Framework, procure saber se o Framework escolhido suporta algum tipo de préprocessador. O Bootstrap, por exemplo, tem uma versão para LESS.</p>
<p>No próximo artigo vou contar como estamos fazendo aqui na Locaweb. Estamos criando uma grande biblioteca visual e de front-end que será utilizado por todos os serviços. Os programadores conseguem subir um sistema sem precisar esperar um código HTML definitivo, utilizando os módulos dessa biblioteca. A galera de design faz todos os layouts padronizados visualmente, garantindo a uniformidade de todos os sistemas. E o pessoal de front? Bom o pessoal de front cuida para que tudo isso funcione. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/" title="Qualidade de Imagens e densidade de pixels">Qualidade de Imagens e densidade de pixels</a></li><li><a href="http://tableless.com.br/gomo-teste-seu-site-mobile/" title="GoMo &#8211; Teste seu site mobile">GoMo &#8211; Teste seu site mobile</a></li><li><a href="http://tableless.com.br/agora-e-a-vez-dos-desenvolvedores/" title="Agora é a vez dos desenvolvedores">Agora é a vez dos desenvolvedores</a></li><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li><li><a href="http://tableless.com.br/introducao-a-padroes-de-codificacao/" title="Introdução aos padrões de codificação">Introdução aos padrões de codificação</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Qualidade de Imagens e densidade de pixels</title>
		<link>http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/</link>
		<comments>http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 13:13:42 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Internet Móvel]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[dispositivos moveis]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=5781</guid>
		<description><![CDATA[Entenda melhor sobre densidade de pixels em aparelhos como o iPhone 4 e outros dispositivos que carregam Android.]]></description>
			<content:encoded><![CDATA[<p>Você se lembra quando planejavamos nossos layouts para resoluções acima de 1024? Chega ser engraçado lembrar que um dia fizemos websites para 640&#215;480, pensando que a resolução de 1024&#215;768 eram a minoria dos usuários. Os tempos mudaram e naturalmente diversas outras resoluções apareceram por conta de novos dispositivos, melhores monitores e etc. Acontece que na web nada é tão fácil assim. A gente se livra de um problema, mas aparece outro no lugar.</p>
<p>Este ano eu estou trabalhando a maior parte do tempo em um monitor fullHD. Notei uma diferença gritante ao digitar código pela primeira vez em um monitor desses. E não são apenas os monitores que estão mudando para uma resolução decente. Também, seguindo o ciclo natural, dispositivos menores estão recebendo a dádiva de ter a alta resolução em suas telas. E isso, meu caro, é uma dádiva para o usuário, para você é mais trabalho. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Pixels não são mais como eram antigamente</h3>
<p>Na minha época de escola &#8211; nem tanto tempo assim &#8211; os professores me ensinaram que o átomo era indivisível. Era incrível por que eu, como criança, me divertia tentando entender como algo poderia ser tão pequeno que não pudesse ser partido ao meio, ficando menor&#8230; Mas aí eu descobri que os prótons, os elentrons e outras partículas subatomicas existiam também&#8230; </p>
<p>A mesma coisa aconteceu com o pixel. O pixel sempre representou a menor unidade da sua tela. Para os designers, o pixel é a unidade central. É onde tudo se baseia: medidas, tamanhos, alinhamentos etc&#8230; Mas o pixel não é mais como era antigamente.</p>
<p>Com o advento das telas HD em aparelhos móveis, o conceito de pixel mudou um <del>pouco</del> muito. Quando a tela retina display do iPhone 4 foi lançada o queixo de todo mundo caiu. A Apple conseguiu apertar quatro pixels onde apenas caberia um. Logo o pixel pode ser definido como a menor unidade na tela, como você já conhece ou pode ser baseada em uma unidade chamada hoje em dia de &#8220;pixel referência&#8221; ou do inglês <strong><a href="http://www.alistapart.com/articles/a-pixel-identity-crisis/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">reference pixel</a></strong>: que significa que esse novo &#8220;pixel&#8221; é uma <strong>referência ótica</strong> de unidade.</p>
<p>Para entrar em detalhes, leia <a href="http://en.wikipedia.org/wiki/Pixel">o que é um pixel</a>. Vai te ajudar a entender melhor.</p>
<h3>Densidade de pixels</h3>
<p>A sigla <a href="http://en.wikipedia.org/wiki/Dots_per_inch">DPI</a> significa <strong>Dots Per Inch</strong>, ou seja, é o número de pixels que seu dispositivo pode conter em uma polegada. Quanto mais pixels em uma polegada, mais nítida a imagem é. </p>
<p>Os aparelhos como o iPhone 4 e outros que carregam Android tem uma densidade de pixels muito alta. Ou seja, eles conseguem comprimir um grande número de pixels em suas telas, tornando as imagens melhores. O problema é que as imagens que criamos hoje podem parecer ruins nesses dispositivos. Algo parecido como aumentar uma imagem pequena no Photoshop, entende? Ela fica toda pixelada, sem qualidade nenhuma. Isso por que você está aumentando o tamanho de uma imagem que é pequena e não tem pixels suficientes para dividir pelo tamanho que você definiu. </p>
<p>Entenda fazendo um teste: Vá até o site da Apple utilizando SAFARI. Agora, dê um zoom em alguma imagem. Veja como ela parece pixelada por causa do zoom. Agora abra o Inspector do seu navegador, vá até o console e coloque as duas linhas abaixo:</p>
<div class="codecolorer-container javascript mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">AC.<span style="color: #660066;">ImageReplacer</span>._devicePixelRatio <span style="color: #339933;">=</span> <span style="color: #CC0000;">2</span><br />
<span style="color: #003366; font-weight: bold;">new</span> AC.<span style="color: #660066;">ImageReplacer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></div></td></tr></tbody></table></div>
<p>A imagem foi trocada para uma imagem com o dobro de tamanho da imagem original para que ela ficasse melhor em telas com alta densidade de pixels&#8230; <a href="http://tableless.com.br/wp-content/uploads/2012/03/retina.jpg">Veja a diferença</a>. <a href="http://www.appleinsider.com/articles/12/03/13/how_to_preview_the_retina_display_enhanced_applecom_in_safari_on_mac_or_pc.html">Eu vi esse truque aqui</a>.</p>
<h3>Ações para otimizar</h3>
<p>Existem algumas atitudes que vocês já pode tomar agora para poder chavear estes aparelhos e entregar uma experiência melhor para seus usuários.</p>
<h4>Utilize media queries</h4>
<p><a href="http://tableless.com.br/introducao-sobre-media-queries/">Media Queries são um chuchuzinho</a>. Você pode utilizar uma regra chamada <strong>device-pixel-ratio</strong> para detectar qual CSS servir dependendo do pixel-ratio do dispositivo. Não precisa ser maníaco e servir vários CSS para vários pixel-ratios&#8230; Você vai ficar doido se fizer isso.</p>
<p>Abaixo veja uma tabela de exemplos de aparelhos com seus valores de pixel-ratios:</p>
<table style="margin: auto">
<thead>
<tr>
<td width="200px"><strong>Dispositivo</strong></td>
<td width="100px"><strong>Resolução</strong></td>
<td width="150px"><strong>device-pixel-ratio</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td>Android LDPI</td>
<td>320×240</td>
<td>0.75</td>
</tr>
<tr>
<td>Iphone 3 &amp; Android MDPI</td>
<td>320×480</td>
<td>1</td>
</tr>
<tr>
<td>Android HDPI</td>
<td>480×800</td>
<td>1.5</td>
</tr>
<tr>
<td>Iphone 4</td>
<td>960×640</td>
<td>2.0</td>
</tr>
</tbody>
</table>
<p>Agora, como seria o CSS:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> media<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;screen and (-webkit-device-pixel-ratio: 0.75)&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;low-dpi.css&quot;</span> /<span style="color: #00AA00;">&gt;</span><br />
&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> media<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;screen and (-webkit-device-pixel-ratio: 1.0)&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;medium-dpi.css&quot;</span> /<span style="color: #00AA00;">&gt;</span><br />
&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> media<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;screen and (-webkit-device-pixel-ratio: 1.5)&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;high-dpi.css&quot;</span> /<span style="color: #00AA00;">&gt;</span><br />
&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> media<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;screen and (-webkit-device-pixel-ratio: 2.0)&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;retina.css&quot;</span> /<span style="color: #00AA00;">&gt;</span></div></td></tr></tbody></table></div>
<p>Eu sugiro que você se limite apenas para o pixel-ratio 2. Do jeito que as coisas estão andando, os aparelhos de pixel-ratio menor do que 2 desaparecerão logo e os aparelhos com pixel-ratio igual a 1 são maioria e você já faz versões para eles, já que não precisam de fallbacks.</p>
<h4>Considere chavear versões de imagens</h4>
<p>Este é um problema que ainda não existe uma solução inteligente e definitiva.<br />
A ideia é tentar evitar que o usuário baixe duas imagens iguais, mas de tamanhos diferentes para cada tipo de necessidade. Logo, existem vários fallbacks, em Javascript ou linguagens server-side para servir apenas a imagem necessária.</p>
<p>O pessoal da Clound Four escreveu <a href="http://cloudfour.com/how-apple-com-will-serve-retina-images-to-new-ipads/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">um artigo muito interessante sobre isso</a>.</p>
<p>Há outros artigos bons por aí. Eu estou dando uma lida em vários para tentar escrever um artigo mais simples aqui no Tableless. Mas o assunto é muito vasto e ninguém tem uma opinião definida ainda. Isso não é útil apenas para a situação dos aparelhos hires, mas também para encontrarmos maneiras de servir imagens menores para versões de sites mobiles.</p>
<h4>Text rendering</h4>
<p>Você consegue melhorar muito a leitura dos usuários utilizando a propriedade <strong>text-rendering</strong>.</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">h1<span style="color: #00AA00;">,</span> h2<span style="color: #00AA00;">,</span> h3 <span style="color: #00AA00;">&#123;</span> text-rendering<span style="color: #00AA00;">:</span> optimizeLegibility<span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>Esta propriedade melhora muito a leitura quando o usuário dá o zoom nos aparelhos móveis e também corrige suporte de ligaduras e kerning. Coisa linda.</p>
<h4>Text Smoothing</h4>
<p>A propriedade <strong>font-smoothing</strong> é útil agora! A leitura melhora demais em monitores normais e previne serrilhamentos ocasionais quando utilizandos @font-face.</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">body <span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
-webkit-font-smoothing<span style="color: #00AA00;">:</span> antialiased<span style="color: #00AA00;">;</span><br />
-moz-font-smoothing<span style="color: #00AA00;">:</span> antialiased<span style="color: #00AA00;">;</span><br />
-o-font-smoothing<span style="color: #00AA00;">:</span> antialiased<span style="color: #00AA00;">;</span><br />
-ms-font-smoothing<span style="color: #00AA00;">:</span> antialiased<span style="color: #00AA00;">;</span><br />
font-smoothing<span style="color: #00AA00;">:</span> antialiased<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h4>Tente usar CSS3</h4>
<p>Tente usar e abusar dos efeitos do CSS como sombras, gradientes, bordas arredondadas e etc. Além de facilitarem sua vida evitando a criação de imagens desnecessárias, elas ajudam na velocidade de carregamento do site.</p>
<h4>Considere utilizar SVG</h4>
<p>Já tem alguns que estão começando a utilizar SVG para facilitar a vida. Para ícones, SVG é ótimo. Você consegue reutilizá-los em diversos tamanhos, aumentando o diminuindo de acordo com a sua necessidade e também do aparelho. Veja um exemplo que a <a href="http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">Smashing Magazine escreveu</a>.</p>
<h4>Novo elemento HTML</h4>
<p>O W3C já criou um grupo chamado <a href="http://www.w3.org/community/respimg/">Responsive Images Community Group</a> para a criação de elementos do HTML que facilitam a entrega de assets dependendo do contexto. Eles estão propondo um novo elemento que identifica as dimensões do dispositivo, velocidade de rede, densidade de pixels e outros pontos para servir melhor imagens e outros assets dependendo do contexto.</p>
<h3>Muitos artigos para ler</h3>
<ul>
<li><a href="http://aralbalkan.com/3331?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">How to make your web content look stunning on the iPhone 4&#8242;s new Retina Display</a>
</li>
<li><a href="http://www.weedygarden.net/2010/10/13/retina-display-and-css-background-images/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">Retina Display and CSS Background Images</a>
</li>
<li><a href="http://www.lukew.com/ff/entry.asp?1142&#038;utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">Designing for the Retina Display (326ppi)</a>
</li>
<li><a href="http://eisabainyo.net/weblog/2011/06/07/how-to-use-hi-res-images-for-web-apps-in-iphone4/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">How to use hi-res images in web apps for iPhone4 </a>
</li>
<li><a href="http://www.fiveminutes.eu/targeting-hight-screen-densities-with-css-media-queries/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">Targeting High Screen Densities with CSS Media Queries</a>
</li>
<li><a href="http://www.alistapart.com/articles/a-pixel-identity-crisis/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">A Pixel Identity Crisis</a>
</li>
<li><a href="http://bradfrostweb.com/blog/mobile/hi-res-optimization/?utm_source=TablelessComBr&#038;utm_medium=PostLink&#038;utm_campaign=TablelessComBr&#038;utm_nooverride=1">optimizing web experiences for high resolution screens</a>
</li>
</ul>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li><li><a href="http://tableless.com.br/boas-praticas-de-acessibilidade/" title="Boas práticas de Acessibilidade">Boas práticas de Acessibilidade</a></li><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li><li><a href="http://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/" title="Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas">Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas</a></li><li><a href="http://tableless.com.br/adobe-e-os-padroes-web/" title="Adobe e os Padrões Web">Adobe e os Padrões Web</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Boas práticas de Acessibilidade</title>
		<link>http://tableless.com.br/boas-praticas-de-acessibilidade/</link>
		<comments>http://tableless.com.br/boas-praticas-de-acessibilidade/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 16:14:18 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[aprenda]]></category>
		<category><![CDATA[cotidiano]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=5303</guid>
		<description><![CDATA[Apresentação sobre acessibilidade e desenvolvimento para web.]]></description>
			<content:encoded><![CDATA[<p>Preparei uma pequena (nem tão pequena assim) apresentação que mostra algumas boas práticas e técnicas sobre acessibilidade para sistemas e websites. São pequenos ajustes que podemos incorporar mesmo depois de todo o desenvolvimento pronto e que dão resultados importantes para adequação dos seus sites ou sistemas.</p>
<div style="width:595px" id="__ss_11217803"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/diegoeis/apresentancao-acessibilidade" title="Apresentancao acessibilidade" target="_blank">Apresentancao acessibilidade</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11217803?rel=0" width="595" height="497" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> Veja mais <a href="http://www.slideshare.net/" target="_blank">apresentações</a> de <a href="http://www.slideshare.net/diegoeis" target="_blank">Diego Eis</a> </div>
</p></div>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/" title="Qualidade de Imagens e densidade de pixels">Qualidade de Imagens e densidade de pixels</a></li><li><a href="http://tableless.com.br/seu-lugar-ao-sol/" title="Seu lugar ao sol">Seu lugar ao sol</a></li><li><a href="http://tableless.com.br/gomo-teste-seu-site-mobile/" title="GoMo &#8211; Teste seu site mobile">GoMo &#8211; Teste seu site mobile</a></li><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li><li><a href="http://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></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/boas-praticas-de-acessibilidade/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Declarando idiomas no HTML</title>
		<link>http://tableless.com.br/declarando-idiomas-no-html/</link>
		<comments>http://tableless.com.br/declarando-idiomas-no-html/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 10:00:42 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[usabilidade]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=5052</guid>
		<description><![CDATA[O conteúdo online pode ser acessado no mundo inteiro, não importa seu idioma. Para tanto o idioma deve ser declarado corretamente para que os meios de acesso entreguem o conteúdo da melhor forma possível.]]></description>
			<content:encoded><![CDATA[<p>Publicar conteúdo na web definitivamente não é a mesma coisa da publicação de conteúdo nos meios impressos. Quando imprimimos o conteúdo, temos como foco um determinado público de uma determinada região. Eu, estando no Brasil, não vou fazer uma revista em no idioma Japonês. Quando falamos publicação de conteúdo online a coisa muda de cenário. O conteúdo online pode ser acessado no mundo inteiro, não importa seu idioma. Obviamente se você conhece outros idiomas, você amplia suas possibilidades para encontrar conteúdo e novos sites. </p>
<p>Os desenvolvedores do mundo inteiro juntamente com os fabricantes de browsers e outros interessados, querem ter certeza que os navegadores, robôs de busca, leitores de tela e outros sistemas detectem da forma ideal o idioma correto.</p>
<p>A declaração do idioma no código HTML não determina a informação no <a href="http://tableless.com.br/charsets-e-encodes-tabelas-de-caracteres/" title="Charsets e Encodes – Tabelas de caracteres">encoding de caractére do texto</a> nem a direção de leitura do texto em outros idiomas. Essas definições precisam ser declaradas separadamente.</p>
<p>Nós precisamos definir o idioma por alguns motivos:</p>
<ul>
<li>Melhor pronunciação do texto em leitores de tela. </li>
<li>Para que os buscadores possam indexar o website no buscador do respectivo idioma. Por exemplo: não tem sentido o Google ranqueear muito bem um site em português no Google americano.</li>
<li>Selecionar as fonts corretas para mostrar na tela. Nesse caso para idiomas como Chinês.</li>
<li>Para que os browsers escolham o dicionário correto para a correção gramatical nativa em textos e formulários.</li>
<li>Renderizar a página rapidamente &#8211; o browser carrega o documento mais rápido quando o browser sabe qual o idioma nativo.</li>
</ul>
<h3>Definindo o idioma padrão do documento</h3>
<p>Existem algumas maneiras que você pode definir o idioma padrão no documento exibido ou em partes do texto para aqueles termos em idiomas diferentes.</p>
<p>Podemos definir diretamente via metatag nativa:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/meta.html"><span style="color: #000000; font-weight: bold;">meta</span></a> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Language&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pt-br&quot;</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Pela Metatag podemos definir vários valores no atributo content:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/meta.html"><span style="color: #000000; font-weight: bold;">meta</span></a> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Language&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pt-br, en, fr, it&quot;</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Via <strong>HTTP Header</strong>:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">HTTP/1.1 200 OK<br />
Date: Fri, 30 Dez 2011 10:46:04 GMT<br />
Server: Apache/1.3.28 (Unix) PHP/4.2.3<br />
Content-Location: CSS2-REC.en.html<br />
Vary: negotiate,accept-language,accept-charset<br />
TCN: choice<br />
P3P: policyref=http://www.w3.org/2001/05/P3P/p3p.xml<br />
Cache-Control: max-age=21600<br />
Expires: Wed, 05 Nov 2003 16:46:04 GMT<br />
Last-Modified: Tue, 12 May 1998 22:18:49 GMT<br />
ETag: &quot;3558cac9;36f99e2b&quot;<br />
Accept-Ranges: bytes<br />
Content-Length: 10734<br />
Connection: close<br />
Content-Type: text/html; charset=utf-8<br />
Content-Language: pt-br</div></td></tr></tbody></table></div>
<p>Via atributo <strong>lang</strong> nos elementos do HTML.</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>Nós utilizamos o <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span>&gt;</span>mouse<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span> para navegar na <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span>&gt;</span>web<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span> por meios dos <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span>&gt;</span>browsers<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span>.</div></td></tr></tbody></table></div>
<p>Assim indicamos, principalmente para os leitores de tela, quais termos ele deve ler com o idioma nativo do termo.</p>
<p>Temos o costume de indicar o atributo <strong>lang</strong> no elemento <strong>html</strong> logo no início do documento para indicar que todo o conteúdo contido dentro do <strong>html</strong> está escrito em um determinado idioma.</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pt-br&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>Título<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></div></td></tr></tbody></table></div>
<h3>Ordem de herança</h3>
<p>Os meios de acesso, normalmente browsers, seguem esses passos de verificação para identificar o idioma:</p>
<ol>
<li>Verifica se elemento HTML que tem o atributo <strong>lang</strong>, se não,</li>
<li>Verifica se pai mais próximo ao termo que tenha o atributo <strong>lang</strong>, se não,</li>
<li>Verifica se o documento tem a metatag definida &lt;meta http-equiv=&#8221;content-language&#8221; content=&#8221;pt-br&#8221;&gt;, se não,</li>
<li>Verifica se o HTTP Header Content-Language tem uma tag de idioma definido. Se não,</li>
<li>O idioma é tratado como não reconhecido.</li>
</ol>
<p>O W3C recomenda que você sempre utilize o <strong>lang</strong> no elemento <strong>html</strong> para definir o idioma padrão de todo o conteúdo e também em todo o termo encontrado no texto com idioma diferente do definido como padrão.</p>
<p>Declarações de idioma baseados nestes atributos são importantes para a maioria das aplicações web hoje, que vão desde as <a href="http://br.mozdev.org/firefox/ortografia">corretores ortográficos</a> embutidos diretamente nos browsers até leitores de telas que interpretam as páginas web, etc etc.</p>
<p>Estas possibilidades são interessantes para que possamos globalizar ainda mais nossos projetos. Imagine por exemplo um website que ensina Russo para Chineses. É interessante que possamos marcar os termos dos dois idiomas de forma que os mecanismos trabalhem adequadamente em diversos meios de acesso. Os browsers precisam identificar quando o texto está em Russo ou quando está em Chinês. Os buscadores também precisam entender essa diferença, bem como os leitores de tela.</p>
<p>Aos poucos vamos padronizando características que antes eram ignoradas no desenvolvimento web. Não são ações muito difíceis de aplicar. Para começar, basta colocar o atributo <strong>lang</strong> no elemento <strong>html</strong> dos seus documentos e pronto.</p>
<h5>Referências</h5>
<p>Artigo que <a href="http://tableless.com.br/charsets-e-encodes-tabelas-de-caracteres/" title="Charsets e Encodes – Tabelas de caracteres">explica os Charsets, encodes e tabelas de caractéres no HTML</a>.</p>
<p>Veja aqui a <a href="http://www.w3.org/TR/i18n-html-tech-lang/">documentação oficial do W3C</a> que fala sobre este assunto.</p>
<p>O W3Schools tem aqui uma <a href="http://www.w3schools.com/tags/ref_language_codes.asp">listagem dos códigos de idioma</a> que podem usados. </p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/guia-de-referencia-de-html5/" title="Guia de Referência de HTML5">Guia de Referência de HTML5</a></li><li><a href="http://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://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/" title="Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas">Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas</a></li><li><a href="http://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/" title="Qualidade de Imagens e densidade de pixels">Qualidade de Imagens e densidade de pixels</a></li><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/declarando-idiomas-no-html/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Guia de Referência de HTML5</title>
		<link>http://tableless.com.br/guia-de-referencia-de-html5/</link>
		<comments>http://tableless.com.br/guia-de-referencia-de-html5/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 15:07:13 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=5065</guid>
		<description><![CDATA[Cheat sheets completos sobre HTML5.]]></description>
			<content:encoded><![CDATA[<p>Ter sempre um guia de referência sobre qualquer tipo de linguagem é sempre bom. Ainda mais quando é completo e  atual. O pessoal do WDL nos presenteou com <a href="http://www.inmotionhosting.com/infographics/html5-cheat-sheet/">uma série de Cheat Sheets</a> sobre HTML5. </p>
<p>Os guias são divididos em 3 gráficos: Um mostra as novas tags, o segundo mostra os eventos e atributos e o terceiro mostra o suporte dos browsers.</p>
<p>Cada Cada um diferencia as características novas, existentes ou não suportadas do HTML5. O visual deles é bem simples e muito fácil de entender. O mais legal é que dá para imprimir e deixar à vista para quando você ou a equipe precisarem.</p>
<h3>HTML5 Tags Cheat Sheet</h3>
<p><a href="http://www.inmotionhosting.com/infographics/html5-cheat-sheet/" target="_blank"><img src="http://www.inmotionhosting.com/infographics/_img/html5_cheat_sheet_tags-670x460.png" width="670" height="460" border="0" alt="HTML5 Cheat Sheet - Tags" /></a></p>
<p>HTML5 Cheat Sheet By InMotion Hosting &#8211; A <a href="http://www.inmotionhosting.com/vps_hosting.html">Virtual Private Servers</a> Provider</p>
<h3>HTML5 Event Handler Content Attribute Cheat Sheet</h3>
<p><a href="http://www.inmotionhosting.com/infographics/html5-cheat-sheet/#eventhandler" target="_blank"><img src="http://www.inmotionhosting.com/infographics/_img/html5_cheat_sheet_event_attributes-670x460.png" width="670" height="460" border="0" alt="HTML5 Cheat Sheet - Event Handler Attributes" /></a></p>
<p>HTML5 Cheat Sheet By InMotion Hosting &#8211; A <a href="http://www.inmotionhosting.com/">Web Hosting</a> Provider</p>
<h3>HTML5 Browser Support Cheat Sheet</h3>
<p><a href="http://www.inmotionhosting.com/infographics/html5-cheat-sheet/#browsersupport" target="_blank"><img src="http://www.inmotionhosting.com/infographics/_img/html5_cheat_sheet_browser_support-670x460.png" width="670" height="460" border="0" alt="HTML5 Cheat Sheet - Browser Support" /></a></p>
<p>HTML5 Cheat Sheet By InMotion Hosting &#8211; A <a href="http://www.inmotionhosting.com/dedicated_servers.html">Dedicated Server</a> Provider</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/declarando-idiomas-no-html/" title="Declarando idiomas no HTML">Declarando idiomas no HTML</a></li><li><a href="http://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://tableless.com.br/estruturacao-de-client-side-preprocessadores-framewoks-e-bibliotecas-parte-1/" title="Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas">Estruturação de Client-side &#8211; Parte 1: Préprocessadores, Framewoks e Bibliotecas</a></li><li><a href="http://tableless.com.br/drops-2-a-palavra-marcacao-do-html/" title="Drops 2 &#8211; A palavra Marcação do HTML">Drops 2 &#8211; A palavra Marcação do HTML</a></li><li><a href="http://tableless.com.br/sections-html5/" title="Sections: seções do HTML5 – Parte 1">Sections: seções do HTML5 – Parte 1</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/guia-de-referencia-de-html5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Experiência deve ter começo, meio e fim</title>
		<link>http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/</link>
		<comments>http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 23:55:31 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Móvel]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[Usabilidade]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[usabilidade]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=4549</guid>
		<description><![CDATA[A experiência do usuário precisa ser a melhor possível independente do meio de acesso utilizado.]]></description>
			<content:encoded><![CDATA[<p><small>Esse artigo pode parecer meio confuso, mas é apenas um pensamento que estive matutando. Não ligue se a ordem das ideias estiverem tortas e sinuosas. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </small></p>
<p>Tive uma experiência muito ruim no primeiro dia de 2010: pulei na piscina com meu iPhone no bolso.<br />
Ok, pode me xingar agora. </p>
<p>Depois da tragédia, ele durou rápidos 5 segundos, e faleceu. Não ligava, não apitava, não fazia nada. &#8220;Paciência&#8221;, falei para mim mesmo. No dia seguinte peguei um celular reserva que eu tinha guardado: um HTC Touch, com Windows Mobile 6 (não Windows Phone). Foi então que eu notei o porque o trabalho da Apple vicia os consumidores.</p>
<p>Estamos bem acostumados a utilizar um notebook ou um computador desktop, com monitor, teclado e mouse. A interface do sistema muitas vezes parece desaparecer quando se abre o navegador. A experiência de uso dos periféricos já é bastante conhecida e isso facilita muito a forma com que o usuário interaje com a interface. Há uma harmonia, se é que você me entende. A mesma coisa é dificil de acontecer quando utilizamos um dispositivo mobile. Em um dispositivo móvel você precisa de foco. Não há espaço para milhares de botões com dezenas de ações. É SIM e NÃO. É OK ou CANCELAR e mais nada. O que não é o caso do Windows Mobile. O Windows Mobile foi feito daquele jeito Microsoft. Muito, mas muito diferente do Windows Phone que está um primor. Com uma interface totalmente repensada, do zero, onde seu visual se integra com os outros sistemas da marca. Há uma homogeneidade na experiência do usuário quando ele usa a Live do XBOX, o Windows Phone e o Windows 8. A experiência é cross-platform. A Apple faz isso durante anos. E durante todos estes anos esse foi seu segredo. O famoso &#8220;eco sistema Apple&#8221;. Tudo funciona muito bem quando estamos com nossos iPhones, iPads, MacBooks e iPods. Se eu tenho um iPad, mas utilizo um PC, algo fica estranho. Funciona, mas fica estranho.</p>
<p>Assim como sistema dos mobiles, os sites precisam seguir a mesma fórmula de simplicidade e foco. Por isso, criar sites para mobiles é uma arte. É um jogo de prioridades. Você precisa saber o que é importante na página e focar naquilo. Há um bom trabalho de arquitetura de informação que precisa ser feito. E não se engane, as vezes é muito mais dificil desenvolver um projeto de arquitetura para mobiles do que para versões full.</p>
<p>O iPhone, e agora o Windows Phone, se destacam muito por conta dessa harmonia que citei acima. Há uma ligação em tudo ali. Quando você aciona o Safari, ele tem uma interface intuitiva, bem acabada e que não agride a usabilidade do site. O iPhone tem um browser 100% atualizado com os Padrões Web e isso ajuda um bocado o desenvolvimento de interfaces inteligentes.<br />
E a Apple se preocupa com essa harmonia da qual estamos falando, ela prepara uma série de materiais que ajudam os desenvolvedores. São guias de desenvolvimento e referência com os princípios de design e usabilidade que garantem a experiência completa. Por causa disso os desenvolvedores e designers fazem ótimos apps, tornando a experiência do usuário completa e uniforme durante o uso do dispositivo.</p>
<p>É por isso que a vale a pena municiar os desenvolvedores e designers do mundo todo, para que a experiência não termine quando o consumidor feche o seu aplicativo ou abra o navegador. Experiência tem começo, meio e fim. A Apple se preocupa com essas etapas. Ela sabe que se o site abrir &#8220;quebrado&#8221; o consumidor vai xingar primeiro o aparelho e não site. Tudo é uma única experiência. Começa no sistema do aparelho e termina no site de um terceiro.</p>
<p>O resto dos aparelhos começam pecando por ter um browser ruim ou uma interface de uso complicada. Na maioria os browsers não dão suporte algum aos Padrões. Isso é um pecado. Se eu tenho um Smartphone, eu passarei mais tempo na internet, conectado, do que falando ao telefone. Esse é apenas um ponto sobre o porque um dispositivo móvel precisa ter um browser decente.</p>
<p>O usuário tem uma boa experiência quando consegue com sucesso a informação que procurava, sem bloqueios. Se ele consegue passar esse processo com sucesso, como se o dispositivo (mobile, desktop, notebook, leitor e tela etc) e o site/sistema fossem transparentes, aí cumprimos com o nosso dever.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/parser-html5-firefox4/" title="Novo parser HTML5 &#8211; FF4">Novo parser HTML5 &#8211; FF4</a></li><li><a href="http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/" title="PDF &#8211; Browsers antigos: guerra contra o terror">PDF &#8211; Browsers antigos: guerra contra o terror</a></li><li><a href="http://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://tableless.com.br/qualidade-de-imagens-e-densidade-de-pixels/" title="Qualidade de Imagens e densidade de pixels">Qualidade de Imagens e densidade de pixels</a></li><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Performance do seu CSS</title>
		<link>http://tableless.com.br/melhorando-performance-css/</link>
		<comments>http://tableless.com.br/melhorando-performance-css/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 13:00:27 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[otimização]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3331</guid>
		<description><![CDATA[Entenda o que pode melhorar ou piorar a performance de carregamento do seu CSS.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tableless.com.br/modulando-o-css">Modular seu código CSS</a> é uma boa prática para que o website carregue apenas o código necessário para montar a pagina que o visitante está. Por isso não precisamos carregar o código CSS que monta a página de contato uma vez que o usuário está na home, possibilitando um ganho de performance.<br />
Podemos ainda melhorar um pouco mais nossa performance tendo atenção com a forma que escrevemos os seletores do CSS. Há algumas dicas que podemos seguir para que isso seja possível.</p>
<p>O seletor é a alma do CSS. É com ele que o browser procura e captura o elemento que você deseja formatar. Existem diversos seletores que possibilitam a captura de elementos em diversos cenários e necessidades. Com a atualizações dos browsers em relação a padronização do CSS 2.1 e do CSS 3, os desenvolvedores ganharam novos ferramentas e formas de capturar elementos.</p>
<p>Quero que você entenda que essas dicas são sugestões. Não seja um purista cabeça dura. Seja flexível e tolerante com alguns cenários que podem surgir durante o projeto. É bom sempre procurar o meio termo entre performance e velocidade de produção.</p>
<p>Outro ponto para pensar é que a má performance do CSS pode significar muito pouco perto de outros fatores como servidor, performance server-side, peso de imagens e outros fatores. Por isso é importante que você tenha em mente que fazendo as sugestões abaixo não é garantia de que seu site ficará super ultra rápido. =^)</p>
<h3>Processo de leitura</h3>
<p>O browser segue um processo de leitura muito fácil de ser entendido.<br />
Todo o seletorer (se voce não sabe o que é um seletor de CSS, recomendo que leia <a href="http://tableless.com.br/seletores-complexos-do-css?utm_source=Artigo%2BSeletores%2BPerformance&#038;utm_medium=Artigo%2Btableless&#038;utm_campaign=seletores%2Bperformance">isto</a> e <a href="http://tableless.com.br/seletores-agrupados-e-encadeados?utm_source=Artigo%2BSeletores%2BPerformance&#038;utm_medium=Artigo%2Btableless&#038;utm_campaign=seletores%2Bperformance">isto</a> antes de continuar).</p>
<p>O sistema de leitura consiste em encontrar o elemento da extrema direita do seletor. Logo a leitura do seletor começa da direita para a esquerda. A medida que o browser lê o seletor, ele vai encontrando os elementos e só pára quando há um erro no seletor ou não encontra o elemento.</p>
<p>Tenha como exemplo este seletor:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ul li a <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>Nesse primeiro momento, ao ler o elemento da direita, o browser seleciona TODOS os elementos <strong>A</strong> da página, independente se ele está ou não dentro de um <strong>LI</strong>.</p>
<p>“The style system matches a rule by starting with the rightmost selector and moving to the left through the rule’s selectors. As long as your little subtree continues to check out, the style system will continue moving to the left until it either matches the rule or bails out because of a mismatch.” – David Hyatt</p>
<h3>Não use IDs ou Classes ligados a tags</h3>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div.<span style="color: #000000; font-weight: bold;">content</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span><br />
div<span style="color: #cc00cc;">#geral</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">.<span style="color: #000000; font-weight: bold;">content</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#geral</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Tente especificar os elementos</h3>
<p>Sempre que puder tente especificar os elementos com IDs ou Classes em vez de escrever seletores longos.</p>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">nav<span style="color: #cc00cc;">#menu</span> ul li a <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.menuitem</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>Eu não gosto muito desta sugestão porque teríamos de colocar uma classe &#8220;menuitem&#8221; em cada um dos ítens do menu. O HTML ficaria horrível. Prefiro fazer como abaixo. Não é a melhor forma (como eu cito no próximo tópico), mas é um meio termo entre performance, flexibilidade e produção de código:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#menu</span> a <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Não misture IDs com nomes de tags e classes</h3>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">button<span style="color: #cc00cc;">#botaoverde</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #6666ff;">.menu</span><span style="color: #cc00cc;">#menuPrincipal</span> <span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong></p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#botaoverde</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#menuPrincipal</span> <span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Não coloque nomes de tags nos nomes de classes</h3>
<p>Muita gente relaciona o nome da tag ao nome da class ou id do CSS. Essa prática pode confundir posteriormente tanto na manutenção quanto no processo de produção por pelo menos dois motivos: <b>1. </b> Você pode atribuir essa classe a elementos diferentes e não somente aquele que você relacionou no nome. <b>2.</b> A classe pode fazer muito mais do que estava descrito inicialmente.<br />
Por isso é interessante que cada nome de Classe seja ÚNICA e não seja relacionada a nenhum elemento em específico.</p>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">li<span style="color: #6666ff;">.selected</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>Bom, mas não muito</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.liselected</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.selected</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Evite seletores filhos</h3>
<p>Sempre tente evitar declarar hierarquia nos seletores. Sempre que puder, coloque o nome do elemento diretamente por meio de class ou id. Mesmo assim tenha em mente a limpeza do seu HTML. Se você já aplicou boa parte dessas sugestões no resto do site, você pode abrir mão em alguns lugares que poderão ser úteis como na criação de um menu.</p>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">section form<span style="color: #cc00cc;">#cadastro</span> fieldset label input<span style="color: #6666ff;">.Text</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">input<span style="color: #00AA00;">&#91;</span>type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text&quot;</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Evite seletores descendentes</h3>
<p>Os seletores descendentes são os seletores tem menos performance no CSS.</p>
<p><strong>EVITE</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">section article h1 <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>É bom, mas nem tanto</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">section <span style="color: #00AA00;">&gt;</span> article <span style="color: #00AA00;">&gt;</span> h1 <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>RECOMENDADO</strong>:</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.tituloh1</span> <span style="color: #00AA00;">&#123;</span>...<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>Claro que é muito complexo colocar uma classe nos títulos do site, ainda mais se os títulos são gerados por outras pessoas. Por isso prefiro, dependendo do site, dependendo do cliente, dependendo de como eu acordar de manhã, utilizar a primeira sugestão, que está marcada para EVITAR. Lembre-se ache o meio termo.</p>
<h4>Referências:</h4>
<ul>
<li><a href="http://blog.archive.jpsykes.com/152/testing-css-performance-pt-2/" rel="external">Testing CSS Performance</a></li>
<li><a href="http://www.stevesouders.com/blog/2009/06/18/simplifying-css-selectors/" rel="external">Simplifying CSS Selectors</a></li>
<li><a href="http://css-tricks.com/more-on-css-selector-performance/" rel="external">More on CSS Selector Performance</a></li>
<li><a href="https://developer.mozilla.org/en/Writing_Efficient_CSS" rel="external">Wrinting Efficient CSS</a></li>
</ul>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://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://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://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><li><a href="http://tableless.com.br/mobilidade-na-cabeca/" title="Mobilidade na cabeça">Mobilidade na cabeça</a></li><li><a href="http://tableless.com.br/breve-introducao-xhtml-mobile-profile/" title="Breve introdução: XHTML Mobile Profile">Breve introdução: XHTML Mobile Profile</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/melhorando-performance-css/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>CSS3 &#8211; Abas com a pseudo-classe :target</title>
		<link>http://tableless.com.br/css3-abas-com-a-pseudo-classe-target/</link>
		<comments>http://tableless.com.br/css3-abas-com-a-pseudo-classe-target/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 17:30:03 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[aprenda]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[tecnicascss]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3298</guid>
		<description><![CDATA[Fazer abas sempre foi muito chato para mim. Agora, os problemas acabaram com o :target. ]]></description>
			<content:encoded><![CDATA[<p>O CSS está cada vez mais facilitando as coisas. Alguns problemas que eram resolvidos apenas via Javascript já podem ser resolvidos inteiramente com CSS. Obviamente que para alguns browsers temos que usar algum script para conseguir a compatibilidade. Mesmo assim, se for já possível utilizar as novas maravilhas do CSS 3 e outras compatibilidades que estão surgindo do CSS 2.1, faça-o já. Você com certeza vai se agradecer um tempo próximo! <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>
<p>Um caso muito comum na produção de sites é a construção de tabs. Todo desenvolvedor já deve ter feito pelo menos uma vez na vida um script de tabs. Com a pseudo-classe :target seus problemas acabaram. </p>
<p>Quando queremos relacionar um link na própria página, utilizamos o recurso de &#8220;âncora&#8221;. Quando colocamos um link com o valor assim:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#nome-da-ancora&quot;</span>&gt;</span>Link<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Falamos para o browser que ao clicar no LINK, ele deve encontrar um ponto na página chamado, nesse exemplo, <strong>nome-da-ancora</strong>. Ele vai encontrar o elemento na página que tenha um ID com esse nome e navegará a barra de rolagem até a posição deste elemento. Você já deve saber disso e já deve ter visto funcionando.</p>
<p>Com a pseudo-classe :target isso ganha nova vida. O :target consegue relacionar isso a um objeto de forma que se você estiver criando abas (tabs), ele mostra automaticamente a aba relacionada. Vamos ao exemplo. Primeiro faça um HTML como o abaixo.</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;itens&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#aba1&quot;</span>&gt;</span>Aba 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#aba2&quot;</span>&gt;</span>Aba 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#aba3&quot;</span>&gt;</span>Aba 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;aba&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;aba1&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Primeira Aba<br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;aba2&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Primeira Aba 2<br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;aba3&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Primeira Aba 3<br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Note um detalhe muito importante: o valor do HREF dos links é exatamente o nome do ID dos DIVs referente ao conteúdo das abas.</p>
<p>Agora, para formatar e deixar bonitinho:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:400px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; * {margin:0; padding:0;}<br />
&nbsp; &nbsp; body {<br />
&nbsp; &nbsp; &nbsp; &nbsp; font:13px verdana, arial, tahoma;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; ul { margin:20px 20px 0; list-style:none;}<br />
&nbsp; &nbsp; li {float:left;}<br />
&nbsp; &nbsp; .itens a {<br />
&nbsp; &nbsp; &nbsp; &nbsp; float:left;<br />
&nbsp; &nbsp; &nbsp; &nbsp; border:1px solid black;<br />
&nbsp; &nbsp; &nbsp; &nbsp; background:gray;<br />
&nbsp; &nbsp; &nbsp; &nbsp; padding:5px 15px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; color:#FFF;<br />
&nbsp; &nbsp; &nbsp; &nbsp; text-decoration:none;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; .itens a:focus {background:red;}<br />
<br />
&nbsp; &nbsp; .aba { padding:0 20px;width:400px; clear:both;}<br />
&nbsp; &nbsp; .aba div {<br />
&nbsp; &nbsp; &nbsp; &nbsp; background:white;<br />
&nbsp; &nbsp; &nbsp; &nbsp; border:1px solid black;<br />
&nbsp; &nbsp; &nbsp; &nbsp; padding:10px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; width:100%;<br />
&nbsp; &nbsp; &nbsp; &nbsp; display:none;<br />
&nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; .aba div:first-child {<br />
&nbsp; &nbsp; &nbsp; &nbsp; display:block;<br />
&nbsp; &nbsp; }</div></td></tr></tbody></table></div>
<p>Note que a última linha está dizendo para que os DIVs referentes às tabs fiquem escondidas e que só a primeira apareça.</p>
<p>A coisa toda acontece aqui, com uma linha de código:</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; .aba div:target {<br />
&nbsp; &nbsp; &nbsp; &nbsp; display:block;<br />
&nbsp; &nbsp; }</div></td></tr></tbody></table></div>
<p>Essa linha entende o valor do HREF do link, capturando o ID referente ao div que o browser deve mostrar.</p>
<p><a href="http://tableless.github.com/tableless/aba-target.html" title="Exemplo de pseudo-classe target">Veja o exemplo completo aqui</a>.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/introducao-ao-css-3d-flip-card/" title="Introdução ao CSS 3D &#8211; Flip Card">Introdução ao CSS 3D &#8211; Flip Card</a></li><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li><li><a href="http://tableless.com.br/css3-modulo-template-layout/" title="CSS3 &#8211; Módulo Template Layout">CSS3 &#8211; Módulo Template Layout</a></li><li><a href="http://tableless.com.br/css3-animation-keyframe/" title="CSS3 &#8211; Animation e regra keyframe">CSS3 &#8211; Animation e regra keyframe</a></li><li><a href="http://tableless.com.br/multiplos-backgrounds-com-css/" title="Múltiplos backgrounds com CSS">Múltiplos backgrounds com CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/css3-abas-com-a-pseudo-classe-target/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Convertidos do Tableless</title>
		<link>http://tableless.com.br/convertidos-tableless/</link>
		<comments>http://tableless.com.br/convertidos-tableless/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 04:47:10 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Bonito de se ver]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Convertidos]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[tecnicascss]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3293</guid>
		<description><![CDATA[Os convertidos do Tableless voltaram. Não preciso dizer mais nada. =^)]]></description>
			<content:encoded><![CDATA[<p>Quem acompanha o <a href="http://tableless.com.br">Tableless</a> desde o começo conhece a história de como este humilde website nasceu. Eu estudava e aprendia CSS com HTML de uma única maneira: praticando. Eu convertia para tableless a home de alguns grandes sites just for fun. Só para provar que a técnica era real, possível e muito melhor que tabelas. O Tableless nasceu quando eu decidi compartilhar este material para outros desenvolvedores. </p>
<p>Este material não estava publicado porque uma das empresas que eu utilizei como estudo me mandou uma simpática carta extrajudicial dizendo que eu estava fazendo cópia indevida e todo aquele blá blá blá e que eu devia tirar o materia deles imediatamente do ar&#8230; Eles com certeza não eram bem humorados. Com medo de outras empresas fazerem o mesmo, tirei logo todos os exemplos publicados.</p>
<p>Neste fim de semana estava jogando algumas coisas fora e encontrei um CD com alguns documentos destes websites convertidos. Você pode verificar e baixar os arquivos <a href="http://tableless.com.br/convertidos/" rel="nofollow">nesta página</a>. Até segunda ordem.</p>
<h4>Atenção:</h4>
<p>Se você é um troll babaca que vai analisar o código só para criticar como foi feito, entenda que o código mais antigo é de pelo menos uns 6 ou 7 anos atrás&#8230; Eu faria tudo diferente. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Se você pertence a alguma empresa listada nos exemplos, tenha em mente que esse material é utilizado apenas para estudo. </p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/css3-abas-com-a-pseudo-classe-target/" title="CSS3 &#8211; Abas com a pseudo-classe :target">CSS3 &#8211; Abas com a pseudo-classe :target</a></li><li><a href="http://tableless.com.br/introducao-ao-css-3d-flip-card/" title="Introdução ao CSS 3D &#8211; Flip Card">Introdução ao CSS 3D &#8211; Flip Card</a></li><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li><li><a href="http://tableless.com.br/css3-animation-keyframe/" title="CSS3 &#8211; Animation e regra keyframe">CSS3 &#8211; Animation e regra keyframe</a></li><li><a href="http://tableless.com.br/css3-breve-introducao-a-rgba/" title="CSS3 &#8211; Breve introdução ao RGBA">CSS3 &#8211; Breve introdução ao RGBA</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/convertidos-tableless/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>PDF &#8211; Browsers antigos: guerra contra o terror</title>
		<link>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/</link>
		<comments>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 14:46:33 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Móvel]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[compatibilidade]]></category>
		<category><![CDATA[internet explorer 6]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3265</guid>
		<description><![CDATA[Não quero que você gaste tempo e dinheiro à toa se você pode ter resultados melhores se mudar um pouco o foco do desenvolvimento. Quero que você entenda que os visitantes que utilizam browsers antigos são sempre a minoria. ]]></description>
			<content:encoded><![CDATA[<p>É muito difícil tomar a decisão de não suportar browsers antigos ao produzir um grande site. Sempre há um número que se elevado a milhões de usuários o problema pode se agravar. Para uma grande empresa que tem 8 milhões de clientes, ignorar 1% destes usuários é algo realmente fora de questão. O ponto é que você não precisa ignorar estes valiosos 1%. Mas também não precisa gastar milhões nem perder muito tempo tentando resolver os problemas que estes usuários trazem para a produção. Nossa ideia aqui é dar a melhor experiência que eles podem ter sem prejudicar os outros 99%.  </p>
<p>Com este pensamento, criei <a href="http://min.us/mQJNYTqOa">um PDF simples</a>, onde cito os principais problemas se prever o desenvolvimento para browsers ou meios de acesso antigos. É um documento onde você poderá imprimir e dar para o seu chefe e integrantes da sua equipe. É uma ferramenta para que você tenha alguma munição para te ajudar a convencer aqueles que tentam insistir no erro de manter uma compatibilidade perfeita entre browsers atuais e browsers de 12 anos.</p>
<p><a href="http://min.us/mQJNYTqOa">Baixar o PDF &#8211; Guerra contra o Terror</a></p>
<p><iframe src="http://www.paywithatweet.com/dlbutton02.php?id=dfc6d017ff33a73cd8932235d62db8d6" name="paytweet_button2" width = "240px" height = "24px" scrolling="No" frameborder="no" id="paytweet_button2"></iframe></p>
<p><strong>Update</strong> A Microsoft anunciou sue a partir de 2012 <a href="http://windowsteamblog.com/ie/b/ie/archive/2011/12/15/ie-to-start-automatic-upgrades-across-windows-xp-windows-vista-and-windows-7.aspx">o IE terá atualização automática  nos sistemas Windows XP, Windows Vista e Windows 7</a>. Isso quer dizer que estamos mais perto da salvação.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li><li><a href="http://tableless.com.br/manipulando-metatag-viewport/" title="Manipulando a metatag Viewport">Manipulando a metatag Viewport</a></li><li><a href="http://tableless.com.br/seu-lugar-ao-sol/" title="Seu lugar ao sol">Seu lugar ao sol</a></li><li><a href="http://tableless.com.br/parser-html5-firefox4/" title="Novo parser HTML5 &#8211; FF4">Novo parser HTML5 &#8211; FF4</a></li><li><a href="http://tableless.com.br/convertidos-tableless/" title="Convertidos do Tableless">Convertidos do Tableless</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>

