<?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>Vinicius Braga</title>
	<atom:link href="http://viniciusbraga.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://viniciusbraga.com</link>
	<description>Design Aplicado</description>
	<lastBuildDate>Fri, 06 Apr 2012 15:39:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CSS Framework &#8211; Colunas em Porcentagem</title>
		<link>http://viniciusbraga.com/artigos/2007/06/css-framework-colunas-em-porcentagem/</link>
		<comments>http://viniciusbraga.com/artigos/2007/06/css-framework-colunas-em-porcentagem/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 15:00:49 +0000</pubDate>
		<dc:creator>viniciusbraga</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://viniciusbraga.com/?p=1</guid>
		<description><![CDATA[Neste artigo iremos tratar do método de criação de colunas flexíveis com Folha de Estilo (CSS), capaz de funcionar em qualquer browser (Cross-Browser) com W3C Web Standards e Internet Explorer 6+. No caso de querer pular direto para um exemplo funcional, veja: http://viniciusbraga.com/demo/colunas-porcentagem.html Propriedades da linha delimitadora de colunas Em uma estrutura básica com colunas, [...]]]></description>
			<content:encoded><![CDATA[	<p>Neste artigo iremos tratar do método de criação de colunas flexíveis com Folha de Estilo (<span class="caps">CSS</span>), capaz de funcionar em qualquer browser (Cross-Browser) com W3C Web Standards e Internet Explorer 6+. <span id="more-1"></span></p>

	<p>No caso de querer pular direto para um exemplo funcional, veja:<br />
<a href="http://viniciusbraga.com/demo/colunas-porcentagem.html">http://viniciusbraga.com/demo/colunas-porcentagem.html</a></p>

	<h3>Propriedades da linha delimitadora de colunas</h3>

	<p>Em uma estrutura básica com colunas, é necessário ter um elemento capaz de delimitar a área na qual as colunas irão se posicionar dividindo o conteúdo.</p>

	<p>O elemento possui duas características:</p>

	<ol>
		<li><strong>Um comportamento de bloco delimitador</strong> do conteúdo externo;</li>
		<li>E ser capaz de <strong>organizar as colunas</strong> no seu limite, sem deixá-las sair.</li>
	</ol>

	<p>Esta estrutura será uma classe que chamaremos de <strong>row</strong> (linha em inglês).</p>

<pre><code>.row { margin: 0; padding: 0; overflow: hidden;  }
* html .row { height: 100%; overflow: visible; } /* IE6 */
</code></pre>

	<p>Esta classe para ser repetidamente utilizada, precisa ser simples e fundamental. Ela deve evitar propriedades capazes de atrapalhar a sua função de delimitar e ser neutra. Segue a explicação da razão de cada propriedade da regra:</p>

	<h4>Sobre as margens: <code>margin: 0; padding: 0;</code></h4>

	<p>Nós aplicamos nas margens externas (<strong>margin</strong>) e nas internas (<strong>padding</strong>) o valor zero, garantindo a ausência de margens na largura total da linha.</p>

	<h4>Sobre o a propriedade: <code>overflow: hidden;</code></h4>

	<p>Para definirmos o limite e comportamento do conteúdo dentro da <strong>classe row</strong>, iremos usar a propriedade <strong>overflow</strong> para disciplinar o conteúdo. Como não estou definindo uma altura com um unidade fixa (pixel, milímetro, pontos, etc&#8230;), a altura da <strong>classe row</strong> se ajustará ao tamanho do maior conteúdo da linha.</p>

	<h4>Altura para o Internet Explorer: <code>height: 100%;</code></h4>

	<p>O Internet Explorer não respeita os limites impostos pela propriedade <strong>overflow</strong> sem uma definição na propriedade de altura. Então definimos: <code>height: 100%;</code></p>

	<p>Esta propriedade, para o Internet Explorer 6 (IE6), funciona bem e não apresenta problemas nos outros browsers, mas sempre observe as atualizações do Internet Explorer. Veja mais sobre a <a href="http://msdn2.microsoft.com/en-us/library/bb250496.aspx">compatibilidade do <span class="caps">CSS</span> no Internet Explorer 7</a> .</p>

	<p>É comum, nas atualizações da Microsoft, as propriedades do <span class="caps">CSS</span> modificarem o seu comportamento. Esse tipo de problema pode ser facilmente resolvido usando o <a href="http://rafael.adm.br/css_browser_selector"><span class="caps">CSS</span> Browser Selector</a> de Rafael Lima, já mundialmente reconhecido.</p>

	<h3>Propriedades e formatação das colunas</h3>

	<p>Com o mesmo espírito de simplicidade de criação da <strong>classe row</strong>, iremos produzir as regras para as nossas colunas. Basicamente, existirão dois modelos de colunas.</p>

	<ol>
		<li><strong>Coluna com tamanho em porcentagem</strong>; e</li>
		<li><strong>Coluna coringa</strong>.</li>
	</ol>

	<h3>Coluna com tamanho em porcentagem</h3>

	<p>Iremos acrescentar <strong>duas regras especificando uma classe</strong>. Um coluna com 50% de largura segue descrita no <span class="caps">CSS</span> como:</p>

<pre><code>.col50 { width:50%; }
.col50 { margin: 0; padding: 0; float: left; }
</code></pre>

	<p>A especificação das colunas com porcentagem em duas regras, com visto acima, facilita e otimiza o código <span class="caps">CSS</span>, evitando a repetição das propriedades comuns às classes das colunas.</p>

	<p>Esse padrão de código se repete nos valores que você necessita para o seu layout. Para criarmos uma coluna de 25% neste sistema, basta acrescentar:</p>

<pre><code>.col25 { width:25%; }
.col50 { width:50%; }
.col25, .col50 { margin: 0; padding: 0; float: left; }
</code></pre>

	<h3>Coluna coringa</h3>

	<p>A coluna coringa  não tem especificação de largura, ocupando qualquer espaço restante não ocupado pelas outras colunas na linha.</p>

	<p>O nome desta classe é apenas <strong>col</strong>. O seu comportamento é semelhante da <strong>classe row</strong>, já explicada neste artigo. Logo podemos, simplesmente, acrescentar o nome da classe junto com a regra semelhante já existente:</p>

<pre><code>.col, .row { margin: 0; padding: 0; overflow: hidden; }
* html .row  { overflow: visible; height: 100%; } /* only IE6 */
* html .col  { overflow: visible; float: left;}  /* only IE6 */
</code></pre>

	<h3>Código final</h3>

	<p>Usando este padrão de criação de colunas, você rapidamente pode montar um layout, funcionando em todos os browsers que atendem as especificações do W3C.</p>

<pre><code>/* Cross-Browser CSS Flexible Columns Framework
* Author: Vinicius Braga
* Author URI: http://viniciusbraga.com/css-cross-browser-framework/
*/
.col25 { width:25%; }
.col30 { width:30%; }
.col50 { width:50%; }
.col60 { width:60%; }
.col25, .col30, .col50, .col60 { margin: 0; padding: 0; float: left; }
.col, .row { margin: 0; padding: 0; overflow: hidden; }
* html .row  { overflow: visible; height: 100%; } /* only IE6 */
* html .col  { overflow: visible; float: left;}  /* only IE6 */
/* Framework End */ </code></pre>

	<p>Outras informações úteis, veja : <a href="http://viniciusbraga.com/demo/">http://viniciusbraga.com/demo/</a></p>]]></content:encoded>
			<wfw:commentRss>http://viniciusbraga.com/artigos/2007/06/css-framework-colunas-em-porcentagem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

