<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Codando</title>
	<atom:link href="https://codando.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://codando.wordpress.com</link>
	<description>Programação, o universo e tudo o mais</description>
	<lastBuildDate>Wed, 10 Jun 2009 13:33:51 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">2865706</site><cloud domain='codando.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s2.wp.com/i/webclip.png</url>
		<title>Codando</title>
		<link>https://codando.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://codando.wordpress.com/osd.xml" title="Codando" />
	<atom:link rel='hub' href='https://codando.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Oxente Rails &#8211; Dois dias respirando Rails!</title>
		<link>https://codando.wordpress.com/2009/06/10/oxente-rails-dois-dias-respirando-rails/</link>
					<comments>https://codando.wordpress.com/2009/06/10/oxente-rails-dois-dias-respirando-rails/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Wed, 10 Jun 2009 13:30:37 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/2009/06/10/oxente-rails-dois-dias-respirando-rails/</guid>

					<description><![CDATA[Quer passar dois dias mergulhado em Rails junto com grandes Railers do Brasil e do mundo? E ainda curtir o sol numa das cidades mais bonitas do Brasil? Venha para o Oxente Rails! O Oxente Rails vai acontecer em Natal, RN, nos dias 07 e 08 de agosto. Na programação, palestras sobre Ruby on Rails, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://oxenterails.com"><img class="alignleft" title="Oxente Rails" src="https://i0.wp.com/maisweb.org/blogdoelomar/wp-content/uploads/oxenterails-trans.png" alt="" width="108" height="164" /></a></p>
<p>Quer passar dois dias mergulhado em Rails junto com grandes Railers do Brasil e do mundo? E ainda curtir o sol numa das cidades mais bonitas do Brasil? Venha para o Oxente Rails!</p>
<p>O Oxente Rails vai acontecer em Natal, RN, nos dias 07 e 08 de agosto. Na programação, palestras sobre Ruby on Rails, Desenvolvimento Ágil e diversos outros temas &#8211; interessantes pra quem ainda não conhece e pra quem já trabalha na área. Vai ser ainda uma ótima oportunidade de bater um papo e trocar experiências com outros Railers!</p>
<p>O evento vai contar com a presença de Railers de primeira linha do Brasil e do mundo. <a href="http://obiefernandez.com/">Obie Fernandez</a>, <a href="http://akitaonrails.com/">Fábio Akita</a>, <a href="http://tapajos.me/">Tapajós</a>, <a href="http://www.nomedojogo.com/">Carlos Brando</a>, <a href="http://peepcode.com/">Geoffrey Rosenbach,</a> <a href="http://www.caelum.com.br/">Cauê Guerra</a>, Paulo Fagiani e <a href="http://danteregis.com/">Dante Régis</a>, entre outros.</p>
<p>Natal é uma das cidades mais lindas do Nordeste, com sol o ano inteiro e praias pra todos os gostos. Aproveite o domingo depois do evento pra dar aquela descansada curtindo <a title="Passeios em Natal - Praia de Ponta Negra" href="http://www.natalonline.com/praia_de_ponta_negra/">a paisagem</a>. A sede do evento vai ser o auditório do <a href="http://www.ifrn.edu.br/">IFRN</a>, Instituto Federal de Educação Tecnológica do RN, todo coberto por Wifi com estacionamento gratuito e capacidade pra mais 500 pessoas.</p>
<p>As inscrições abrem em breve! Chame teus amigos e comece a arrumar as malas. Siga <a href="http://twitter.com/oxenterails">@OxenteRails</a> no Twitter ou entre na <a href="http://www.orkut.com.br/Main#Community.aspx?cmm=90942234">nossa comunidade no Orku</a>t pra ficar informado.</p>
<p>A <a href="http://trabalhos.oxenterails.com/">chamada pra trabalhos</a> estará aberta até dia 21 de Junho pra quem quiser mostrar algum projeto ou idéia legal. Se quiser divulgar sua empresa e ajudar o evento a acontecer, <a href="http://oxenterails.com/sponsor">apoie o evento</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2009/06/10/oxente-rails-dois-dias-respirando-rails/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">239</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="http://maisweb.org/blogdoelomar/wp-content/uploads/oxenterails-trans.png" medium="image">
			<media:title type="html">Oxente Rails</media:title>
		</media:content>
	</item>
		<item>
		<title>Promoção &#8220;Mês (Geek) das Crianças&#8221; no Meio Bit</title>
		<link>https://codando.wordpress.com/2008/09/26/promocao-mes-geek-das-criancas-no-meio-bit/</link>
					<comments>https://codando.wordpress.com/2008/09/26/promocao-mes-geek-das-criancas-no-meio-bit/#respond</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sat, 27 Sep 2008 02:24:50 +0000</pubDate>
				<category><![CDATA[meta]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=232</guid>

					<description><![CDATA[Olá, Pessoal O Meio Bit, que vocês devem conhecer, tá com uma promoção bem bacana: Você escolhe uma instituição filantrópica pra ajudar, de três que eles indicam e divulga a promoção. O sorteado ganha um iPod e a instituição ganha um Wii! Eu tô torcendo pro Lar Amor Real, que faz um trabalho bem legal [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Olá, Pessoal</p>
<p>O <a href="http://meiobit.pop.com.br">Meio Bit</a>, que vocês devem conhecer, tá com uma <a href="http://meiobit.pop.com.br/meio-bit/miscelaneas/promocao-mes-geek-das-criancas-meio-bit">promoção</a> bem bacana: Você escolhe uma instituição filantrópica pra ajudar, de três que eles indicam e divulga a promoção. O sorteado ganha um iPod e a instituição ganha um Wii!</p>
<p>Eu tô torcendo pro <a href="http://www.laramorreal.org.br/">Lar Amor Real</a>, que faz um trabalho bem legal com crianças.</p>
<p>Participe você também! Detalhes da promoção <a href="http://meiobit.pop.com.br/meio-bit/miscelaneas/promocao-mes-geek-das-criancas-meio-bit">aqui</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/09/26/promocao-mes-geek-das-criancas-no-meio-bit/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">232</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>
	</item>
		<item>
		<title>mas vem cá, por que Rails?</title>
		<link>https://codando.wordpress.com/2008/08/19/mas-vem-ca-por-que-rails/</link>
					<comments>https://codando.wordpress.com/2008/08/19/mas-vem-ca-por-que-rails/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Wed, 20 Aug 2008 02:25:48 +0000</pubDate>
				<category><![CDATA[estágio]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[rails]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=228</guid>

					<description><![CDATA[Não sei como é com vocês, mas eu só aprendo alguma coisa de verdade fazendo. E como eu quero muito aprender Rails de verdade, decidi fazer um sistema que eu já tô devendo ao +web faz um tempo. É um gerenciador de eventos, coisa simples. E graças ao estágio do Cefet, apareceram mais dois projetos [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Não sei como é com vocês, mas eu só aprendo alguma coisa de verdade fazendo. E como eu quero muito aprender Rails de verdade, decidi fazer um sistema que eu já tô devendo ao <a href="http://maisweb.org">+web</a> faz um tempo. É um gerenciador de eventos, coisa simples. E graças ao estágio do Cefet, apareceram mais dois projetos pra eu fazer até o fim do ano: um sistema interno pra <a href="http://www.techvirtual.com.br">Techvirtual</a>, onde estou estagiando, e alguma contribuição pro <a href="http://www.redmine.org/">Redmine</a>, que eu ainda não sei o que vai ser. Vai ser um fim de ano bem legal. =D</p>
<p>Pretendo falar um pouco desses projetos aqui no blog, registrando aqui minha evolução na plataforma. E a primeira coisa que eu quero explicar é porque eu escolhi Rails.</p>
<p>Bom, a resposta é simples. Primeiro, porque Ruby é a linguagem mais linda que eu conheço (programo em Delphi, entendo de linguagem feia). Python é legal também, mas não tanto. Sério. O tempo que eu ganho com Ruby é impressionante, e eu me divirto muito. Segundo, porque Rails é o framework mais lindo que eu conheço (programo em ASP.Net, entendo de framework feio). O tempo que eu ganho com Rails é impressionante, e eu me divirto muito.</p>
<p>Além do fator &#8216;me-divertir-enquanto-trabalho&#8217;, também escolhi Rails porque me permite criar, dentro das limitações do framework, aplicações complexas em pouquíssimo tempo, e vendo as coisas funcionarem desde o começo. Rails e a comunidade também enfatizam muito a questão da qualidade do código, seja através de DRY, (muitos) testes, ou qualquer outra coisa.</p>
<p>Como se já não fossem motivos suficientes, ainda tem a comunidade ao redor do Rails, muito prestativa e receptiva com os iniciantes. É difícil encontrar caras que se dedicam à comunidade como o <a href="http://akitaonrails.com/">Akita</a>, o <a href="http://www.nomedojogo.com/">Carlos Brando</a> e <a href="http://www.akitaonrails.com/2008/8/8/brazilian-rails-blogs">tantos outros</a>, além de iniciativas como o grupo <a href="http://groups.google.com/group/aprendendo-rails">Aprendendo Rails</a>. Nunca me aconteceu de não encontrar algo que eu queria e nem ter alguém pra perguntar.</p>
<p>Resumindo: eu me divirto enquanto trabalho com qualidade fazendo parte de uma comunidade muito bacana. O que mais eu podia querer? ;D</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/08/19/mas-vem-ca-por-que-rails/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">228</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS: Especificidade</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-html-especificidade/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-html-especificidade/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 04:00:50 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[htmldog]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=181</guid>

					<description><![CDATA[Se você tem duas (ou mais) regras CSS conflitantes que se aplicam ao mesmo elemento, existem algumas regras básicas que o navegador segue para determinar qual é a mais específica e por isso a vencedora. Isso pode não parecer importante, e na maioria dos casos você não vai encontrar conflito algum, mas à medida que [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://codando.wordpress.com/wp-content/uploads/2008/07/image7.png?w=400&#038;h=115" border="0" alt="image" width="400" height="115" /></p>
<p>Se você tem duas (ou mais) regras CSS conflitantes que se aplicam ao mesmo elemento, existem algumas regras básicas que o navegador segue para determinar qual é a mais <strong>específica</strong> e por isso a vencedora.</p>
<p>Isso pode não parecer importante, e na maioria dos casos você não vai encontrar conflito algum, mas à medida que seus arquivos CSS se tornam maiores e mais complexos, ou você passa a lidar com um número maior de arquivos, aumentam as chances de conflitos aparecerem.</p>
<p>Se os seletores são os mesmos o último sempre tem prioridade. Por exemplo, se você tem:</p>
<pre>
p { color: red; }
p { color: blue; }
</pre>
<p>Elementos <a href="http://htmldog.com/reference/htmltags/p/"><em>p</em></a> seriam coloridos de azul porque é a regra que vem por último.</p>
<p>De qualquer forma, você geralmente não vai ter seletores idênticos com declarações conflitantes (porque não faz muito sentido). Conflitos sempre aparecem, no entanto, quando você tem seletores aninhados. No exemplo seguinte:</p>
<pre>
div p { color: red; }
p { color: blue; }
</pre>
<p>Pode parecer que um elemento <em>p</em> <em>dentro de uma div</em> vai ser colorida de azul, já que a regra de colorir elementos <em>p</em> de azul vem por último, mas na verdade ele vai ser colorido de vermelho devido a especificade do primeiro seletor. Basicamente, quanto mais específico for um seletor maior prioridade ele vai ter quando aparecerem estilos conflitantes.</p>
<p>A especifidade real de um grupo de seletores aninhados precisa de alguns cálculos. Basicamente, você atribui a cada seletor de id (&#8220;#qualquercoisa&#8221;) um valor de 100, a cada seletor de classe (&#8220;.qualquercoisa&#8221;) um valor de 10 e a cada seletor HTML (&#8220;qualquercoisa&#8221;) um valor de 1. Aí você soma tudo e que rápido!, você tem o valor da especificidade.</p>
<ul>
<li><em>p</em> tem especifidade de 1 (1 seletor HTML)</li>
<li><em>div p </em>tem especifidade de 2 (2 seletores HTML; 1+1)</li>
<li><em>.tree</em> tem especifidade de 10 (1 seletor de classe)</li>
<li><em>div p.tree</em> tem especifidade de 12 (2 seletores HTML e um seletor de classe; 1+1+10)</li>
<li><em>#obaoba</em> tem especifidade de 100 (1 seletor de id)</li>
<li><em>body #content .alternative p</em> tem especifidade de 112 (seletor HTML, seletor de id, seletor de classe, seletor HTML; 1+100+10+1)</li>
</ul>
<p>Então de todos os exemplos usados, <em>div p.tree</em> (com especificidade de 10) venceria <em>div p</em> (com especificidade de 2) e <em>body #content .alternative p</em> venceria de todos eles, <em>independente</em> da ordem.</p>
<h3>Páginas Relacionadas</h3>
<ul>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/14/tutorial-avanado-de-css-pseudo-elementos/">Pseudo Elementos</a></li>
<li><a href="https://codando.wordpress.com/2008/03/04/tutorial-iniciante-de-css-seletores-propriedades-e-valores/">Seletores, Propriedades e Valores</a></li>
<li><a href="https://codando.wordpress.com/2008/03/16/tutorial-intermedirio-de-css-seletores-classe-e-id/">Seletores de Classe e ID</a></li>
</ul>
<p><em>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-html-especificidade/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">181</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS: Pseudo Elementos</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-pseudo-elementos/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-pseudo-elementos/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:40:58 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[htmldog]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=178</guid>

					<description><![CDATA[Pseudo elementos se ligam a seletores do mesmo jeito das pseudo classes, na forma seletor:pseudoelemento { propriedade: valor; }. Existem quatro pseudo elementos. Primeira Letra e Primeira Linha O pseudo elemento first-letter é aplicado à primeira letra de um elemento e first-line à primeira linha. Você pode, por exemplo, criar letras capitulares (drop caps) e [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img height="111" alt="image" src="https://codando.wordpress.com/wp-content/uploads/2008/07/image5.png?w=417&#038;h=111" width="417" border="0"></p>
<p>Pseudo elementos se ligam a seletores do mesmo jeito das <a href="https://codando.wordpress.com/2008/03/18/tutorial-intermedirio-de-css-pseudo-classes/">pseudo classes</a>, na forma <em>seletor:pseudoelemento { propriedade: valor; }</em>. Existem quatro pseudo elementos.</p>
<h3>Primeira Letra e Primeira Linha</h3>
<p>O pseudo elemento <em>first-letter</em> é aplicado à primeira letra de um elemento e <em>first-line</em> à primeira linha. Você pode, por exemplo, criar letras capitulares (<em>drop caps</em>) e parágrafos com a primeira linha em negrito dessa forma:</p>
<pre>p<strong>:first-letter</strong> {
  font-size: 3em;
  float: left;
}

p<strong>:first-line</strong> {
  font-weight: bold;
}
</pre>
<h3>Before e after</h3>
<p>Os pseudo elementos <em>before</em> (antes) e <em>after</em> (depois) são usados em conjunto com a propriedade <a href="http://htmldog.com/reference/cssproperties/content/"><em>content</em></a> pra colocar conteúdo de qualquer lado de um elemento sem tocar no HTML.</p>
<p>O valor da propriedade <a href="http://htmldog.com/reference/cssproperties/content/"><em>content</em></a> pode ser <em>open-quote</em> (aspas de abertura), <em>close-quote</em> (aspas de fechamento), <em>no-open-quote</em> (sem aspas de abertura), <em>no-close-quote</em> (sem aspas de fechamento), qualquer texto delimitado por aspas duplas ou qualquer imagem usando <em>url(nomedaimagem)</em>.</p>
<pre>blockquote<strong>:before</strong> {
	<strong>content: open-quote;</strong>
}

blockquote<strong>:after</strong> {
	<strong>content: close-quote;</strong>
}

li<strong>:before</strong> {
	<strong>content: "POW: "</strong>
}

p<strong>:before</strong> {
	<strong>content: url(images/jam.jpg)</strong>
}
</pre>
<p>Soa maravilhoso, não é? Bem, assim como tantas outras coisas (<em>-sigh-</em>), a maioria dos usuários não vai ver os efeitos de <em>before</em> ou <em>after</em> porque o IE simplesmente não pode ser incomodado por eles. Preguiçoso preguiçoso preguiçoso.</p>
<h3>Páginas Relacionadas</h3>
<ul>
<li>Próxima Página: <a href="https://codando.wordpress.com/2008/07/15/tutorial-avanado-de-html-especificidade/">Especificidade</a>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/13/tutorial-avanado-de-css-regras/">Regras @</a>
<li><a href="https://codando.wordpress.com/2008/03/18/tutorial-intermedirio-de-css-pseudo-classes/">Pseudo Classes</a> </li>
</ul>
<p><i>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</i></p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-pseudo-elementos/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">178</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS: Regras @</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-regras/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-regras/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:30:20 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[htmldog]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=176</guid>

					<description><![CDATA[Essa aula foi traduzida pelo aluno do curso Ruan Carlos. Obrigado, Ruan! Regras @ encapsulam um punhado de regras CSS para aplicar a alguma coisa específica. Woo. Importação A regra @import adiciona outra folha de estilo. Por exemplo, se você quiser adicionar os estilos de uma outra folha de estilo para a sua existente, você [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" height="112" alt="image" src="https://codando.wordpress.com/wp-content/uploads/2008/07/image6.png?w=416&#038;h=112" width="416" border="0"></p>
<p><em>Essa aula foi traduzida pelo aluno do curso Ruan Carlos. Obrigado, Ruan!</em></p>
<p>Regras @ encapsulam um punhado de regras CSS para aplicar a alguma coisa específica. Woo.</p>
<h3>Importação</h3>
<p>A regra <em>@import</em> adiciona outra folha de estilo. Por exemplo, se você quiser adicionar os estilos de uma outra folha de estilo para a sua existente, você pode adicionar algo como:</p>
<pre><strong>@import url(estilosadicionais.css);</strong></pre>
<p>Isso é muitas vezes usado no lugar do elemento <em>link</em> para ligar um arquivo CSS a uma página HTML, essencialmente para ter uma folha de estilo interna, algo como isso:</p>
<pre>&lt;style type="text/css" media="all"&gt;
  <strong>@import url(macaco.css);</strong>
&lt;/style&gt;
</pre>
<p>O benefício disso é o fato de que navegadores mais antigos, como o Netscape 4.x, por não terem idéia das regras @, não vão ligar a folha de estilos, o que, se você tiver uma marcação bem-estrurada, vai deixar o HTML puro funcional (embora sem estilo).</p>
<h3>Tipos de mídia</h3>
<p>A regra <em>@media</em> aplica seu conteúdo a um determinado meio de visualização, tal como a impressão. Por exemplo:</p>
<pre><strong>@media print {</strong>
  body {
    font-size: 10pt;
    font-family: times new roman, times, serif;
  }
  #navegacao {
    display: none;
  }
<strong>}</strong></pre>
<p>Os meios de visualização são:</p>
<ul>
<li>all – para todos os meios abaixo, acima, ao redor e dentro do sol.
<li>aural – Para sintetizadores de fala.
<li>handheld – para dispositivos portáteis.
<li>print – para impressoras.
<li>projection – para projetores.
<li>screen – para visualização no computador. </li>
</ul>
<p>Você também pode usar<code> braille, embossed, tty ou tv.</code><br />Nota: De todos esses, os únicos tipos de mídia suportados pelo IE são <em>all</em>, <em>screen</em> e <em>print</em>.</p>
<h3>Conjuntos de caracteres</h3>
<p>A regra <em>@charset</em> simplesmente estabelece a regra de codificação dos caracteres de uma folha de estilos externa. A codificação aparece no alto da folha de estilos e é algo como <em>@charset &#8220;UTF-8&#8221;;</em></p>
<h3>Aparência da fonte</h3>
<p>A regra <em>@font-face</em> é usada para dar uma descrição detalhada de uma fonte e pode incorporar uma fonte externa em seu CSS.<br />Ela requer um descritor da família da font (<em>font-family</em>), ao qual a fonte pode ser referenciada, cujo valor pode ser um nome de uma fonte existente (sobrescrevendo essa fonte onde forem encontradas condições) ou pode ser um nome completamente novo. Para incorporar uma fonte, o descritor <em>src</em> é utilizado. Outros descritores adicionados à regra <em>font-face</em> se tornam condições para que a fonte incorporada seja usada. Por exemplo, se você adicionar um estilo <em>font-weight: bold</em> na regra, o <em>src</em> da <em>font-family</em> só vai ser aplicado a seletores com a propriedade <em>font-family</em> se a propriedade <em>font-weight</em> for definida como <em>bold</em> (negrito).<br />Você pode usar uma regra <em>font-face</em> como essa:</p>
<pre><strong>@font-face</strong> {
	<strong>font-family: umnomequalquer;</strong>
	<strong>src: url(algumafonte.eot);</strong>
	font-weight: bold;
}

p {
	<strong>font-family: umnomequalquer;</strong>
	font-weight: bold;
}</pre>
<p>Isso irá aplicar a fonte <em>algumafonte.eof</em> aos parágrafos (Mais não iria se o seletor <em>p</em> não fosse definido como <em>font-weight:bold</em>).<br />Suporte para fontes incorporadas na melhor das hipóteses é irregular. O navegador Mozilla não suporta e não tem planos imediatos para o fazer. Apenas IE tem suporte decente. Para incorporar fontes ao IE, você precisa usar o software da Microsoft <a href="http://64.233.179.104/translate_c?hl=pt-BR&amp;sl=en&amp;tl=pt&amp;u=http://www.microsoft.com/typography/web/embedding/weft3/default.htm&amp;usg=ALkJrhi1FdcTL2nhWzywsXdnfGeyUBSd_A">WEFT</a>, que irá converter os caracteres de uma fonte TrueType em uma fonte OpenType condensada (e isso só pode ser utilizado com a URI que você especificou). Devido a esta limitação (bastante complicada) de compatibilidade, é melhor não usar fontes que não tenham um sistema de fontes alternativo adequado, e evitar usar <em>@font-face</em>.</p>
<h3>Páginas</h3>
<p>A regra <em>@page</em> é para a visualização da página em <strong>mídias de página</strong>, e é um método avançado de aplicar estilos para impressão. Ela define um <strong>bloco de página</strong> que se estende pelo modelo de caixa (veja <a href="https://codando.wordpress.com/2008/03/07/tutorial-iniciante-de-css-margens-e-espaamento/">Margens e Espaçamento</a>) de modo que você define o tamanho e apresentação de uma única página.<br />Há uma série de convenções que se aplicam na regra <em>@page</em>, como não existirem <em>paddings </em>(espaçamentos) ou bordas e não estarmos falando de uma tela de computador &#8211; pixels e em&#8217;s como unidades de medidas não são permitidos.<br />Há uma serie de propriedades específicas que podem ser usadas, tais como <em>size</em> (tamanho), que pode ser definido como <em>portrait</em> (retrato), <em>landscape</em> (paisagem), <em>auto</em> ou um tamanho. A propriedade <em>marks</em> também pode ser usada para definir marcas de corte.</p>
<h4>Pseudo classes para mídia de página.</h4>
<p>Existem três <em><a href="https://codando.wordpress.com/2008/03/18/tutorial-intermedirio-de-css-pseudo-classes/">pseudo classes</a></em> que são usadas especificamente em conjunto com a regra <em>@page</em>, que assumem a forma <code>@page:pseudo-classe { alguma coisa }</code>.<br /><em>:first</em> é aplicada a primeira página de uma mídiade página.<br /><em>:left</em> e <em>:right</em> aplicam-se às páginas da esquerda e da direita, respectivamente. Isto é usado para especificar uma margem esquerda maior em páginas que vão ficar à esquerda e uma margem direita maior para páginas à direita.<br />Há uma série de outras facetas específicas para a regra <em>@page</em> como quebras de linha e nomes de páginas, mas vendo que esta regra dificilmente funciona em algum navegador, você provavelmente já desperdiçou tempo suficiente lendo esta parte. É uma idéia bem agradável, no entanto&#8230;</p>
<h4>Páginas Relacionadas</h4>
<ul>
<li>Próxima Página: <a href="https://codando.wordpress.com/2008/07/14/tutorial-avanado-de-css-pseudo-elementos/">Pseudo Elementos</a>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/13/tutorial-avanado-de-css-layout-da-pgina/">Layout da Página</a>
<li><a href="https://codando.wordpress.com/2008/07/07/tutorial-avanado-de-html-declaraes/">Declarações</a> &#8211; Para comparações entre a regra <em>@charset</em> e a declaração do conjunto de caracteres no HTML
<li><a href="https://codando.wordpress.com/2008/03/18/tutorial-intermedirio-de-css-pseudo-classes/">Pseudo Classes</a>
<li><a href="https://codando.wordpress.com/2008/03/06/tutorial-iniciante-de-css-texto/">Texto</a> &#8211; Uma companhia útil se você está usando a regra <em>@font-face</em>. </li>
</ul>
<p><em>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</em></p>
<pre></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-regras/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">176</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS &#8211; Layout da P&#225;gina</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-layout-da-pgina/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-layout-da-pgina/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:20:08 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[htmldog]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=175</guid>

					<description><![CDATA[Construir layouts com CSS é fácil. Se você está acostumado a desenhar suas páginas com tabelas, no começo usar CSS pode parecer difícil, mas não é, é apenas diferente e na verdade faz bem mais sentido. Você precisa ver cada parte da página como um pedaço individual que você pode empurrar em qualquer lugar que [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" style="border-width:0;" height="112" alt="Exemplo de p&aacute;gina dividida em se&ccedil;&otilde;es" src="https://codando.wordpress.com/wp-content/uploads/2008/07/image4.png?w=417&#038;h=112" width="417" border="0"></p>
<p>Construir layouts com CSS é fácil. Se você está acostumado a desenhar suas páginas com tabelas, no começo usar CSS pode parecer difícil, mas não é, é apenas diferente e na verdade faz bem mais sentido.</p>
<p>Você precisa ver cada parte da página como um pedaço individual que você pode empurrar em qualquer lugar que você quiser. Você pode posicionar esses pedaços de modo aboluto ou em relação a outro pedaço.</p>
<h3>Posicionamento</h3>
<p>A propriedade <a href="http://www.htmldog.com/reference/cssproperties/position/"><em>position</em></a> é usada pra definir se um elemento está posicionado de forma absoluta (valor <em>absolut</em>), relativa (<em>relative</em>), estática (<em>static</em>) ou fixa (<em>fixed</em>).</p>
<p>O valor <em>static</em> é o valor padrão e renderiza os elementos na ordem normal, como eles aparecem no HTML.</p>
<p><em>relative</em> é bem parecido com <em>static</em>, mas os elementos podem ser deslocados de sua posição original com as propriedades <a href="http://www.htmldog.com/reference/cssproperties/top/">top</a> (topo), <a href="http://www.htmldog.com/reference/cssproperties/right/">right</a> (direita), <a href="http://www.htmldog.com/reference/cssproperties/bottom/">bottom</a> (inferior) e <a href="http://www.htmldog.com/reference/cssproperties/left/">left</a> (esquerda).</p>
<p><em>absolute</em> empurra um elemento pra fora do fluxo normal do HTML e o coloca em seu próprio mundo. Em seu pequeno e louco mundo, o elemento absoluto pode ser colocado em qualquer lugar na&nbsp; página usando <a href="http://www.htmldog.com/reference/cssproperties/top/">top</a>, <a href="http://www.htmldog.com/reference/cssproperties/right/">right</a>, <a href="http://www.htmldog.com/reference/cssproperties/bottom/">bottom</a> e <a href="http://www.htmldog.com/reference/cssproperties/left/">left</a> pra definir a distância de cada lado.</p>
<p><em>fixed</em> funciona como <em>absolute</em>, mas o elemento vai ser posicionado em relação à <strong>janela</strong> e não em relação à <strong>página</strong>, então, teoricamente, um elemento fixado deve ficar exatamente onde ele está na tela mesmo quando a página é rolada. Por que teoricamente? Pelo motivo de sempre &#8211; isso funciona perfeitamente em navegadores como Mozilla e Opera, mas no IE não funciona de jeito nenhum.</p>
<h3>Layout usando posicionamento absoluto</h3>
<p>Você pode criar um layout tradicional com duas colunas usando posicionamento absoluto se você tem algo como o HTML seguinte:</p>
<pre>&lt;div id="navegacao"&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="esse.html"&gt;Esse&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="aquele.html"&gt;Aquele&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="oOutro.html"&gt;O Outro&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id="conteudo"&gt;
  &lt;h1&gt;Ra ra banjo banjo&lt;/h1&gt;
  &lt;p&gt;Bem-vindo à página Ra ra banjo banjo page. Ra ra banjo banjo. Ra ra banjo banjo. Ra ra banjo banjo.&lt;/p&gt;
  &lt;p&gt;(Ra ra banjo banjo)&lt;/p&gt;
&lt;/div&gt;</pre>
<p>E se você aplicar o CSS abaixo:</p>
<pre>#navegacao {
	<strong>position: absolute;</strong>
	<strong>top: 0;</strong>
	<strong>left: 0;</strong>
	width: 10em;
}

#conteudo {
	margin-left: 10em;
}</pre>
<p>Você vai ver que isso vai levar a barra de navegação pra esquerda e modificar a largura pra 10 em&#8217;s. Porque a navegação está posicionada absolutamente, ela não tem nada a ver com o fluxo do resto da página, e por isso é necessário definir a margem esquerda da área de conteúdo como sendo igual a largura da barra de navegação.</p>
<p>Fácil até demais. E você não está limitado a essa abordagem de duas colunas. Com um posicionamento mais engenhoso, você pode dispor de quantos blocos você quiser. Se você quisesse adicionar uma terceira coluna, por exemplo, você poderia adicionar o pedaço &#8216;navegacao2&#8217; no seu HTML e mudar seu CSS para:</p>
<pre>#navegacao {
  position: absolute;
  top: 0;
  left: 0;
  width: 10em;
}

#navegacao2 {
  position: absolute;
  top: 0;
<strong>  right: 0;</strong>
  width: 10em;
}

#conteudo {
  margin: 0 10em; /* definindo as margens superior e inferior pra 0 e a esquerda e direita pra 10em */
}</pre>
<p>A única desvantagem de elementos posicionados absolutamente é que eles vivem num mundo próprio, não existe nenhum jeito preciso de determinar aonde eles vão parar. Se você for usar os exemplos acima e todas as suas páginas têm barras de navegação pequenas e áreas de conteúdo grandes, tudo bem. Mas, especialmente quando usar valores relativos para larguras e tamanhos, você geralmente tem que abandonar qualquer esperança de posicionar qualquer coisa, como um rodapé, embaixo desses elementos. Se você quiser fazer algo assim vai ser necessário flutuar todos os seus pedaços, ao invés de posicioná-los absolutamente.</p>
<h3>Flutuando</h3>
<p>Flutuar um elemento vai deslocá-lo para a direita ou esquerda de uma linha, com o conteúdo fluindo ao seu redor.</p>
<p>Flutuar normalmente é usado para posicionar elementos menores em uma página (Veja o exemplo <em>:first-letter</em> na página sobre <a href="http://www.htmldog.com/guides/cssadvanced/pseudoelements/">Pseudo Elementos</a>), mas também pode ser usada para porções maiores, como colunas de navegação.</p>
<p>Usando o HTML do exemplo acima, você pode aplicar o CSS seguinte:</p>
<pre>#navegacao {
<strong>  float: left;</strong>
  width: 10em;
}

#navegacao2 {
<strong>  float: right;</strong>
  width: 10em;
}

#conteudo {
  margin: 0 10em;
}</pre>
<p>Se você não quer que o póximo elemento envolva os elementos flutuando, você pode aplicar a propriedade <em>clear</em> (limpar). <em>clear: left</em> vai limpar elementos flutuados para a esquerda, <em>clear:right</em> vai limpar elementos flutuados para a direita e <em>clear: both</em> vai limpar elementos flutuados para a esquerda e direita. Então se, por exemplo, você quiser um rodapé na sua página, você pode usar um pedaço de HTML com a id &#8216;rodape&#8217; e adicionar o CSS seguinte:</p>
<pre>#rodape {
	<strong>clear: both;</strong>
}</pre>
<p>E aí está. Um rodapé que vai aparecer debaixo de todas as colunas, independente do tamanho de qualquer uma delas.</p>
<p>Essa foi uma introdução geral sobre posicionamento e flutação, com ênfase nos &#8216;pedaços&#8217; maiores de uma página, mas lembre-se que esses métodos podem ser aplicados também em qualquer elemento dentro desses pedaços. Com uma combinação de posicionamento, flutuação, margens, <em>paddings</em> (enchimentos) e bordas, você pode representar QUALQUER design web.</p>
<p>Qualquer coisa que puder ser feita com tabelas pode ser feita melhor com CSS. A ÚNICA razão para usar tabelas na construção do <em>layout</em> é se você está tentando acomodar navegadores anciãos, que não suportam CSS.</p>
<p>Para se aprofundar na construção de layouts com CSS, é altamente recomendado que você acompanhe o tutorial &#8220;<a href="http://cafecomgelo.wordpress.com/tutorial-de-css/">Criando um Layout com CSS a partir do zero</a>&#8220;, feito pelo <a href="http://www.subcide.com/tutorials/csslayout/">Subcide</a> e traduzido pelo <a href="http://cafecomgelo.wordpress.com">Café com Gelo</a>. E não esqueça de conferir o código-fonte dos exemplos dessa página &#8211; é importante!</p>
<p>É aqui que CSS mostra mesmo suas vantagens &#8211; ele resulta numa página altamente acessível com apenas uma pequena fração do peso de uma página equivalente baseada em tabelas.</p>
<h4>Páginas Relacionadas</h4>
<ul>
<li>Próxima Página: <a href="https://codando.wordpress.com/2008/07/13/tutorial-avanado-de-css-regras/">Regras @</a>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/">Display</a>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/">A propriedade Display</a>
<li><a href="https://codando.wordpress.com/2008/03/09/tutorial-intermedirio-de-html-span-e-div/">Tags Span e Div</a>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-pseudo-elementos/">Pseudo Elementos</a> &#8211; Para um exemplo de flutuação. </li>
</ul>
<h4>Exemplos</h4>
<ul>
<li><a href="http://www.htmldog.com/examples/positioning1.html">Posicionamento 1</a> &#8211; estático
<li><a href="http://www.htmldog.com/examples/positioning2.html">Posicionamento 2</a> &#8211; relativo
<li><a href="http://www.htmldog.com/examples/positioning3.html">Posicionamento 3</a> &#8211; absoluto
<li><a href="http://www.htmldog.com/examples/positioning4.html">Posicionamento 4</a> &#8211; absoluto num caixa relativa
<li><a href="http://www.htmldog.com/examples/float1.html">Flutuando 1</a> &#8211; uma caixa simples flutuada
<li><a href="http://www.htmldog.com/examples/float2.html">Flutuando 2</a> &#8211; duas cixas flutuadas
<li><a href="http://www.htmldog.com/examples/float3.html">Flutuando 3</a> &#8211; limpando caixas flutuadas
<li><a href="http://www.htmldog.com/examples/pagelayout1.html">Layout de uma página 1</a> &#8211; duas colunas parte 1 &#8211; posicionando uma coluna de navegação
<li><a href="http://www.htmldog.com/examples/pagelayout2.html">Layout de uma página 2</a> &#8211; duas colunas parte 2 &#8211; usando <em>margin</em> para tirar o conteúdo debaixo da coluna de navegação
<li><a href="http://www.htmldog.com/examples/pagelayout2.html">Layout de uma página 3</a> &#8211; usando bordas pra fornecer o background de uma coluna
<li><a href="http://www.htmldog.com/examples/pagelayout4.html">Layout de uma página 4</a> &#8211; três colunas
<li><a href="http://www.htmldog.com/examples/pagelayout5.html">Layout de uma página 5</a> &#8211; adicionando um cabeçalho
<li><a href="http://www.htmldog.com/examples/pagelayout6.html">Layout de uma página 6</a> &#8211; rodapés nem sempre funcionam com colunas posicionadas absolutamente
<li><a href="http://www.htmldog.com/examples/pagelayout7.html">Layout de uma página 7</a> &#8211; adicionando um rodapé usando colunas flutuadas
<li><a href="http://www.htmldog.com/examples/darwin.html">Charles Darwin</a> &#8211; uma versão estilizada dos princípios básicos dos exemplos anteriores </li>
</ul>
<h4>Referência</h4>
<ul>
<li><a href="http://www.htmldog.com/reference/cssproperties/position/">position</a>
<li><a href="http://www.htmldog.com/reference/htmltags/div/">div tag</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/width/">width</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/margin/">margin</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/left/">left</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/right/">right</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/float/">float</a>
<li><a href="http://www.htmldog.com/reference/cssproperties/clear/">clear</a> </li>
</ul>
<p><em>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-layout-da-pgina/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">175</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image4.png" medium="image">
			<media:title type="html">Exemplo de p&#225;gina dividida em se&#231;&#245;es</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS: A propriedade Display</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:10:32 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/</guid>

					<description><![CDATA[Um truque chave na manipulação de elementos HTML é entender que não existe absolutamente nada especial no modo como a maioria deles funciona. A maioria das páginas pode ser feita com apenas algumas tags que podem ser estilizadas do jeito que você quiser. A representação visual padrão do navegador da maioria dos elementos HTML consiste [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" src="https://codando.wordpress.com/wp-content/uploads/2008/07/image8.png?w=415&#038;h=112" border="0" alt="image" width="415" height="112" /></p>
<p>Um truque chave na manipulação de elementos HTML é entender que não existe absolutamente nada especial no modo como a maioria deles funciona. A maioria das páginas pode ser feita com apenas algumas tags que podem ser estilizadas do jeito que você quiser. A representação visual padrão do navegador da maioria dos elementos HTML consiste apenas de diversos estilos de fontes, margens, espaçamentos e, principalmente, tipo de exibição (<em>display type</em>).</p>
<p>Os tipos de exibição mais básicos são <strong>inline</strong>, <strong>block-line </strong>e <strong>none</strong> e eles podem ser manipulados com a propriedade CSS <a href="http://htmldog.com/reference/cssproperties/display/"><em>display</em></a> e os valores <em>inline</em>, <em>block</em> e <em>none</em>.</p>
<p><em>inline</em> significa &#8220;na linha&#8221; e faz só o que diz &#8211; elementos do tipo <em>inline</em> seguem o fluxo de uma linha. Os elementos <strong>ênfase forte ( &lt;strong&gt; )</strong>, <strong>âncora ( &lt;a&gt; )</strong> e <strong>ênfase ( &lt;em&gt; )</strong> geralmente são exibidos <em>inline</em>.</p>
<p><em>block</em> coloca uma quebra de linha antes e depois do elemento. Os elementos <strong>cabeçalho ( &lt;h1&gt; até &lt;h6&gt; )</strong> e <strong>parágrafo ( &lt;p&gt; ) </strong>geralmente são mostrados em blocos. São os chamados &#8220;elementos de bloco&#8221;.</p>
<p><em>none</em>, bem, não mostra o elemento. Pode soar meio inútil mas pode ser usado para bons efeitos relacionados à acessibilidade (veja <a href="https://codando.wordpress.com/2008/06/04/tutorial-avanado-de-html-links-acessveis/">Links Acessíveis</a>), folhas de estilo alternativas ou efeitos avançados de <em>hover</em> ( = mouse sobre o elemento).</p>
<p>A folha de estilos original para o site <a href="http://htmldog.com">HTML Dog</a>, por exemplo, manipula alguns elementos tradicionalmente <em>inline</em> e de bloco para se ajustar ao design.</p>
<pre>h1 {
  <strong>display: inline;</strong>
  font-size: 2em;
}

#cabecalho p {
  <strong>display: inline;</strong>
  font-size: 0.9em;
  padding-left: 2em;
}</pre>
<p>O código abaixo é usado em folhas de estilo apenas para impressão e basicamente &#8220;desliga&#8221; esses elementos, como navegação, que são insignificantes em páginas impressas.</p>
<pre>#navegacao, #vejaTambem, #comentarios {
<strong>display: none;</strong>
}</pre>
<p>A diferença entre <em>display: none</em> e <em>visibility:hidden</em> é que <em>display: none</em> retira completamente o elemento da jogada, enquanto <em>visibility: hidden</em> mantém o elemento e o espaço que ele ocupa na página, sem representar visualmente seu conteúdo. Por exemplo, se o segundo parágrafo numa página com três fosse definido como <em>display: none</em>, o terceiro parágrafo ia subir pra perto do primeiro, mas se o segundo parágrafo fosse definido como <em>visibility: hidden</em>, existiria um espaço vazio entre o primeiro e o terceiro, onde o parágrafo ia estar.</p>
<h3>Tabelas</h3>
<p>Talvez o melhor jeito de entender os valores da propriedade <em>display</em> relacionadas a tabelas é pensar em tabelas HTML. Os valores <em>table, table-row</em> e <em>table-cell</em> imitam os elementos <em>table, tr</em> e <em>td,</em> respectivamente.</p>
<p>A propriedade <em>display</em> vai além, oferecendo os valores <em>table-column</em> (coluna de tabela), <em>table-row-group</em> (grupo de linhas), <em>table-column-group</em> (grupo de colunas), <em>table-header-group</em> (grupo de cabeçalhos da tabela), <em>table-caption</em> (legenda da tabela), todos auto-explicativos. Usar esses valores permite fazer com que qualquer conjunto de elementos HTML seja visualizado como uma tabela. O benefício mais óbvio desses valores é que você pode construir uma tabela através de suas colunas, ao invés do método baseado em linhas do HTML.</p>
<p>Por último, o valor <em>inline-table</em> basicamente faz com que a tabela não tenha quebras de linha antes e depois.</p>
<p>Ficar fascinado por tabelas com CSS pode prejudicar seriamente sua acessibilidade. HTML deve ser usado pra comunicar significado, então se você tem dados tabulares eles devem ser organizados em tabelas HTML. Usar apenas tabelas CSS pode resultar numa mistura de dados completamente ilegível sem CSS. Mal, muito mal.</p>
<h3>Outros tipos de exibição</h3>
<p><em>list-item</em> (&#8220;item de lista&#8221;) é auto explicativo, e é mostrado do jeito que você geralmente espera que um elemento <em>li</em> seja. Pra funcionar direito, elementos com esse tipo de exibição devem ser aninhados em um elemento <em>ul</em> ou <em>ol</em>.</p>
<p><em>run-in</em> faz com que um elemento seja <em>inline</em> ou de bloco dependendo do tipo de exibição de seu elemento pai. Ele não funciona no IE nem em navegadores baseados no Mozilla. Muito útil, não é?</p>
<p><em>compact</em> também faz com que um elemento seja <em>inline</em> ou de bloco dependendo do contexto. Também não funciona tão bem&#8230;</p>
<p><em>marker</em> é usado exclusivamente com os <a href="https://codando.wordpress.com/?p=178">pseudo elementos</a> <em>:before</em> e <em>:after</em> pra definir o <em>display</em> do valor da propriedade <em>content</em>. O <em>display</em> padrão para a propriedade <em>content</em> já é <em>marker</em>, então isso só é útil se você estiver sobrescrevendo a propriedade <em>display</em> para um pseudo elemento.</p>
<h4>Páginas Relacionadas</h4>
<ul>
<li>Próxima Página: <a href="https://codando.wordpress.com/2008/07/13/tutorial-avanado-de-css-layout-da-pgina/">Layout de Página</a></li>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css/">Introdução</a></li>
<li><a href="https://codando.wordpress.com/2008/03/09/tutorial-intermedirio-de-html-span-e-div/">Tags Span e Div</a></li>
<li><a href="https://codando.wordpress.com/2008/07/05/tutorial-avanado-de-html-dominando-tabelas/">Dominando Tabelas</a> &#8211; Pode de ajudar a entender melhor os valores de <em>display</em> relacionados a tabelas.</li>
</ul>
<h4>Exemplos</h4>
<ul>
<li><a href="http://htmldog.com/examples/blockinline1.html">Bloco e inline 1</a></li>
<li><a href="http://htmldog.com/examples/blockinline2.html">Bloco e inline 2</a></li>
<li><a href="http://htmldog.com/examples/blockinline3.html">Bloco e inline 3</a> &#8211; o não-tão-suportado <em>display: inline-block</em></li>
</ul>
<h4>Referência</h4>
<ul>
<li><a href="http://htmldog.com/reference/cssproperties/display/">display</a></li>
<li><a href="http://htmldog.com/reference/cssproperties/visibility/">visibility</a></li>
</ul>
<p><em>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">183</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Avan&#231;ado de CSS</title>
		<link>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css/</link>
					<comments>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css/#comments</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:05:00 +0000</pubDate>
				<category><![CDATA[css]]></category>
		<category><![CDATA[htmldog]]></category>
		<category><![CDATA[avancado]]></category>
		<category><![CDATA[cssavancado]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css/</guid>

					<description><![CDATA[O Tutorial Avançado de CSS é pra quem quer levar CSS ao extremo, explorando métodos que podem não ser imediatamente óbvios para um desenvolvedor intermediário. Conteúdos A Propriedade Display &#8211; Definindo o modo de exibição de um elemento. Layout de Página &#8211; Construindo uma página sem tabelas. Regras @ &#8211; Importando folhas de estilo, estilos [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" src="https://codando.wordpress.com/wp-content/uploads/2008/07/image9.png?w=405&#038;h=106" border="0" alt="image" width="405" height="106" /></p>
<p>O Tutorial Avançado de CSS é pra quem quer levar CSS ao extremo, explorando métodos que podem não ser imediatamente óbvios para um desenvolvedor intermediário.</p>
<h3>Conteúdos</h3>
<ul>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/">A Propriedade Display</a> &#8211; Definindo o modo de exibição de um elemento.</li>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-layout-da-pgina/">Layout de Página</a> &#8211; Construindo uma página sem tabelas.</li>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-regras/">Regras @</a> &#8211; Importando folhas de estilo, estilos para tipos de mídia diferentes especificando o conjunto de caracteres de uma folha de estilos e incorporando fontes.</li>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-pseudo-elementos/">Pseudo Elementos</a> &#8211; Estilizando primeiras letras, primeiras linhas e colocando conteúdo antes e depois de elementos.</li>
<li><a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-html-especificidade/">Especificidade</a> &#8211; Como um navegador lida com regras CSS conflitantes.</li>
</ul>
<h4>Páginas Relacionadas</h4>
<ul>
<li>Próxima Página: <a href="https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css-a-propriedade-display/">A Propriedade Display</a></li>
<li>Página Anterior: <a href="https://codando.wordpress.com/2008/07/07/tutorial-avanado-de-html-declaraes/">Declarações</a> (Tutorial Avançado de HTML)</li>
<li><a href="https://codando.wordpress.com/2008/05/27/tutorial-avanado-de-html/">Tutorial Avançado de HTML</a></li>
<li><a href="https://codando.wordpress.com/2008/03/16/tutorial-intermedirio-de-css/">Tutorial Intermediário de CSS</a></li>
<li><a href="https://codando.wordpress.com/2008/03/03/tutorial-iniciante-de-css/">Tutorial Iniciante de CSS</a></li>
</ul>
<p><em>Esse material é uma adaptação do <a href="http://htmldog.com/guides/cssadvanced/">CSS Advanced Tutorial</a>, de autoria de <a href="http://www.htmldog.com/">Patrick Griffiths</a>. Todos os direitos pertencem ao autor.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/20/tutorial-avanado-de-css/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">186</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>

		<media:content url="https://codando.wordpress.com/wp-content/uploads/2008/07/image9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Rails Summit Brazil 2008: Eu vou!</title>
		<link>https://codando.wordpress.com/2008/07/07/rails-summit-brazil-2008-eu-vou/</link>
					<comments>https://codando.wordpress.com/2008/07/07/rails-summit-brazil-2008-eu-vou/#respond</comments>
		
		<dc:creator><![CDATA[Elomar França]]></dc:creator>
		<pubDate>Tue, 08 Jul 2008 01:44:10 +0000</pubDate>
				<category><![CDATA[meta]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railssummit]]></category>
		<guid isPermaLink="false">http://codando.wordpress.com/?p=172</guid>

					<description><![CDATA[Pra quem ainda não tá sabendo, esse ano vai ter o evento mais legal! mais power! mais empolgante! que o Brasil já viu. Panamericanos chegam nem perto, tô falando é do Rails Summit Brazil 2008. É um evento de Rails (séeerio?) mais ou menos no estilo da RailsConf, que o Akita trouxe pra nós através [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pra quem ainda não tá sabendo, esse ano vai ter o evento mais legal! mais power! mais empolgante! que o Brasil já viu. Panamericanos chegam nem perto, tô falando é do <a href="http://www.akitaonrails.com/2008/7/4/est-chegando-a-hora-rails-summit-brazil-2008">Rails Summit Brazil 2008</a>.</p>
<p>É um evento de Rails (séeerio?) mais ou menos no estilo da RailsConf, que o <a href="http://www.akitaonrails.com">Akita</a> trouxe pra nós através da <a href="http://locaweb.com.br">Locaweb</a> (ou a Locaweb trouxe através do Akita, enfim&#8230;)</p>
<p>Olha o nível dos palestrantes:</p>
<blockquote><p><a href="http://www.loudthinking.com/"><strong>David Hansson</strong></a> (somente ele será via video online, ele estará na Europa nesse dia, os outros serão presenciais); o grande <a href="http://chadfowler.com/"><strong>Chad Fowler</strong></a> ; os mantenedores do JRuby, <a href="http://headius.blogspot.com/"><strong>Charles Nutter</strong></a> e <a href="http://www.bloglines.com/blog/ThomasEEnebo"><strong>Thomas Enebo</strong></a> ; diretamente da Holanda, da <a href="http://phusion.nl/">Phusion</a> teremos <a href="http://ninh.nl/blog/"><strong>Ninh Bui</strong></a> e <a href="http://izumi.plan99.net/blog/"><strong>Hongli Lai</strong></a> ; o mantenedor do <a href="http://rspec.info/">RSpec</a>, <a href="http://blog.davidchelimsky.net/"><strong>David Chelimsky</strong></a> ; o criador do <a href="http://github.com/">Github</a>, <a href="http://errtheblog.com/"><strong>Chris Wanstrath</strong></a> ; ninguém menos que <a href="http://drnicwilliams.com/"><strong>Dr. Nic Williams</strong></a> ; o escritor do livro <em>The Rails Way</em>, <a href="http://www.jroller.com/obie/"><strong>Obie Fernandez</strong></a> ; também <a href="http://blog.jayfields.com/"><strong>Jay Fields</strong></a>, da ThoughtWorks. E quem não fala inglês, não se preocupem, teremos tradução simultânea de inglês para português.</p>
<p>E também muitos grandes Railers brasileiros como <a href="http://blogblogs.com.br/"><strong>Manoel Lemos</strong></a>, da <a href="http://www.brasigo.com.br/">Brasigo</a> ; <a href="http://www.treinatom.com.br/"><strong>Carlos Eduardo</strong></a>, da <a href="http://www.egenial.com.br/">e-Genial</a> ; <a href="http://fabiokung.com/"><strong>Fabio Kung</strong></a>, nosso JRuby-man, da <a href="http://www.caelum.com.br/">Caelum</a> ; o grande <a href="http://www.improveit.com.br/"><strong>Vinicius Teles</strong></a> da <a href="http://www.improveit.com.br/">Improve it</a> ; <a href="http://www.pagestacker.com/br/about#george"><strong>George Guimarães</strong></a> do <a href="http://www.pagestacker.com/">Pagestacker</a>.</p></blockquote>
<p>Massa, não é?</p>
<p>E sabe o legal? Eu vou! Tá tudo praticamente certo, começar a juntar a grana e me preparar. Tenho certeza que vão ser os dias mais legais que eu já tive. Conversar sobre Rails com o Akita, bater um papo sobre XP com o Vinicius Teles, conhecer o Manoel Lemos, cara que montou<a href="http://blog.brasigo.com.br/2008/04/22/enquanto-o-manoel-nao-chega/"> a equipe mais legal do Brasil</a>? Não tem preço.</p>
<p>E se você é de Natal e vai aparecer também, entra em contato comigo (elomar.f@gmail.com)! Tô procurando mais gente que vá pra montar uma caravana natalense.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codando.wordpress.com/2008/07/07/rails-summit-brazil-2008-eu-vou/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">172</post-id>
		<media:content url="https://1.gravatar.com/avatar/a30d961b02ca936046513223db4da900fb23963e91d49de1c0dd4366922e52f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elomar</media:title>
		</media:content>
	</item>
	</channel>
</rss>
