<?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>Como Criar Sites &#124; Aprenda grátis como fazer seu site &#187; after</title>
	<atom:link href="http://www.comocriarsites.com/tag/after/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.comocriarsites.com</link>
	<description>Aprenda a criar sites, html e manhas para fazer seu site.</description>
	<lastBuildDate>Wed, 06 Jan 2010 12:51:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Estilo Float (CSS Style Float)</title>
		<link>http://www.comocriarsites.com/html-css/estilo-float-css-style-float/</link>
		<comments>http://www.comocriarsites.com/html-css/estilo-float-css-style-float/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 02:04:26 +0000</pubDate>
		<dc:creator>Raoni Novellino</dc:creator>
				<category><![CDATA[HTML CSS]]></category>
		<category><![CDATA[after]]></category>
		<category><![CDATA[clearfix]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[estilo]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[folha de estilo]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://www.comocriarsites.com/?p=115</guid>
		<description><![CDATA[Vamos ver como funciona o estilo float (style float) e algumas dicas para que ele possa ser utilizado corretamente. Ele serve para dizer onde o elemento vai &#8220;flutuar&#8221; na página. Isso é usado em elementos do tipo bloco (block &#8211; como &#60;div&#62;, &#60;p&#62;, &#60;img&#62; e outros) para faze-lo ficar exatamente onde você quiser, sem precisar [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-large;">V</span>amos ver como funciona o estilo <em>float</em> (<em>style float</em>) e algumas dicas para que ele possa ser utilizado corretamente. Ele serve para dizer onde o elemento vai &#8220;flutuar&#8221; na página. Isso é usado em elementos do tipo bloco (<em>block</em> &#8211; como <em><strong>&lt;div&gt;</strong></em>, <em><strong>&lt;p&gt;</strong></em>, <em><strong>&lt;img&gt;</strong></em> e outros) para faze-lo ficar exatamente onde você quiser, sem precisar usar tabela (<em>tableless</em>). Para uma renderização correta do elemento com o estilo <em>float</em>, o mesmo deve ter especificado a sua largura (<em>width</em>).</p>
<h3>Valores para o Estilo <em>Float</em></h3>
<p>Os valores para o estilo <em>float</em> podem ser:</p>
<h4>none</h4>
<p>- Esse é o valor definido para o elemento não &#8220;flutuar&#8221; para lado algum. Você não precisa colocar esse estilo se você desejar esse valor.</p>
<h4>left</h4>
<p>- Esse valor faz o elemento &#8220;flutuar&#8221; a esquerda, deixando qualquer outro elemento a direita desse elemento.</p>
<h4>right</h4>
<p>- Esse valor faz o elemento &#8220;flutuar&#8221; a direita, deixando qualquer outro elemento a esquerda desse elemento.</p>
<p>Existem outros valores para o estilo <em>float</em>, mas normalmente são irrelevantes e quase nunca, se não nunca, serão usados, pelo menos eu nunca vi.</p>
<p>O estilo <em>float</em> faz o elemento se sobrepor aos outros elemento da página. Ele também faz o elemento meio que flutuar na página, podendo gerar alguns erros no fluxo dos elementos da página. Nós veremos algumas dicas para corrigir esses erros no final desse post.</p>
<h3>Exemplificando o Estilo <em>Float</em></h3>
<p>Agora vou colocar um exemplo do código para o estilo <em>float</em>. Para ver os exemplos abaixo funcionando entre em <a title="Exemplo de Estilo Float" href="http://www.comocriarsites.com/exemplos/estilo_float.html">Exemplo de Estilo Float</a>. Primeiro um exemplo do elemento sem o <em>float</em>.</p>
<h4>Sem Float</h4>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; min-height: 50px; border: 1px solid black;"&gt;
	&lt;div style="width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="width: 50px; height: 50px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
</div>
<p>Esse é o exemplo para você ver como seria exibido os elementos sem o estilo <em>float</em>. Ele desenha um retângulo com dois quadrados dentro, só que esses quadrados estão exibidos um embaixo do outro.</p>
<h4>Float Left</h4>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; height: 50px; border: 1px solid black;"&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo temos o mesmo retângulo, só que os quadrados internos dele estão com o estilo <em>float: left</em> e vemos que não há quebra de linha entre os elementos e todos estão alinhados a esquerda.</p>
<h4>Float Right</h4>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; height: 50px; border: 1px solid black;"&gt;
	&lt;div style="float: right; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: right; width: 50px; height: 50px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo temos quase a mesma coisa do exemplo passado, só que os elementos internos estão alinhados a direita, porque temos o estilo <em>float: right</em> nos elementos internos.</p>
<h4>Float Left-Right</h4>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; height: 50px; border: 1px solid black;"&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: right; width: 50px; height: 50px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
</div>
<p>Esse exemplo é para mostrar como podemos colocar na mesma linha dois elementos sem usar tabela, para isso usamos em um elemento o estilo <em>float: left</em> e no outro o estilo <em>float: right</em>.</p>
<h2>Dicas para Resolver Problemas com o Estilo <em>Float</em></h2>
<p>Umas das propriedades de elementos que utilizam o estilo <em>float</em> é que ele não ajusta a altura do elemento pai de acordo com a sua altura. Veja esses exemplos funcionando em <a title="Exemplo Estilo Float Manha" href="http://www.comocriarsites.com/exemplos/estilo_float_manha.html">Exemplo Estilo Float Manha</a>. E vamos ao código:</p>
<h3>Float sem Ajuste de Altura</h3>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; height: 50px; border: 1px solid black; background-color: yellow;"&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: left; width: 50px; height: 75px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 200px; height: 50px; border: 1px solid black; background-color: gray;"&gt;&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo temos um elemento pai, que é um retângulo, com dois elementos filhos dentro, mas um dos elementos filhos está com a altura (height) maior que a do elemento pai, e como esse elemento filho está com o estilo <em>float</em> definido, o elemento pai não vai cobrir todo o elemento filho, então o elemento filho vai ficar uma parte fora do elemento pai. Logo embaixo existe outro elemento que deveria ficar após a altura total do elemento mais alto dos elementos anteriores a ele, só que não acontece, e o elemento filho acima, que tem altura maior, fica sobre o elemento que está mais abaixo no esquema.</p>
<h3>Float com Ajuste de Altura por Estilo Clear</h3>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div style="width: 200px; min-height: 50px; border: 1px solid black; background-color: yellow;"&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: left; width: 50px; height: 75px; background-color: red;"&gt;&lt;/div&gt;
	&lt;div style="clear: both;"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 200px; height: 50px; border: 1px solid black; background-color: gray;"&gt;&lt;/div&gt;</pre>
</div>
<p>Para corrigir o ajuste de altura, temos algumas técnicas, mas a técnica exemplificada foi a de limpar (<em>clear</em>) o estilo <em>float</em> no final do elemento pai, para ser ajustada a altura dele corretamente. Isso normalmente é feito colocando em uma tag <em><strong>&lt;div&gt;</strong></em> o estilo <em>clear: both</em>. Você pode também criar uma classe com o estilo <em>clear: both</em> e atribuir essa classe a um elemento sempre que você precisar limpar o <em>float</em>.</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>div.limpar {
	clear: both;
}

&lt;div class="limpar"&gt;&lt;/div&gt;</pre>
</div>
<p>Para saber mais sobre o estilo <em>clear</em> acesse <a title="Estilo Clear (CSS Style Clear)" href="http://www.comocriarsites.com/html-css/estilo-clear-css-style-clear/">Estilo Clear (CSS Style Clear)</a>.</p>
<p>Se você colocar o <strong><em>&lt;div&gt;</em></strong> com o estilo <em>clear: both</em> após o fechamento do elemento pai, o próximo elemento vai ficar corretamente posicionado, mas o elemento pai ainda vai ficar com a altura errada.</p>
<h3>Float com Ajuste de Altura por Estilo Overflow</h3>
<p>Outro ajuste para fixar a altura correta é colocar o estilo <em>overflow: auto</em> no elemento pai. Ele vai se ajustar automaticamente a altura dos elemento filhos. Mas essa técnica não é muito interessante já que se você quiser utilizar o estilo <em>overflow</em> do elemento pai para algum outro propósito não vai poder.</p>
<p>Se você quiser saber mais sobre o estilo <em>overflow</em> acesse <a title="Estilo Overflow (CSS Style Overflow)" href="http://www.comocriarsites.com/html-css/estilo-overflow-css-style-overflow/">Estilo Overflow (CSS Style Overflow)</a>.</p>
<h3>Float com Ajuste de Altura por Pseudo Elemento <em>After</em></h3>
<p>Existe uma técnica que chama mais atenção por ser teoricamente melhor, porém é um pouco mais complexa, que é a técnica chamada <em>clearfix</em>, que consiste em fazer o <em>clear</em> com o pseudo elemento <em>after</em>, para os navegadores que tem esse pseudo elemento, e para o IE antigo, que não suporta o pseudo elemento <em>after</em>, fazer com que o elemento pai tenha a propriedade <em><strong>hasLayout</strong></em>. Para o elemento ter a propriedade <em><strong>hasLayout</strong></em> basta colocar o estilo <em>zoom: 1</em> nele.</p>
<p>Vamos ao código:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;style type="text/css"&gt;

.clearfix {display: inline-block;} /* isso serve para IE/Mac */

.clearfix:after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
	font-size: 0;
	visibility: hidden;
}

* html .clearfix { zoom: 1; }
.clearfix { display: block; }

&lt;/style&gt;

&lt;div style="width: 200px; min-height: 50px; border: 1px solid black; background-color: yellow;" class="clearfix"&gt;
	&lt;div style="float: left; width: 50px; height: 50px; background-color: blue;"&gt;&lt;/div&gt;
	&lt;div style="float: left; width: 50px; height: 75px; background-color: red;"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 200px; height: 50px; border: 1px solid black; background-color: gray;"&gt;&lt;/div&gt;</pre>
</div>
<p>Como pode ver no código acima, a técnica consiste em aplicar uma classe que tenha o pseudo elemento <em>after</em>, no elemento pai dos elementos que irão &#8220;flutuar&#8221; na página. O pseudo elemento <em>after</em> coloca um espaço logo após o elemento pai, mas coloca ele invisível e com a propriedade <em>clear: both</em>. Os elementos de cima da folha de estilos servem para ajeitar esse bug no IE/Mac e os de baixo servem para antigas versões do IE.<em></em></p>
<p>Para saber mais sobre o pseudo elemento <em>after</em> entre em <a title="CSS Pseudo Elementos: First-Letter, First-Line, Before e After" href="http://www.comocriarsites.com/html-css/css-pseudo-elementos-first-letter-first-line-before-e-after/">CSS Pseudo Elementos: First-Letter, First-Line, Before e After</a>.</p>
<h3>Outras Técnicas</h3>
<p>Uma outra técnica menos abordada é dar ao elemento pai o estilo <em>display: table</em>, mas acho que essa técnica não é muito boa, porque utiliza um estilo que nós podemos querer utilizar para outros fins. Essa técnica é abordada no site <a title="CSS: Truques para dominar a propriedade Float" href="http://www.richardbarros.com.br/blog/css/css-truques-para-dominar-a-propriedade-float">CSS: Truques para dominar a propriedade Float</a>, mas sem muitas explicações de por que essa técnica funciona.</p>
<p>Para saber mais sobre as outras técnicas de posicionamento, leia <a title="CSS float: considerações, dicas e macetes para bons layouts na web" href="http://www.desenvolvimentoparaweb.com/css/css-float-consideracoes-dicas-e-macetes-para-bons-layouts-na-web/">CSS float: considerações, dicas e macetes para bons layouts na web</a> e <a title="How To Clear Floats Without Structural Markup" href="http://www.positioniseverything.net/easyclearing.html">How To Clear Floats Without Structural Markup</a>.</p>
<p>E para corrigir algum bug do IE com relação a margem colocada na mesma direção qual o elemento flutue, veja <a title="Bug Fix: IE Double Margin Float Bug" href="http://www.cssnewbie.com/double-margin-float-bug/">Bug Fix: IE Double Margin Float Bug</a>.</p>
<p>Para criação e hospedagem profissional de websites e sistemas, acesse <a title="criação e hospedagem profissional de websites e sistemas panasoft" href="http://www.panasoft.com.br">Panasoft</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.comocriarsites.com/html-css/estilo-float-css-style-float/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS Pseudo Elementos: First-Letter, First-Line, Before e After</title>
		<link>http://www.comocriarsites.com/html-css/css-pseudo-elementos-first-letter-first-line-before-e-after/</link>
		<comments>http://www.comocriarsites.com/html-css/css-pseudo-elementos-first-letter-first-line-before-e-after/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 04:49:53 +0000</pubDate>
		<dc:creator>Raoni Novellino</dc:creator>
				<category><![CDATA[HTML CSS]]></category>
		<category><![CDATA[after]]></category>
		<category><![CDATA[before]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[first-letter]]></category>
		<category><![CDATA[first-line]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[pseudo classe]]></category>
		<category><![CDATA[pseudo elemento]]></category>

		<guid isPermaLink="false">http://www.comocriarsites.com/?p=126</guid>
		<description><![CDATA[Os pseudo elementos servem para modificar algumas partes do documento que não ficam na árvore do documento.
Se você quer saber como utilizar um pseudo elemento, é como utilizar uma pseudo classe, acesse Entendendo CSS (folhas de estilo): Cascading Style Sheet &#8211; Parte 2.
Pseudo Elemento First-Letter
O pseudo elemento first-letter é utilizado para colocar na primeira letra [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-large;">O</span>s pseudo elementos servem para modificar algumas partes do documento que não ficam na árvore do documento.</p>
<p>Se você quer saber como utilizar um pseudo elemento, é como utilizar uma pseudo classe, acesse <a title="Entendendo CSS (folhas de estilo): Cascading Style Sheet - Parte 2" href="http://www.comocriarsites.com/html-css/entendendo-css-folhas-de-estilo-cascading-style-sheet-parte-2/">Entendendo CSS (folhas de estilo): Cascading Style Sheet &#8211; Parte 2</a>.</p>
<h2>Pseudo Elemento <em>First-Letter</em></h2>
<p>O pseudo elemento <em>first-letter</em> é utilizado para colocar na primeira letra do elemento um estilo especificado. Exemplo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;style type="text/css"&gt;
.fletter:first-letter {
	font-size: 30px;
}
&lt;/style&gt;

&lt;div class="fletter"&gt;Primeira letra vai ser maior que a outras.&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo a primeira letra do texto dentro do <em><strong>&lt;div&gt;</strong></em> terá o tamanho de 30 pixels. Você pode ver esse exemplo funcionando em <a title="Pseudo Classe - First-Letter e First-Line" href="http://www.comocriarsites.com/exemplos/pseudoelemento1.html">Pseudo Elemento &#8211; First-Letter e First-Line</a>.</p>
<p>O pseudo elemento <em>first-letter</em> somente funciona com elementos de bloco e também somente funcionam alguns estilos, como: propriedades de fonte, propriedades de cor, propriedades de fundo (<em>background</em>), propriedades de margens, propriedades de <em>padding</em> (sabe lá como se traduz isso), propriedades de bordas, <em>text-decoration</em>, <em>vertical-align</em> (se o estilo for <em>float: none</em>), <em>text-transform</em>, <em>line-height</em>, <em>float</em> e <em>clear</em>.</p>
<h2>Pseudo Elemento <em>First-Line</em></h2>
<p>O pseudo elemento <em>first-line</em> é utilizado para colocar na primeira linha do elemento um estilo especificado. Exemplo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;style type="text/css"&gt;
.fline {
	width: 200px;
}
.fline:first-line {
	font-size: 30px;
}
&lt;/style&gt;

&lt;div class="fline"&gt;Primeira linha vai ser maior que a outras.&lt;/div&gt;</pre>
</div>
<p>No exemplo acima, a primeira linha do texto dentro do <strong><em>&lt;div&gt;</em></strong> terá o tamanho de 30 pixels. Você pode ver esse exemplo funcionando em <a title="Pseudo Classe - First-Letter e First-Line" href="http://www.comocriarsites.com/exemplos/pseudoelemento1.html">Pseudo Elemento &#8211; First-Letter e First-Line</a>.</p>
<p>O pseudo elemento first-line funciona somente em elementos de bloco e com os mesmos estilos especificados na parte do <em>first-letter.</em></p>
<h2>Pseudo Elemento <em>Before</em></h2>
<p>O pseudo elemento <em>before</em> adiciona algum conteúdo antes do elemento ao qual ele é definido. Exemplo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;style type="text/css"&gt;
.clabef:before {
	content: 'P: ';
}
&lt;/style&gt;

&lt;div class="clabef"&gt;Antes de qualquer conteúdo do elemento entra o que tem no before.&lt;/div&gt;
&lt;div class="clabef"&gt;Antes de qualquer conteúdo do elemento entra o que tem no before.&lt;/div&gt;
&lt;div class="clabef"&gt;Antes de qualquer conteúdo do elemento entra o que tem no before.&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo vai sempre haver um <em>&#8220;P: &#8220;</em> antes do conteúdo de cada <strong><em>&lt;div&gt;</em></strong>. Você pode ver esse exemplo funcionando em <a title="Pseudo Classe - Before e After" href="http://www.comocriarsites.com/exemplos/pseudoelemento2.html">Pseudo Elemento &#8211; Before e After</a>.</p>
<h2>Pseudo Elemento <em>After</em></h2>
<p>O pseudo elemento <em>after</em> adiciona algum conteúdo depois do elemento ao qual ele é definido. Exemplo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;style type="text/css"&gt;
.claaft:after {
	content: '.';
}
&lt;/style&gt;

&lt;div class="claaft"&gt;Depois de qualquer conteúdo do elemento entra o que tem no after&lt;/div&gt;
&lt;div class="claaft"&gt;Depois de qualquer conteúdo do elemento entra o que tem no after&lt;/div&gt;
&lt;div class="claaft"&gt;Depois de qualquer conteúdo do elemento entra o que tem no after&lt;/div&gt;</pre>
</div>
<p>Nesse exemplo vai sempre haver um <em>&#8220;.&#8221;</em> depois do conteúdo de cada <strong><em>&lt;div&gt;</em></strong>. Você pode ver esse exemplo funcionando em <a title="Pseudo Classe - Before e After" href="http://www.comocriarsites.com/exemplos/pseudoelemento2.html">Pseudo Elemento &#8211; Before e After</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.comocriarsites.com/html-css/css-pseudo-elementos-first-letter-first-line-before-e-after/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
