<?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>neyRicardo &#187; Tableless</title>
	<atom:link href="http://www.neyricardo.com/blog/category/tableless/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neyricardo.com/blog</link>
	<description>Muito prazer. Meu nome é Ney Ricardo, sou Designer Gráfico e Web Designer. Nesse espaço quero dividir meus interesses, opiniões e experiências. Aceito sugestões, críticas (lógico que só as construtivas), curiosidades e novas idéias... Sinta-se à vontade!</description>
	<lastBuildDate>Wed, 03 Feb 2010 13:53:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mascarenhas Barbosa &amp; Advogados</title>
		<link>http://www.neyricardo.com/blog/2009/03/mascarenhas-barbosa-advogados/</link>
		<comments>http://www.neyricardo.com/blog/2009/03/mascarenhas-barbosa-advogados/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 18:48:24 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Trabalho]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=474</guid>
		<description><![CDATA[Projeto novo! Nesse, aproveitei pra colocar em prática o meu 3D. Um problema comum pra quem compõe um layout é encontrar imagens boas (de preferência free) que possam ajudar a compor o visual do site. E nesse caso, por ser um site de advocacia, achei interessante que tivesse uma balança, símbolo da área. Depois de [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-515" title="mascarenhas" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/mascarenhas.jpg" alt="mascarenhas" width="620" /></p>
<p>Projeto novo! Nesse, aproveitei pra colocar em prática o meu 3D.</p>
<p>Um problema comum pra quem compõe um layout é encontrar imagens boas (de preferência free) que possam ajudar a compor o visual do site. E nesse caso, por ser um site de advocacia, achei interessante que tivesse uma balança, símbolo da área.</p>
<p>Depois de algumas horas procurando, eis que me vem num estalo: &#8220;Por que bão modelar uma balança???&#8221;. &#8220;Claro! Isso eu acho q consigo fazer&#8230;&#8221;.</p>
<p>E aí resultado final no site do cliente: <a href="http://www.mascarenhasbarbosa.adv.br/" target="_blank">Mascarenhas Barbosa &amp; Advogados Associados</a>.</p>
<p>A quem interessar, coloquei também algumas imagens do processo de modelagem, texturização e iluminação do objeto.<br />
<span id="more-474"></span></p>
<p><img class="aligncenter size-full wp-image-516" title="bal01" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal01.jpg" alt="bal01" width="620" /></p>
<p><img class="aligncenter size-full wp-image-517" title="bal02" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal02.jpg" alt="bal02" width="620" /></p>
<p><img class="aligncenter size-full wp-image-518" title="bal03" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal03.jpg" alt="bal03" width="620" /></p>
<p><img class="aligncenter size-full wp-image-519" title="bal04" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal04.jpg" alt="bal04" width="620" /></p>
<p><img class="aligncenter size-full wp-image-520" title="bal05" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal05.jpg" alt="bal05" width="620" /></p>
<p><img class="aligncenter size-full wp-image-521" title="bal06" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal06.jpg" alt="bal06" width="620" /></p>
<p><img class="aligncenter size-full wp-image-522" title="bal07" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal07.jpg" alt="bal07" width="620" /></p>
<p><img class="aligncenter size-full wp-image-523" title="bal08" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/bal08.jpg" alt="bal08" width="620" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/03/mascarenhas-barbosa-advogados/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>CSS Inner Border</title>
		<link>http://www.neyricardo.com/blog/2009/02/css-inner-border/</link>
		<comments>http://www.neyricardo.com/blog/2009/02/css-inner-border/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 04:32:08 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=445</guid>
		<description><![CDATA[Quem nunca perdeu alguns bons minutos tentando fazer aquele efeitinho nas imagens do Globo.com e do G1? Onde uma imagem qualquer num instante está sem borda e no outro, ao passar o mouse por cima, é emoldurada por uma borda que parece crescer de fora pra dentro. Nunca viu? Dê uma olhada nos sites que [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.neyricardo.com/2009/02/css-inner-border/"><img class="aligncenter size-full wp-image-525" title="inner_border" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/inner_border.jpg" alt="inner_border" width="620" /><br />
</a></p>
<p>Quem nunca perdeu alguns bons minutos tentando fazer aquele efeitinho nas imagens do <a href="http://globo.com" target="_blank">Globo.com</a> e do <a href="http://g1.globo.com/" target="_self">G1</a>? Onde uma imagem qualquer num instante está sem borda e no outro, ao passar o mouse por cima, é emoldurada por uma borda que parece crescer de fora pra dentro.</p>
<p>Nunca viu? Dê uma olhada nos sites que eu citei acima.</p>
<p>Interessou? Continue lendo&#8230;<span id="more-445"></span></p>
<p>Quando vi pela primeira vez achei que era uma simples sobreposição de imagens. Mas como seria possível fazer isso em imagens com tamanhos variados?!</p>
<p>Depois fiz alguns testes com bordas e acabei chegando a uma conclusão: Bruxaria! Só assim seria possível fazer o efeito no site inteiro não importando o tamanho da imagem.</p>
<p>Então, depois de uma boa pesquisada e alguns testes, descobri que era mais fácil do que imaginava e escrevi esse código mínimo:</p>
<p><script src="http://pastie.org/401747.js" type="text/javascript"></script></p>
<p>O segredo está nas linhas 8 a 11. É muito importante que os elementos &#8216;<em>a</em>&#8216; e &#8216;<em>img</em>&#8216; tenham as propriedades <em>float</em> e <em>overflow</em> conforme mostra o código acima, só assim é possível forçar uma <strong>margem negativa</strong> na imagem fazendo com que o link invada a área ocupada pela imagem.</p>
<p>Feito isso basta cuidar para que a espessura da borda tenha o mesmo valor me pixels que a margem negativa da imagem.</p>
<p><img class="aligncenter size-full wp-image-526" title="inner_border_anim" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/inner_border_anim.gif" alt="inner_border_anim" width="620" /></p>
<p>Eu sei, eu sei&#8230; O GIF é tosco mas ficou bom de entender, né? Fala sério&#8230;</p>
<p>Bom, trocando em miúdos: O link entra, a borda sai.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/02/css-inner-border/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>É Transitional mas é meu&#8230;</title>
		<link>http://www.neyricardo.com/blog/2009/02/e-transitional-mas-e-meu/</link>
		<comments>http://www.neyricardo.com/blog/2009/02/e-transitional-mas-e-meu/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 09:45:19 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=429</guid>
		<description><![CDATA[Há algum tempo, meu caro colega Carlos deu uma lida em alguns artigos sobre padrões web e me aconselhou a começar a escrever meu HTML usando o cabeçalho DTD (DocType Definition) Strict, pois isso tornaria meu HTML mais estável e teria que fazer menos gambiarras. Sem questionar, alterei minha configuração do Dreamweaver pra que meus [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-529" title="doctype" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/doctype.png" alt="doctype" width="620" /></p>
<p>Há algum tempo, meu caro colega <a href="http://froskie.com/blog/" target="_blank">Carlos</a> deu uma lida em alguns artigos sobre padrões web e me aconselhou a começar a escrever meu HTML usando o cabeçalho DTD (DocType Definition) Strict, pois isso tornaria meu HTML mais estável e teria que fazer menos gambiarras.</p>
<p>Sem questionar, alterei minha configuração do Dreamweaver pra que meus documentos HTML passassem a ser criados no modo Strict.</p>
<p>Se melhorou?! Claro que não. Na verdade não mudou nada, mas não por causa do Doctype e sim porque eu não me preocupava com a semântica correta.</p>
<p>Bem, um cabeçalho Doctype nada mais é do que um arquivo que contem as definições de todos os elementos HTML e informa ao browser a maneira que os elementos devem ser renderizados. Dá uma olhada na criança: <a href="http://pastie.org/386449" target="_blank">DTD/xhtml1-strict.dtd</a>. Dá pra até arriscar dizer que você pode desenvolver seu próprio DTD, mas pra quê? O deles já tá pronto&#8230;</p>
<p>Mas isso não vem ao caso. A questão é que há uma certa discussão sobre qual o melhor Doctype: Transitional ou Strict?</p>
<p>Pelo que andei lendo é melhor que você escreva seu código usando o modo Strict pois, segundo alguns especialistas, o futuro dos browsers caminha rumo a este padrão.</p>
<p>Qual a diferença?! Simples. No <strong>Transitional</strong> você pode usar tags e atributos depreciados (ou deprecated em inglês) em seu HTML, tais como a tag <strong>&lt;font&gt;</strong>. Já no modo <strong>Strict</strong> você tem que ficar esperto com as atualizações da W3C, pois na hora que ela achar melhor ela vai e deprecia alguma tag que você adora.</p>
<p>Foi o que aconteceu com tags como <strong>&lt;center&gt;</strong>, muito útil pra você não ter criar um estilo de centralizar, e com o atributo <strong>target</strong> da tag <strong>&lt;a&gt;</strong> de link. Pois é, agora não se pode nem criar um link que abra em outra janela pra não sair do seu site, pra isso muitos andam usando até jQuery só pra que o link funcione do jeito que você quer.</p>
<p>Evolução?! Acho que nesse caso foi o contrário, pois temos que escrever mais pra conseguir coisas simples.</p>
<p>O DTD do meu blog é Transitional&#8230; mas não por incapacidade de escrever meu HTML no modo <strong>Strict</strong> e sim porque prefiro usar um <strong>target</strong> do que uma função inteira que vai fazer a mesma coisa.</p>
<p>Quanto à semântica, permanece a mesma. Valem as mesmas regras pra ambos. Com a diferença de se ter mais tags e atributos disponíveis em um dos DTD&#8217;s.</p>
<p>Não te acrescentou em nada? Então leia de quem entende:</p>
<ul>
<li><a href="http://www.alistapart.com/stories/doctype/">Doctype</a> &#8211; A list apart</li>
<li><a href="http://www.blackwidows.co.uk/resources/tutorials/xhtml/attribute-comparison.php">XHTML 1.0 Elements Attributes by DTD</a></li>
<li><a href="http://24ways.org/2005/transitional-vs-strict-markup">Transition vs Strict Markup</a></li>
<li><a href="http://revolucao.etc.br/archives/o-que-e-quirks-mode/">Quirks Mode</a></li>
<li><a href="http://revolucao.etc.br/archives/doctype-dtd-document-type-definition/">Doctype &#8211; DTD &#8211; Document Type Definition</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/02/e-transitional-mas-e-meu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Biz Mídia Inteligente</title>
		<link>http://www.neyricardo.com/blog/2009/02/biz-midia-inteligente/</link>
		<comments>http://www.neyricardo.com/blog/2009/02/biz-midia-inteligente/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 13:08:12 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Trabalho]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=435</guid>
		<description><![CDATA[Lançamos (nós da dothCom) hoje o site da Biz Mídia Inteligente. Esse projeto é o primeiro de uma série de projetos novos que receberão um tratamento especial em SEO e semântica de HTML e CSS válidos, em outras palavras, mais capricho na hora de escreve o código. Comecei a prestar mais atenção nesse detalhe da [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bizmidiainteligente.com.br/" target="_blank"><img class="aligncenter size-full wp-image-531" title="biz" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/biz.png" alt="biz" width="620" /><br />
</a></p>
<p>Lançamos (nós da <a href="http://dothcom.net/" target="_blank">dothCom</a>) hoje o site da <a href="http://www.bizmidiainteligente.com.br/" target="_blank">Biz Mídia Inteligente</a>. Esse projeto é o primeiro de uma série de projetos novos que receberão um tratamento especial em <a href="http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank">SEO</a> e semântica de HTML e CSS válidos, em outras palavras, mais capricho na hora de escreve o código.</p>
<p>Comecei a prestar mais atenção nesse detalhe da semântica depois que passei a me aprofundar mais ainda nas questões do crossbrowsing, que nada mais é do que a possibilidade de visualização do site nos mais variados browsers e sistemas.</p>
<p>Já que não tenho como testar os códigos em outros sistemas (até tenho, mas me falta saco pra isso), faço o possível pra manter um código simples e semanticamente correto (vou falar mais sobre isso no futuro).</p>
<p>Fruto dessa nova forma de pensar, lhes apresento o site (no ar) validado diretamente no site da <a href="http://www.w3.org/" target="_blank">W3C</a>:</p>
<ul>
<li><a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.bizmidiainteligente.com.br%2F&amp;charset=(detect+automatically)&amp;doctype=Inline&amp;group=0" target="_blank">HTML válido</a></li>
<li><a href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.bizmidiainteligente.com.br%2F&amp;profile=css21&amp;usermedium=all&amp;warning=1&amp;lang=pt-BR" target="_blank">CSS válido</a></li>
</ul>
<p>Ouso até em dizer que além de tudo ficou bonitinho (ou no mínimo honesto).</p>
<p>Obrigado pela atenção e um abraço pro gaitêro!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/02/biz-midia-inteligente/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PXtoEM.com</title>
		<link>http://www.neyricardo.com/blog/2009/01/pxtoemcom/</link>
		<comments>http://www.neyricardo.com/blog/2009/01/pxtoemcom/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 10:00:59 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[px to em]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=413</guid>
		<description><![CDATA[Em uma de minhas conversas com meu amigo Renan, ele me perguntou se eu já usei a unidade de medida &#8220;EM&#8221; para textos em meu CSS. Respondi que ultimamente tenho usado a unidade sim. O &#8220;EM&#8221; é uma unidade derivada da porcentagem, ou seja, se você definir um tamanho em uma determinada região do código [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-537" title="pxtoem" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/pxtoem.jpg" alt="pxtoem" width="620" /></p>
<p>Em uma de minhas conversas com meu amigo <a href="http://renanteles.deviantart.com/" target="_blank">Renan</a>, ele me perguntou se eu já usei a unidade de medida &#8220;EM&#8221; para textos em meu <a href="http://pt.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">CSS</a>. Respondi que ultimamente tenho usado a unidade sim.</p>
<p>O &#8220;EM&#8221; é uma unidade derivada da porcentagem, ou seja,  se você definir um tamanho em uma determinada região do código poderá fazer com que os textos que descendem dela tenham tamanhos relativos a uma determinada percentagem do valor definido nela.</p>
<p>Algumas pessoas costumam dizer que é uma medida de acessibilidade, conforme o próprio Renan me informou. Mas particularmente não vejo utilidade para o usuário pois cada browser trata isso da forma que acha melhor. Mas em nível de desenvolvimento com certeza é uma mão na roda pois os textos manterão sempre a mesma proporção, consequentemente o programador só precisará mudar um valor: O valor-base, que serve como base para os cálculos de proporção.</p>
<p>Particularmente costumo definir apenas o <em>font-size</em> da tag <em>body</em>, assim quando tiver que alterar os tamanhos da página inteira só preciso mexer no tamanho do <em>body</em>.</p>
<p>Para me ajudar nessa missão descobri um site bastante útil: <a href="http://pxtoem.com/" target="_blank">PXtoEM.com</a>. O site é totalmente auto-explicativo e ainda traz toda a teoria sobre as medidas e como usá-las. Como se não bastasse ainda traz um CSS Text Reset baseado na base que você escolher.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/01/pxtoemcom/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Grids, grids, grids!</title>
		<link>http://www.neyricardo.com/blog/2009/01/grids-grids-grids/</link>
		<comments>http://www.neyricardo.com/blog/2009/01/grids-grids-grids/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 12:58:50 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=399</guid>
		<description><![CDATA[Quem mexe com diagramação, principalmente de revistas, jornais e impressos em geral, sabe a importância de se usar um grid. O trabalho fica com uma aparência mais organizada e harmônica. Não vou me aprofundar nesse assunto não quero demorar muito nessa história, mas em essência um bom grid é regular, ou seja, todas as linhas [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-543" title="960" src="http://www.neyricardo.com/blog/wp-content/uploads/2009/06/960.jpg" alt="960" width="620" />Quem mexe com diagramação, principalmente de revistas, jornais e impressos em geral, sabe a importância de se usar um grid. O trabalho fica com uma aparência mais organizada e harmônica.</p>
<p>Não vou me aprofundar nesse assunto não quero demorar muito nessa história, mas em essência um bom grid é regular, ou seja, todas as linhas do têm a mesma altura, assim como todas as colunas têm a mesma largura. E nesse espaço você dispõe o conteúdo de forma que o mesmo respeite as delimitações de espaço definidas pelo grid.</p>
<p>Pensando nisso, o web designer <a href="http://technorati.com/people/technorati/nathansmith/" target="_blank">Nathan Smith</a> desenvolveu um framework em CSS chamado <a href="http://960.gs" target="_blank"><strong>960 Grid System</strong></a>, que nos possibilita economizar tempo escrevendo menos código. Não vou explicar como funciona, para isso basta ir ao site do grid ao site e dar uma lida.</p>
<p>Já o utilizei algumas vezes e fiquei satisfeito com o resultado, mas confesso que tive que fazer algumas gambiarras pois o grid é um tanto inflexível. Em compensação muitos problemas dos diferentes browsers são prevenidos direto no código.</p>
<p>No pacote está incluso ainda um CSS de reset que, aliás, é o mesmo que eu citei no <a href="http://blog.neyricardo.com/2009/01/reseta-tudo-ae/" target="_self">post anterior</a>.</p>
<p>Em geral o grid realmente economiza código, mas não é definitivo, quero testar outros frameworks pra ver qual é mais útil e, quem sabe, desenvolver meu próprio grid se necessário.</p>
<p><strong>Visão Geral:</strong> HTML mais limpo e padronizado, menos linhas de CSS pra escrever, menos tempo de código, limitações no layout.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/01/grids-grids-grids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reseta tudo aê!!!</title>
		<link>http://www.neyricardo.com/blog/2009/01/reseta-tudo-ae/</link>
		<comments>http://www.neyricardo.com/blog/2009/01/reseta-tudo-ae/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 02:35:57 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[cross browser]]></category>
		<category><![CDATA[css reset]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=381</guid>
		<description><![CDATA[Hoje, em uma conversa com meu ex colega de trabalho, Renan Teles, que comentou que gosta de ver dicas de desenvolvimento web aqui no blog, em especial técnicas de programação tableless. Coincidentemente eu já vinha pensando em escrever algo sobre um assunto conhecido por poucos programadores e usado por menos desenvolvedores ainda: é o CSS [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-394" title="reset" src="http://neyricardo.com/blog/wp-content/uploads/2009/01/reset1.jpg" alt="reset" width="620" /></p>
<p>Hoje, em uma conversa com meu ex colega de trabalho, Renan Teles, que comentou que gosta de ver dicas de desenvolvimento web aqui no blog, em especial técnicas de programação tableless.</p>
<p>Coincidentemente eu já vinha pensando em escrever algo sobre um assunto conhecido por poucos programadores e usado por menos desenvolvedores ainda: é o <strong>CSS Reset</strong>. Meu ex chefe, <a href="http://froskie.com/blog" target="_blank">Carlos Gustavo</a> (também conhecido como B1), foi quem me apresentou ao conceito, mas eu ainda não tinha tido tempo de estudar sobre o assunto e não utilizava. Depois, com mais tempo fui analizando e acabei montando um &#8220;pacote&#8221; que incluo em todos os sites que desenvolvo antes de começar a escrever os estilos.</p>
<p>Um CSS Reset é um documento <a href="http://pt.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">CSS</a> que pré define o comportamento e as propriedades de todos os elementos HTML a fim de que todos sejam renderizados de acordo com um só padrão,  ao invés de deixá-los à mercê dos diferentes browsers.</p>
<p>A vantagem de ter um documento que &#8216;reseta&#8217; todos os elementos é que você terá todos os objetos HTML se comportando da mesma forma em todos os browsers (ou pelo menos deveria). É como se todos os objetos fossem &#8216;zerados&#8217; e estivessem prontos para receber suas instruções sobre como devem se comportar dali pra frente.</p>
<p>Consequentemente, você não precisa escrever tantos hacks pra ficar corrigindo akeles elementos rebeldes que aparecem de uma forma no IE e de outra no Firofox, por exemplo.</p>
<p>Agora vou me aprofundar e falar sobre este pacote que eu preparei e no final tem um link pra download do mesmo.</p>
<p><span id="more-381"></span></p>
<h3>O problema dos browsers</h3>
<p>Em primeiro lugar vem, obviamente, o CSS Reset desenvolvido e gentilmente cedido à comunidade pelo americano <a href="http://meyerweb.com/eric/tools/css/reset/" target="_blank">Eric Meyer</a>, um dos mestres do CSS, ex <em>Standards Evangelist</em> da <a href="http://www.linkedin.com/companies/netscape?trk=ppro_cprof&amp;lnk=vw_cprofile" target="_blank">Netscape Communications</a>. Observe o código:</p>
<p><script src="http://pastie.org/385901.js" type="text/javascript"></script> Compactei o código, tirando todos os comentários, quebras de linha e espaços inúteis a fim de minimizar o tamanho do arquivo, e também pelo fato de ser um arquivo que eu não precisarei alterar nunca mais, e salvei como <strong>reset.css</strong>.</p>
<h3>O problema do PNG transparente</h3>
<p>Resolvido o problema dos browsers agreguei ao pacote a solução para um problema antigo do <strong>Internet Explorer 6: </strong>a correta renderização de imagens PNG com transparência. Como todos já devem saber o IE6 não renderiza um PNG transparente com transparência, ao invés disso ele renderiza a imagem com um background cinza.  Como este é um problema específico do IE6, não há necessidade de sujar o código com um hack para IE, então criei um documento CSS específico para ele chamado: <strong>iehacks.css</strong>, onde devem ser agrupados todos os hacks para IE. Mais tarde eu explico como deve ser feita a inclusão deste documento no HTML.  Voltando ao PNG&#8230;  a melhor solução para este problema vem de uma experiência antiga minha com arquivos do tipo <a href="http://msdn.microsoft.com/en-us/library/ms531018(VS.85).aspx" target="_blank"><strong>HTC</strong></a> (HTML Component), dos quais eu usava bastante quando trabalhava na <a href="http://www.yotsuba.com.br/" target="_blank">Yotsuba</a>.  O <strong>HTC</strong> nada mais é que um código escrito em JavaScript que funciona como componente do browser pra qualquer funcionalidade que você determinar. Para usá-lo basta referenciar o caminho do arquivo com a propriedade de CSS <em><strong>behavior</strong></em>, que só funciona no IE. <strong>Detalhe</strong>: já vou adiantando que os HTC também só são interpretados pelo IE, o que é uma pena pois seria ótimo desenvolver componentes em JS e escondê-los no meio do CSS, não é mesmo?  Pois bem adaptei o JS que corrige o problema do PNG a este HTC, salvei como <strong>pngfix.htc</strong> e referenciei-o dentro do arquivo <strong>iehacks.css</strong>.  E o <strong>iehacks.css</strong> ficou assim:<br />
<script src="http://pastie.org/385903.js" type="text/javascript"></script></p>
<p>Ok, feito isso agrupamos tudo e fechamos o pacote pra ser usado em todos os projetos antes de começar a escrever os estilos da página. Logo, temos:</p>
<ul>
<li>reset.css</li>
<li>iehacks.css</li>
<li>pngfix.htc</li>
<li>blank.gif</li>
</ul>
<p>Como você deve ter percebido eu citei o arquivo <strong>blank.gif</strong> mas não disse pra que serve. O GIF serve simplesmente pro bom funcionamento da função JS que regulariza os PNGs e nada mais é que um gif transparente de 1x1px, ou seja, quase não ocupa espaço no servidor.</p>
<h3>Como usar o pacote</h3>
<p><a href="http://blog.neyricardo.com/download/5"><img class="aligncenter size-full wp-image-388" title="dcp" src="http://neyricardo.com/blog/wp-content/uploads/2009/01/dcp1.gif" alt="dcp" width="226" height="72" /></a></p>
<p>Descompacte a pasta <strong>css</strong> contida no arquivo <strong>css_hack_pack.rar</strong> que você baixou e copie para a raiz do projeto. É muito importante que todos os arquivos estejam dentro da pasta <strong>css</strong>, ou o pacote não vai funcionar muito bem, a menos que você entenda o que cada um faz e altere o que for necessário, caso contrário não é preciso mudar nada.</p>
<p>No cabeçalho do HTML você deve incluir os arquivos <strong>exatamente</strong> na ordem que é mostrado no código abaixo (já explico o motivo):</p>
<p><script src="http://pastie.org/385905.js" type="text/javascript"></script></p>
<p>Na linha 1 temos o <strong>CSS Reset</strong> abrindo caminho para os novos estilos que você vai escrever.</p>
<p>Na linha 2, <strong>padrao.css</strong>, mas pode levar o nome que você preferir, é chamado o documento com os estilos que modelam a página de acordo com seu layout e que você mesmo vai escrever.</p>
<p>Nas linhas 3 a 5 acontece a inclusão do documento que contém os hacks de IE, <strong>iehacks.css</strong>, e vem por último justamente pra corrigir o que ficou errado no IE. Deve ser incluído da forma que está aí mesmo, pois tudo que vier dentro deste comentario só será interpretado pelo Internet Explorer e desta forma seu CSS não ficará inválido. Mais informações sobre esta sintaxe e como usá-la aqui: <a href="http://www.maujor.com/tutorial/ie7-hack.php">Tutorial CSS &#8211; IE7 e Hacks CSS</a>.</p>
<p>Bom, espero que isso tudo tenha sido útil assim como está sendo pra mim.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2009/01/reseta-tudo-ae/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Tudo que você sabe sobre CSS está errado!!!</title>
		<link>http://www.neyricardo.com/blog/2008/11/tudo-que-voce-sabe-sobre-css-esta-errado/</link>
		<comments>http://www.neyricardo.com/blog/2008/11/tudo-que-voce-sabe-sobre-css-esta-errado/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 06:10:54 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Trabalho]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=216</guid>
		<description><![CDATA[Isso foi o que Rachel Andrew, uma colunista britânica do site Digital Web Magazine &#8220;cuspiu&#8221; (acho que o melhor termo seria &#8220;vomitou&#8221;, ou daí pra baixo&#8230;) em seu artigo Everything You Know About CSS Is Wrong para o site. Tudo se baseia na propriedade de CSS display de um elemento que for atribuído o valor [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://neyricardo.com/blog/2008/11/tudo-que-voce-sabe-sobre-css-esta-errado/"><img class="aligncenter size-full wp-image-236" title="display-table" src="http://neyricardo.com/blog/wp-content/uploads/2008/11/display-table1.gif" alt="" /></a></p>
<p>Isso foi o que <a href="http://www.digital-web.com/about/contributors/rachel_andrew" target="_blank">Rachel Andrew</a>, uma colunista britânica do site <a href="http://www.digital-web.com/" target="_blank">Digital Web Magazine</a> &#8220;cuspiu&#8221; (acho que o melhor termo seria &#8220;vomitou&#8221;, ou daí pra baixo&#8230;) em seu artigo <a href="http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/" target="_blank"><strong><em>Everything You Know About CSS Is Wrong</em></strong></a> para o site.</p>
<p><span id="more-216"></span>Tudo se baseia na propriedade de <a href="http://pt.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">CSS</a><em> <a href="https://developer.mozilla.org/en/CSS/display" target="_blank">display</a></em> de um elemento que for atribuído o valor <em>table</em> ou derivados.</p>
<p>A regra é a seguinte:</p>
<ul>
<li>O elemento-pai deve ser do tipo <em>display: table</em>;</li>
<li>os filhos devem ser <em>display: table-row</em>, para linhas da tabela;</li>
<li>e dentro dos filhos <em>display: table-cell</em>, para se comportar como uma coluna da tabela.</li>
</ul>
<p>Veja o código abaixo:</p>
<h3>CSS</h3>
<pre lang="css" line="1">
#main {
	display: table;
	border-collapse: collapse;}
#nav {
	display: table-cell;
	width: 180px;
	background-color: #e7dbcd;}
#extras {
	display: table-cell;
	width: 180px;
	padding-left: 10px;
	border-right: 1px dotted #d7ad7b;}
#content {
	display: table-cell;
	width: 380px;
	padding-left: 10px;}
</pre>
<h3>HTML</h3>
<pre lang="html4strict" line="1">
<div id="wrapper">
<div id="main">
<div id="nav"> ⋮ navigation column content…</div>
<div id="extras"> ⋮ news headlines column content…</div>
<div id="content"> ⋮ main article content…</div>
</div>
</div>
</pre>
<p>Na teoria, isso deveria funcionar como uma tabela, o que resolveria 90% dos nossos problemas pois economizaríamos um bom tempo deixando de fazer validações pra corrigir erros de posicionamento e altura de uma coluna de conteúdo.</p>
<p>Eu, como bom &#8220;desenvolvedor Client-side&#8221; (aprendi essa esses dias num e-mail sobre padrões da <a href="http://www.w3.org/" target="_blank">W3C</a>, com o <a href="http://www.brunodulcetti.com/blog/" target="_blank">Bruno Dulcetti</a> &#8211; que, por acaso é desenvolvedor client-side da Globo.com), fui verificar a notícia, e tive duas surpresas.</p>
<p>A primeira é que: na arquitetura de um site com estrutura <a href="http://pt.wikipedia.org/wiki/Tableless" target="_blank">Tableless</a> você pode fazer com que suas DIV&#8217;s se comportem como células de uma tabela, e esse comportamento inclui: alinhamento vertical e horizontal (maravilha!!!) e controle de altura, ou seja, no fim das contas você faz uma tabela sem usar tabelas&#8230; E, segundo os testes que eu fiz funciona realmente! Fantástico&#8230;</p>
<p>A segunda surpresa (mas nem é tão surpresa assim, pois já era de se esperar&#8230;) é que essa façanha funciona em todos os browsers &#8216;alternativos&#8217;, com exceção para, óbviamente quem?! Quem?! Quem?!?!?!?! <strong>Internet Explorer!!!</strong> Como não poderia deixar de ser&#8230;</p>
<p>Então a <strong>incoerente </strong><em>Rachel &#8216;sei lá o quê&#8217;</em> esqueceu de mencionar que a tal propriedade só passará a funcionar a partir do <strong>Internet Explorer 8!!!</strong> Vejam só que absurdo!!!</p>
<p>Alguém aí usa, conhece agluém que usa, ou simplesmente já ouviu alguma lenda sobre alguém que já testou o <strong>Internet Explorer 8</strong>?!</p>
<p>Pois eu conheço!!!</p>
<p>Meu colega de trabalho Shiguenori (acho que é assim que se escreve), vulgo Japonês, já testou a versão BETA do tal IE8, e constatou que o IE8 não dá conta de renderizar sequer o site da própria <a href="http://www.microsoft.com/" target="_blank">Microsoft</a>.</p>
<p>Mas nós, esforçados desenvolvedores de web, que prezamos pela boa qualidade e funcionalidade de nossos sites temos esperança de que algum dia, em um futuro breve, a Microsoft vai abolir essa filosfia babaca de desenvolver um browser exclusivo para interesses dela própria e coloque no mercado um browser que atenda às exigências da W3C e facilite nossas vidas.</p>
<p>Mas isso só vai acontecer quando o IE6, que vem na instalação do Windows XP, e o IE7, na atualização do XP e instalação do Windows Vista, forem abolidos completamente da face da Terra (o que, ao meu ver, está longe de acontecer), ainda mais em um país como o Brasil.</p>
<p>Quem me mandou o <a href="http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/" target="_blank">link </a>foi meu grande amigo <a href="http://zerooneworld.blogspot.com/" target="_blank">Johni Ecco</a>, um dia desses, via MSN&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2008/11/tudo-que-voce-sabe-sobre-css-esta-errado/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Senseless Tableless</title>
		<link>http://www.neyricardo.com/blog/2008/09/stressful-tableless/</link>
		<comments>http://www.neyricardo.com/blog/2008/09/stressful-tableless/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 23:47:59 +0000</pubDate>
		<dc:creator>Ney Ricardo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Trabalho]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[cross browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Usabilidade]]></category>

		<guid isPermaLink="false">http://blog.neyricardo.com/?p=42</guid>
		<description><![CDATA[Quem trabalha com Tableless sabe que nãoé tão complicado fazer um site inteiro sem usar tabelas, os problemas começam quando o seu código precisa ser Cross-browser, ou seja, seu site deve ser renderizado igualzinho (ou pelo menos com a mesma aparência) em vários browsers diferentes. Pois bem, estava eu hoje a converter um layout quando [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-57" src="http://neyricardo.com/blog/wp-content/uploads/2008/09/browsers1.jpg" alt="Tableless cross-browser • cada browser com seu render..." title="Tableless cross-browser • cada browser com seu render..." /></p>
<p>Quem trabalha com <a title="Definição de tableless" href="http://pt.wikipedia.org/wiki/Tableless" target="_blank">Tableless</a> sabe que nãoé tão complicado fazer um site inteiro sem usar tabelas, os problemas começam quando o seu código precisa ser <a title="Definição de cross-browser" href="http://pt.wikipedia.org/wiki/Cross-browser" target="_blank">Cross-browser</a>, ou seja, seu site deve ser renderizado igualzinho (ou pelo menos com a mesma aparência) em vários browsers diferentes.</p>
<p>Pois bem, estava eu hoje a converter um layout quando me dei conta que estava com 6 (seis) browsers diferentes abertos:</p>
<ul>
<li>Internet Explorer 6</li>
<li>Internet Explorer 7</li>
<li>Mozilla Firefox 3</li>
<li>Google Chrome</li>
<li>Apple Safari 3.1 (Windows)</li>
<li>Opera 9.5</li>
</ul>
<p>Aí você pára e se pergunta: &#8220;Pra quê?!&#8221;.</p>
<p>E  eu respondo: &#8220;Pra nada&#8230;&#8221;. Exatamente&#8230; PRA NADA!!!</p>
<p>Quem observa as estatísticas do <a title="Google Analytics" href="http://google.com/analytics" target="_blank">Google Analytics</a> dos sites que fez, vai perceber que menos de 10% dos usuários Windows usam o Safari, o Opera e o Chrome (provavelmente é você mesmo em um daqueles testes e revisões do layout recortado).</p>
<p>Outro detalhe: Quem é que testa o site no OS X e Linux?</p>
<p>Vamos fazer uma conta rápida: São 6 os browsers principais no Windows citados anteriormente, somados com o Safari, Firefox e Camino no Mac, no Linux temos o Firefox e o Conqueror (nem adianta tentar contar as distribuições de Linux, né? Vamos ficar só com os dois mesmo). Juntando tudo temos 11 browsers diferentes pra testar.</p>
<p>Mas como eu não testo em OS X e Linux, Vou reduzir a minha lista pra 3 browsers: IE6 (esse é o mais chatinho), IE7 e Firefox 3. Se você consegue fazer com que seu site tenha a mesma aparência sem bugs nestes 3 browsers a probabilidade de ficar com a mesma aparência em outros browsers é grande, então você só precisa dar uma navegada no final pra ver se tem algum bug que atrapalhe a visualização do site. Não que os outros sejam menos importantes. E não esqueça de dar uma olhada no <a title="Google Analytics" href="http://google.com/analytics" target="_blank">Analytics</a> pra conhecer os tipos de usuários que visualizam seu produto final.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neyricardo.com/blog/2008/09/stressful-tableless/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

