<?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>Rafael Marin &#187; CSS</title>
	<atom:link href="http://rafaelmarin.com.br/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://rafaelmarin.com.br</link>
	<description>User experience designer, user interface designer, ux, ui</description>
	<lastBuildDate>Sun, 10 Jan 2010 17:07:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Dicas avançadas para otimizar seu CSS</title>
		<link>http://rafaelmarin.com.br/dicas-avancadas-para-otimizar-seu-css/</link>
		<comments>http://rafaelmarin.com.br/dicas-avancadas-para-otimizar-seu-css/#comments</comments>
		<pubDate>Sat, 10 May 2008 20:16:56 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[melhore-seu-css]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/?p=131</guid>
		<description><![CDATA[As dicas que seguem são especialmente dirigidas àqueles que mantêm grandes quantidades de código, aos que atualizam seus CSS's com freqüência, ou àqueles que trabalham em equipe - onde todos podem fazer eventuais alterações.]]></description>
			<content:encoded><![CDATA[<p>Caso tenha perdido, leia <a href="http://rafaelmarin.com.br/melhore-seu-css/">Dicas para melhorar seu CSS</a>, que contém a introdução e dicas básicas de otimização das folhas de estilo em cascata.</p>
<p>Você sempre pode ir além, é claro. Existem mais maneiras, tão simples quanto as outras, de escrever código CSS ainda mais estruturado. As dicas que seguem são especialmente dirigidas àqueles que mantêm grandes quantidades de código, aos que atualizam seus CSS&#8217;s com freqüência, ou àqueles que trabalham em equipe &#8211; onde todos podem fazer eventuais alterações.</p>
<p>Grandes sites, que conseqüentemente possuem folhas de estilo maiores, exigem certa modularidade em todo o processo de desenvolvimento. Do Javascript ao PHP, do HTML ao banco de dados, passando (é claro) pelo CSS, o código inteiro carece de constante atualização. Como otimizar, então, nossos estilos para que nossa vida seja mais fácil?</p>
<h2>Nada como código comentado</h2>
<p>Use e abuse dos comentários para descrever seletores complexos, e para organizar todo seu CSS de maneira geral.</p>
<h2>Zerar os estilos</h2>
<p>Cada browser faz sutis modificações na maneira com que os estilos são renderizados. Para evitar a dor de cabeça posterior, algo interessante de se fazer ainda no início de desenvolvimento é o <a href="http://rafaelmarin.com.br/reset-de-estilos/"><em>reset</em> de estilos</a>, que já falei sobre anteriormente.</p>
<h2>Crie estilos padrão para elementos comuns</h2>
<p>Seus elementos <code>a</code>, cabeçalhos <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, parágrafos <code>p</code>, listas não-ordenadas <code>ul</code> e ordenadas <code>ol</code> &#8211; entre outros &#8211; geralmente possuem exatamente a mesma formatação em todo o site. Por isso, você pode aplicar certas propriedades diretamente ao elemento. Por exemplo, se seus links são sempre verdes, não coloque um <code>color: green;</code> em cada lugar que os links aparecem, como em <code>#sidebar a, #post a, #header a, #footer a, .caixa a { color: green; }</code>.</p>
<p>Prefira definir um estilo padrão, como <code>a { color:green }</code>, e então faça modificações apenas onde for necessário. Isso evita que seu código fique muito ambíguo, o que torna difícil a manutenção, pois se você determina a mesma cor para os links dentro de diferentes elementos, a cada modificação serão vários lugares a serem alterados.</p>
<p>Com os cabeçalhos, de <code>h1</code> a <code>h6</code>, você pode e deve definir os tamanhos, pois a medida padrão para os cabeçalhos pode mudar um pouco de acordo com o browser.</p>
<h2>Crie um índice com o conteúdo do arquivo</h2>
<p><img src="http://static.rafaelmarin.com.br/blog/uploads/2008/05/otimizacaocss-toc.gif" alt="Otimização CSS - Table of Contents" /></p>
<p>Pode ser uma boa, caso você não tenha o costume de indentar o código. Defina uma <acronym title="Table of Contents">TOC</acronym> no início do documento, utilizando texto comentado, e então insira as marcações sinalizando o início de uma nova seção ao longo do código. Se isso ajuda ou não, depende de cada um. Só um código bem indentado às vezes já vale mais do que esta estruturação com índice.</p>
<h2>Separe seu código CSS em arquivos diferentes</h2>
<p><img class="alignnone size-full wp-image-133" title="Otimização CSS - Incluindo arquivos CSS" src="http://static.rafaelmarin.com.br/blog/uploads/2008/05/otimizacaocss-include.gif" alt="" width="500" height="83" /></p>
<p>Se você optar, pode separar cada pedaço do seu CSS em outros arquivos, e então chamá-los em um global. Isso é ótimo na manutenção, já que você sempre saberá exatamente onde procurar cada trecho de código, e o encontrará mais fácil pois cada arquivo não será tão extenso.</p>
<p><strong>Importante:</strong> Leve sempre em consideração a performance, a velocidade de carregamento. Quanto mais arquivos forem chamados, mais requisições HTTP serão necessárias e mais tempo levará para o carregamento completo. Use esta dica com moderação.</p>
<h2>Otimize seu CSS automaticamente com PHP</h2>
<p>Chegamos na dica interessante do dia. Você provavelmente, em busca de otimização e melhora de performance, deve ter a sua própria maneira de otimizar o CSS antes de enviá-lo ao site. Existem inúmeros sites, como o CSS Cleaner, que otimiza o código para você, só que a cada alteração é necessário passar todo o código pelo otimizador novamente. Ou então, alguns preferem escrever todas as propriedades na mesma linha, <em>etc, etc</em>. Queremos uma boa manutenção, mas não podemos abrir mão da performance.</p>
<p>Trouxe um macete bem legal, mas é só para quem usa PHP. Adicione ao arquivo .htaccess da pasta dos seus arquivos CSS o seguinte código:</p>
<p><code><br />
&lt;Files otimizar.css&gt;</code></p>
<p><code>SetHandler  application/x-httpd-php</code></p>
<p><code>&lt;/Files&gt;</code></p>
<p>Nesta mesma pasta, crie um arquivo chamado <code>otimizar.css</code>, e inclua nele o seguinte código.</p>
<p><code>&lt;?php</code><br />
<code><br />
header('Content-type: text/css');</code></p>
<p><code>ob_start("comprimir");</code><br />
<code><br />
function comprimir($buffer){</code><br />
<code>$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);</code><br />
<code><br />
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);</code></p>
<p><code>return $buffer;</code></p>
<p><code>}</code></p>
<p><code>include($_GET['file'].".css");</code><br />
<code><br />
ob_end_flush();</code></p>
<p><code>?&gt;</code></p>
<p>A partir de então, passe a chamar seus arquivos CSS pelo endereço otimizar.css?file=<em>nome_do_css</em>. A alteração no arquivo .htaccess tornará possível a execução de scripts PHP no arquivo otimizar.css, e o arquivo otimizar.css removerá espaços, comentários e quebras de linha no seu arquivo, retornando um CSS compactado do jeito que você gosta. <strong>Este código não é de minha autoria, mas como não lembro mais de onde tirei, não posso dar os devidos créditos.</strong></p>
<p>Espero que tenham gostado, pessoal. Deste e do primeiro <a href="http://rafaelmarin.com.br/melhore-seu-css/">artigo sobre Otimização de CSS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/dicas-avancadas-para-otimizar-seu-css/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dicas para melhorar seu CSS</title>
		<link>http://rafaelmarin.com.br/melhore-seu-css/</link>
		<comments>http://rafaelmarin.com.br/melhore-seu-css/#comments</comments>
		<pubDate>Wed, 07 May 2008 13:21:22 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[melhore-seu-css]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/?p=127</guid>
		<description><![CDATA[Você provavelmente é bem organizado e toma conta direitinho do seu código PHP, Ruby, Python, ASP(?). Arquivos de classes organizados em pastas, todos com nomenclatura extremamente lógica. Seu HTML é impecavelmente semântico, e seu Javascript brilha, de tão bem estruturado. Agora, como anda a saúde das suas folhas de estilo?]]></description>
			<content:encoded><![CDATA[<p>Você provavelmente é bem organizado e toma conta direitinho do seu código PHP, Ruby, Python, ASP(?). Arquivos de classes organizados em pastas, todos com nomenclatura extremamente lógica. Seu HTML é impecavelmente semântico, e seu Javascript brilha, de tão bem estruturado. Agora, como anda a saúde das suas folhas de estilo?</p>
<p>CSS é, na maioria dos casos, a ovelha negra das linguagens no que se refere à manutenção. Já aconteceu com você de ter que mudar algum detalhe nos estilos de um site meses depois de ele ter sido concluído e custar um pouco até achar os seletores e propriedades corretas? Ou então, de criar seletores ambíguos, apenas com nomes de classe diferentes, e quando você precisa fazer alterações precisa mexer em mais de um lugar? Você ultimamente tem se perdido em centenas (milhares?) de linhas de código CSS?</p>
<p>Faça um esforço, e traga a organização que você já possui com seus <em>scripts</em> para a sua folha de estilo em cascata. Não é dificíl, pois as orientações você provavelmente já conhece e aplica, quase naturalmente. São algumas das sugestões que eu vi por aí e outras que eu mesmo sugiro a você.</p>
<h2>Indentação</h2>
<p><img title="Melhore seu CSS - Identação do CSS" src="http://static.rafaelmarin.com.br/blog/uploads/2008/05/melhore-css-identacao.gif" alt="Melhore seu CSS - Identação do CSS" /></p>
<p>Mantenha seu código CSS indentado de acordo com a hierarquia que os seletores representam. No exemplo acima, <code>#topo ul li</code> pertence à <code>#topo ul</code>, e este pertence à <code>#topo</code> &#8211; assim como <code>#topo img</code> também pertence à <code>#topo</code>. Repare então que cada bloco de código recebeu uma indentação de acordo com seu nível hierárquico. Indentar seu CSS é importante justamente para visualizar facilmente a estrutura do seu site, sem necessariamente ter que ver o HTML todo novamente.</p>
<h2>Ordem alfabética nas propriedades</h2>
<p><img title="Melhore seu CSS - Ordem alfabética nas propriedades" src="http://static.rafaelmarin.com.br/blog/uploads/2008/05/melhore-css-alfabetica.gif" alt="" /></p>
<p>Alguns de vocês podem julgar esta dica um tanto inútil. Na hora de escrever o código pela primeira vez, colocar as propriedades em ordem alfabética pode ser um pouco chato, cansativo. Mas se você reparar, na hora de fazer manutenção, você quase sempre fica procurando as propriedades no meio da confusão de caracteres. Para mim faz bastante diferença colocá-las nesta ordem, já deixa o código pronto para o futuro.</p>
<h2>Agrupamento das propriedades</h2>
<p><img title="Melhore seu CSS - Agrupamento das propriedades" src="http://static.rafaelmarin.com.br/blog/uploads/2008/05/melhore-css-agrupamento.gif" alt="Melhore seu CSS - Agrupamento das propriedades" /></p>
<p>Os seletores <code>#certo</code> e <code>#errado</code> já dizem tudo. Você pode e deve resumir, por razões óbvias, a declaração das propriedades. Acredite, os dois blocos de código fazem <strong>exatamente</strong> a mesma coisa.</p>
<p>Na continuação desta série, veremos dicas avançadas para otimizar e estruturar seu CSS. Lembre-se sempre que todo esforço é sempre recompensado, e você é quem ganha quando precisar fazer manutenção e encontrar um código estruturado e intuitivo.</p>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/melhore-seu-css/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Web Standards, agora também no seu cliente de e-mail</title>
		<link>http://rafaelmarin.com.br/web-standards-agora-tambem-no-seu-cliente-de-e-mail/</link>
		<comments>http://rafaelmarin.com.br/web-standards-agora-tambem-no-seu-cliente-de-e-mail/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 20:20:37 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cotidiano]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/web-standards-agora-tambem-no-seu-cliente-de-e-mail/</guid>
		<description><![CDATA[O Emanuel Felipe escreveu hoje sobre o Email Standards Project (Projeto de padrões de e-mail), que depois do WaSP, vem com o objetivo de estender o suporte a padrões Web também aos clientes de e-mail. Há os que gostam mesmo é de TXT &#8211; e eu particularmente gosto muito &#8211; mas o conceito de hipertexto no e-mail é bem aceito pela grande maioria. Mas para quem trabalha com web e, em alguns casos, com produção de mailings e newsletters, criar webmails HTML é algo muito, mas muito complicado. O suporte de HTML e CSS dos programas é geralmente fraco, e varia muito de um aplicativo para outro. O intuito do Email Standards Projects é fazer com que essa abordagem de [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://emanuelfelipe.net/blog/boas-vindas-ao-email-standards-project/" rel="friend">Emanuel Felipe</a> escreveu hoje sobre o <a href="http://www.email-standards.org" rel="external">Email Standards Project</a> (Projeto de padrões de e-mail), que depois do WaSP, vem com o objetivo de estender o suporte a padrões Web também aos clientes de e-mail. Há <a href="http://tableless.com.br/aprenda/email-bom-txt/">os que gostam mesmo é de TXT</a> &#8211; e eu particularmente gosto muito &#8211; mas o conceito de hipertexto no e-mail é bem aceito pela grande maioria.</p>
<p>Mas para quem trabalha com web e, em alguns casos, com produção de mailings e newsletters, criar webmails HTML é algo muito, mas muito complicado. O suporte de HTML e CSS dos programas é geralmente fraco, e varia muito de um aplicativo para outro.</p>
<p>O intuito do Email Standards Projects é fazer com que essa abordagem de padronização atinja também aos fabricantes de clientes de e-mail, como a Mozilla, a Apple, AOL, e mesmo os web-based, como o <a href="http://www.gmail.com">GMail</a>, <a href="http://mail.yahoo.com.br">Yahoo! Mail</a> e o <a href="http://www.hotmail.com">Windows Live Mail</a>.</p>
<p>Todo o esforço é válido, mas como o Emanuel, não estou tão confiante assim. É complicada essa história de acordos entre <em>software vendors</em>. Tudo depende, a coisa é bem burocrática. Mas não desistiremos, certo? Um dia todos usarão o Firefox e Thunderbird (que se saiu bem no teste do Email Standards Project). =P</p>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/web-standards-agora-tambem-no-seu-cliente-de-e-mail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS para diagnóstico de marcação incorreta</title>
		<link>http://rafaelmarin.com.br/css-para-diagnostico-de-marcacao-incorreta/</link>
		<comments>http://rafaelmarin.com.br/css-para-diagnostico-de-marcacao-incorreta/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 17:44:35 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/css-para-diagnostico-de-marcacao-incorreta/</guid>
		<description><![CDATA[Em sites cuja administração é feita pelo cliente, fica difícil controlar (evitar) o aparecimento de marcação inválida. Eu que estou trabalhando num CMS feito em padrões Web que o diga. Mesmo por que o cliente sequer sabe (na maioria das vezes) que um site é feito de código, e que supostamente este deve estar correto. Mas quem desenvolve, e sabe como é sofrido criar um site 100% compliant, pode utilizar um recurso que está sendo discutido no 456 Berea Street e no blog do Eric Meyer: o diagnóstico de erros de marcação através de folhas de estilo. Isso quer dizer que você (ou seu cliente) pode facilmente identificar quando alguma tag está vazia, quando uma imagem não possui atributo alt, [...]]]></description>
			<content:encoded><![CDATA[<p>Em sites cuja administração é feita pelo cliente, fica difícil controlar (evitar) o aparecimento de marcação inválida.  Eu que estou trabalhando num CMS feito em padrões Web que o diga. Mesmo por que o cliente sequer sabe (na maioria das vezes) que um site é feito de código, e que supostamente este deve estar correto. Mas quem desenvolve, e sabe como é sofrido criar um site 100% <em>compliant</em>, pode utilizar um recurso que está sendo discutido no <a href="http://www.456bereastreet.com/archive/200710/helping_your_client_maintain_markup_quality/" rel="external">456 Berea Street</a> e no blog do <a href="http://meyerweb.com/eric/thoughts/2007/09/07/diagnostic-styling/" rel="external">Eric Meyer</a>: o diagnóstico de erros de marcação através de folhas de estilo.</p>
<p>Isso quer dizer que você (ou seu cliente) pode facilmente identificar quando alguma <em>tag</em> está vazia, quando uma imagem não possui atributo <em>alt</em>, e por aí vai. As regras são simples, como no exemplo que segue:</p>
<p><code><br />
font, center, div[align], p[align], table[align], font[color] {<br />
color : #cd0000;<br />
font-weight : bold;<br />
background : #eecc11 url(images/warning.gif) repeat 0 0;<br />
margin : 10px;<br />
padding : 10px;<br />
border : 2px dashed #cd0000;<br />
font-size : 2em;<br />
}<br />
</code></p>
<p>Os estilos acima colocariam as tags <code>font</code>, <code>center</code>, <code>div</code> com atributo <code>align</code>, <code>p</code> com atributo <code>align</code>, <code>table</code> com atributo <code>align</code> e <code>font</code> com atributo <code>color</code> em negrito, com cor e borda vermelha ao redor, indicando que há alguma marcação imprópria ou incorreta.</p>
<p>Algo mais inteligente é colocar essa marcação junto com a do editor <acronym title="What You See Is What You Get">WYSIWYG</acronym>, ou junto ao site mas apenas para o cliente. Claro que isso não é a solução ideal, como o Roger do 456BereaSt sugere, mas já é um bom <em>hack</em> que ajuda e faz o seu trabalho.</p>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/css-para-diagnostico-de-marcacao-incorreta/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>O que houve de errado?</title>
		<link>http://rafaelmarin.com.br/o-que-houve-de-errado/</link>
		<comments>http://rafaelmarin.com.br/o-que-houve-de-errado/#comments</comments>
		<pubDate>Fri, 25 May 2007 19:28:51 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/o-que-houve-de-errado/</guid>
		<description><![CDATA[Em 1994 iniciava-se a saga do CSS. Ao mesmo tempo uma solução e um problema. Conflitos de implementação por parte dos browsers tornam o CSS, apesar da maneira mais correta que conhecemos de formatar visualmente o conteúdo, uma dor de cabeça para os desenvolvedores. Como é desgastante ter que refazer partes do CSS &#8211; ou mesmo todo ele novamente &#8211; para torná-los iguais visualmente. Fora os hacks, conditional comments e todas as outras gambiarras existentes. Para quem está iniciando, deparar-se com um site que é renderizado de uma maneira num browser e de outra em outro browser pode ser tão desanimador a ponto de levá-lo aos velhos métodos de desenvolvimento. Falamos em novas especicações, como a do CSS3 mas, é [...]]]></description>
			<content:encoded><![CDATA[<p>Em 1994 iniciava-se a saga do CSS. Ao mesmo tempo uma solução e um problema. Conflitos de implementação por parte dos browsers tornam o CSS, apesar da maneira mais correta que conhecemos de formatar visualmente o conteúdo, uma dor de cabeça para os desenvolvedores.</p>
<p>Como é desgastante ter que refazer partes do CSS &#8211; ou mesmo todo ele novamente &#8211; para torná-los iguais visualmente. Fora os hacks, conditional comments e todas as outras gambiarras existentes. Para quem está iniciando, deparar-se com um site que é renderizado de uma maneira num browser e de outra em outro browser pode ser tão desanimador a ponto de levá-lo aos velhos métodos de desenvolvimento.</p>
<p>Falamos em novas especicações, como a do <a href="http://www.w3.org/TR/css3-roadmap/" rel="external">CSS3</a> mas, é essa a prioridade atual? Quem sabe não seria melhor se nos preocupássemos com efetivar o que já existe, ou seja, fazer com que o CSS2.1 funcione corretamente em todos os browsers?</p>
<p>O problema começa na própria W3C. Por lá as coisas são muito &#8211; mas muito mesmo &#8211; lentas. Para você ter uma idéia, o rascunho da especificação CSS3 data de 23 de maio de, vejam, 2001. Tempo pra caramba, não acham? Quanta coisa já mudou de lá pra cá e continuamos empacados.</p>
<p>OK, existem problemas técnicos envolvidos que não podem ser evitados, como incompatibilidades, bugs nos browsers, etc. Mas o centro de tanta demora parece ser a &#8220;politicagem&#8221; existente na W3C: discussões com argumentos antigos, prioridades concedidas ? s áreas erradas, empresas envolvidas visando apenas os seus interesses.</p>
<p>Seria melhor se as ferramentas planejadas para a nova especificação do CSS fossem mais simples, e atendessem realmente as necessidades atuais dos desenvolvedores &#8211; e não as de 5 ou 10 anos. Talvez seja a hora ideal para um CSS2.2, sem tantos novos recursos, mas com aqueles que nós realmente precisamos; deixando um pouco de lado aqueles que precisaremos daqui a muito tempo. Temos que esquecer de projetos para o CSS do futuro, principalmente quando o atual é mal interpretado e mal renderizado (por alguns &#8220;browsers&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/o-que-houve-de-errado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reset de estilos</title>
		<link>http://rafaelmarin.com.br/reset-de-estilos/</link>
		<comments>http://rafaelmarin.com.br/reset-de-estilos/#comments</comments>
		<pubDate>Fri, 04 May 2007 16:14:45 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/reset-de-estilos/</guid>
		<description><![CDATA[Todos os browsers possuem padrões de apresentação, mas eles diferem de um para outro (nos browsers da família Gecko existem os mesmos padrões). Por exemplo, certos browsers renderizam listas ordenadas e não-ordenadas com left-margin, já outros aplicam left-padding. Existem inúmeras outras diferenças. Você as percebe quando está começando a fazer seu CSS e testa a página no IE e no Firefox ao mesmo tempo. Quando você ainda não aplicou nenhum estilo, os próprios estilos dos browsers mudam um pouco. Para uns os cabeçalhos tem um padding maior, um alinhamento vertical diferente, e assim por diante. Para garantir o máximo de fidelidade em todos os browsers, resetar os estilos antes de começar a fazer a camada de formatação é uma boa [...]]]></description>
			<content:encoded><![CDATA[<p>Todos os browsers possuem padrões de apresentação, mas eles diferem de um para outro (nos browsers da família Gecko existem os mesmos padrões). Por exemplo, certos browsers renderizam listas ordenadas e não-ordenadas com <em>left-margin</em>, já outros aplicam <em>left-padding</em>.</p>
<p>Existem inúmeras outras diferenças. Você as percebe quando está começando a fazer seu CSS e testa a página no IE e no Firefox ao mesmo tempo. Quando você ainda não aplicou nenhum estilo, os próprios estilos dos browsers mudam um pouco. Para uns os cabeçalhos tem um padding maior, um alinhamento vertical diferente, e assim por diante.</p>
<p>Para garantir o máximo de fidelidade em todos os browsers, resetar os estilos antes de começar a fazer a camada de formatação é uma boa pedida. <a href="http://www.tableless.com.br/csshacks-ou-comentarios-condicionais-nenhum-dos-dois-claro" rel="external">Evita, muitas vezes, que seja necessária a utilização de <em>conditional comments</em> ou <em>hacks</em>.</a></p>
<p>A solução, então, é simples: antes de começar a desenvolver o CSS propriamente dito, basta zerar os principais seletores do CSS, aplicando-os a todos os elementos, como no exemplo:</p>
<p><code><br />
* {<br />
margin: 0;<br />
padding: 0;<br />
border: 0;<br />
}</code></p>
<p>Além disso, pode ser feito o reset de seletores para elementos específicos:</p>
<p><code><br />
h1, h2, h3, h4, h5, h6 {<br />
font-weight: normal;<br />
}</code></p>
<p>O que pode ser feito para minimizar as necessidades de utilizar métodos alternativos &#8211; e não tão &#8220;politicamente corretos&#8221; &#8211; é sempre bem vindo. Você pode definir posicionamentos, tamanhos, fontes, etc. Se você não tem esse hábito de zerar os seletores, crie-o. Ajuda bastante.</p>
<h2>Veja também</h2>
<ul>
<li><a href="http://meyerweb.com/eric/thoughts/2007/04/18/reset-reasoning/" rel="external">Reset reasoning &#8211; Eric Meyer</a></li>
<li><a href="http://www.tableless.com.br/coisas-uteis-que-nao-funcionam-no-ie-3-seletor-com-asterisco" rel="external">Coisas úteis que não funcionam no IE #3 &#8211; Seletor com asterísco &#8211; Tableless.com.br</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/reset-de-estilos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cartilhas legais para a aprendizagem</title>
		<link>http://rafaelmarin.com.br/cartilhas-legais-para-a-aprendizagem/</link>
		<comments>http://rafaelmarin.com.br/cartilhas-legais-para-a-aprendizagem/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 22:07:04 +0000</pubDate>
		<dc:creator>Rafael Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Microformatos]]></category>
		<category><![CDATA[XHTML & HTML]]></category>

		<guid isPermaLink="false">http://rafaelmarin.com.br/2007/03/21/cartilhas-legais-para-a-aprendizagem/</guid>
		<description><![CDATA[Talvez os desenvolvedores que estão há mais tempo nessa história de padrões web &#8211; abandonando definitivamente os editores visuais &#8211; possam desconsiderar a dica que segue. Contudo, para os iniciantes, a dica é bem útil, vi lá no blog do Pedro Rogério, o Pinceladas da Web. Existem espalhadas pela web algumas cartilhas, ou cheat sheets, que facilitam bastante o trabalho de quem está começando. São grandes tabelas que contém todos os elementos do HTML, CSS, JavaScript e Microformatos, e que quebram um galho enorme algumas vezes quando um elemento ou outro escapa da mente. Mas, para não dar uma de parasita e consumir a banda dos outros, fiz o upload dos arquivos (que estão em PDF) no meu servidor. Faça [...]]]></description>
			<content:encoded><![CDATA[<p>Talvez os desenvolvedores que estão há mais tempo nessa história de padrões web &#8211; abandonando definitivamente os editores visuais &#8211; possam desconsiderar a dica que segue. Contudo, para os iniciantes, a dica é bem útil, vi lá no blog do Pedro Rogério, o <a href="http://www.pinceladasdaweb.com.br" rel="external">Pinceladas da Web</a>.</p>
<p>Existem espalhadas pela web algumas cartilhas, ou <em>cheat sheets</em>, que facilitam bastante o trabalho de quem está começando. São grandes tabelas que contém todos os elementos do HTML, CSS, JavaScript e Microformatos, e que quebram um galho enorme algumas vezes quando um elemento ou outro escapa da mente.</p>
<p>Mas, <a href="http://www.contraditorium.com/2007/03/15/maring-fm-descobre-que-o-buraco-mais-embaixo/" rel="external">para não dar uma de parasita e consumir a banda dos outros</a>, fiz o upload dos arquivos (que estão em <abbr title="Portable Documents Format">PDF</abbr>) no meu servidor.</p>
<h2>Faça o download</h2>
<p>Seguem os links:</p>
<ul>
<li><a href="http://server.rafaelmarin.net/html-cheatsheet.pdf">HTML Cheat Sheet</a>, de <a href="http://www.gosquared.com/liquidicity" rel="external">Liquid City</a></li>
<li><a href="http://server.rafaelmarin.net/css-cheatsheet.pdf">CSS Cheat Sheet</a>, de <a href="http://www.gosquared.com/liquidicity" rel="external">Liquid City</a></li>
<li><a href="http://server.rafaelmarin.net/javascript-cheatsheet.pdf">JavaScript Cheat Sheet</a>, de <a href="http://www.ilovejackdaniels.com/" rel="external">I Love Jack Daniel&#8217;s</a></li>
<li><a href="http://server.rafaelmarin.net/microformats-cheatsheet.pdf">Microformats Cheat Sheet</a>, de <a href="http://www.microformats.org/" rel="external">Microformats.org</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rafaelmarin.com.br/cartilhas-legais-para-a-aprendizagem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

