<?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>Rogério Lino &#187; ie</title>
	<atom:link href="http://rogeriolino.com/tags/ie/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeriolino.com</link>
	<description>Desenvolvimento Web, tecnologia, jogos e etcetera</description>
	<lastBuildDate>Wed, 01 Feb 2012 19:22:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>CSS: Centralizar Horizontal e Vertical #2</title>
		<link>http://rogeriolino.com/2007/10/29/css-centralizar-horizontal-e-vertical-2/</link>
		<comments>http://rogeriolino.com/2007/10/29/css-centralizar-horizontal-e-vertical-2/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 01:30:47 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[absolute]]></category>
		<category><![CDATA[centralizar]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[table-cell]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[vertical-align]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/10/29/css-centralizar-horizontal-e-vertical-2/</guid>
		<description><![CDATA[<p>Há algum tempo postei sobre como centralizar verticalmente e horizontalmente usando CSS, o que gerou alguns posts de visitantes revoltados porque não funcionava no IE7, fato que na época eu não tinha testado para essa versão do IE.</p> <p>Então, mesmo depois de muito tempo da versão já lançada, deixo um novo post testados nos browsers [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo postei sobre como centralizar verticalmente e horizontalmente usando CSS, o que gerou alguns posts de visitantes revoltados porque não funcionava no IE7, fato que na época eu não tinha testado para essa versão do IE.</p>
<p>Então, mesmo depois de muito tempo da versão já lançada, deixo um novo post testados nos browsers Firefox 2, IE6, IE7 e Opera 9.</p>
<pre name="code" class="css">
html, body {
    width: 100%;
    height: 100%;
    padding: 0px;
    margin: 0px;
}

#table {
    width: 100%;
    height: 100%;
    position: static;
    display: table;
    *overflow: hidden; /* hack para o IE6 e IE7 */
    *position: relative; /* hack para o IE6 e IE7 */
}

#cell {
    vertical-align: middle;
    display: table-cell;
    position: static;
    *top: 50%; /* hack para o IE6 e IE7 */
    *position: absolute; /* hack para o IE6 e IE7 */
}

#conteudo {
    top: -50%;
    width: 500px;
    margin: auto;
    position: relative;
    background: red;
}
</pre>
<p><a href="http://rogeriolino.wordpress.com/2007/01/17/css-centralizar-horizontal-e-vertical/" title="Centralizar Horizontal e Vertical">link para o outro post e comentários</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/10/29/css-centralizar-horizontal-e-vertical-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS: Position Fixed IE</title>
		<link>http://rogeriolino.com/2007/01/23/css-position-fixed-ie/</link>
		<comments>http://rogeriolino.com/2007/01/23/css-position-fixed-ie/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 17:15:28 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[fixa]]></category>
		<category><![CDATA[fixed]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[posicao]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/23/css-position-fixed-ie/</guid>
		<description><![CDATA[<p>Um atributo muito interessante quem tem na propriedade position é o fixed.</p> <p>Com ele você pode posicionar um objeto no palco (como se fosse absolute) só que ele sempre estará na &#8220;mesma posição&#8221;, mesmo rolando a tela.</p> <p>Infelizmente o IE (até o 6) não reconhece esse atributo, mas antes de sairmos tentando bolar um código [...]]]></description>
			<content:encoded><![CDATA[<p>Um <strong>atributo</strong> muito interessante quem tem na propriedade position é o <strong>fixed</strong>.</p>
<p>Com ele você pode posicionar um objeto no palco (como se fosse absolute) só que ele sempre estará na &#8220;mesma posição&#8221;, mesmo rolando a tela.</p>
<p>Infelizmente o IE (até o 6) não reconhece esse atributo, mas antes de sairmos tentando bolar um código em javascript para ficar posicionando a janela quando o usuário rolar a tela. Vamos usar só o CSS.</p>
<p><strong>Pensando: </strong>Poderíamos usar como <strong>position</strong> o <strong>absolute</strong> já que com ele a gente tem uma liberdade maior para posicionar o objeto. Mas ainda temos o problema com a rolagem.</p>
<p>Mas tem o <strong>overflow</strong>, podemos colocar como <strong>auto</strong> para criar uma barra de rolagem para o que ultrapassar o limite, e o nosso objeto continuará sempre no mesmo lugar.  <strong>Pronto!</strong></p>
<p>Nos <strong>browser espertos</strong> (smarts) fica assim:</p>
<pre name="code" class="css">
#menu {
    top: 15%;
    left: 50px;
    width: 200px;
    padding: 20px 0px;
    border: 2px solid #CCCCCC;
    position: fixed;
}
</pre>
<p>Dá para notar que é como estivéssemos colocando como absolute mesmo (<em>left, top</em>). Só isso basta.</p>
<p>Agora para o <strong>IE</strong> vamos colocar o CSS dentro de um comentário do HTML (que por sua vez só ele mesmo para ler como código o comentário):</p>
<pre name="code" class="html">
&lt;!--[if IE]&gt;
&lt;style type="text/css"&gt;
html, body {
    height: 100%;
    overflow: auto;
}
#menu {
    position: absolute;
}
&lt;/style&gt;
&lt;![endif]--&gt;
</pre>
<p>Colocamos o <strong>body</strong> e o <strong>html</strong> com <strong>overflow auto</strong> e <strong>altura 100%</strong> para confirmar que sua altura é toda a janela (a visão do usuário). E definimos o objeto com <strong>postion absolute</strong>, não precisamos colocar <strong>left</strong> nem <strong>top</strong>, porque já foram passados acima, e só estamos <strong>sobrescrevendo</strong> (position).</p>
<p><a href="http://www17.brinkster.com/chivalrous/exemplos/position_fixed.html" title="Position Fixed Ie" target="_blank">Veja esse exemplo funcionando</a>. Dê uma olhada no código-fonte.</p>
<p>Na internet podemos encontrar outros métodos para isto. Vi um que continha expressões javascript no CSS (coisa do IE) e outro que usava javascript puro para posicionar.</p>
<p><strong>Para mais exemplos, resultado da busca:</strong></p>
<p><a href="http://www.google.com.br/search?q=position+fixed+ie&amp;ie=utf-8&amp;oe=utf-8&amp;rls=org.mozilla:t-BR;%20Alexa:official&amp;client=firefox-a" title="Resultado da Busca" target="_blank">Powered Google</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/23/css-position-fixed-ie/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS: Centralizar Horizontal e Vertical</title>
		<link>http://rogeriolino.com/2007/01/17/css-centralizar-horizontal-e-vertical/</link>
		<comments>http://rogeriolino.com/2007/01/17/css-centralizar-horizontal-e-vertical/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 23:50:22 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[absolute]]></category>
		<category><![CDATA[centralizar]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[table-cell]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[vertical-align]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/17/css-centralizar-horizontal-e-vertical/</guid>
		<description><![CDATA[<p>Uma grande dúvida que sempre surge é como centralizar um elemento no HTML, tanto verticalmente quanto horizontalmente, usando CSS.</p> <p>Há duas maneiras de se fazer isso sem muito trabalho.</p> <p>A primeira consiste em definir a posição do objeto como absolute e suas posições top e left com 50% e tirando a diferença (subtraindo) da metade [...]]]></description>
			<content:encoded><![CDATA[<p>Uma grande dúvida que sempre surge é como centralizar um elemento no HTML, tanto verticalmente quanto horizontalmente, usando CSS.</p>
<p>Há duas maneiras de se fazer isso sem muito trabalho.</p>
<p>A primeira consiste em definir a posição do objeto como <strong>absolute</strong> e suas posições <strong>top</strong> e<strong> left </strong>com <strong>50% </strong>e tirando a diferença (subtraindo) da metade de sua altura e metade de sua largura na margem. Por exemplo se um elemento tem <strong>500px</strong> de <strong>largura </strong>e <strong>400px</strong> de <strong>altura</strong> na margem vai ter um valor <strong>negativo</strong> (para <strong>top </strong>e <strong>left</strong>) igual a metade destes valores:</p>
<pre name="code" class="css">
#minhaDiv {
    width: 500px;
    height: 400px;
    top: 50%;
    left: 50%;
    margin-top: -200px;
    margin-left: -250px;
    position: absolute;
    border: 1px solid black;
}
</pre>
<p>Ou resumindo: <em><strong>margin: </strong>-200px auto auto -250px; </em></p>
<p>Pronto sua div vai ficar centralizada na janela. Mas temos um problema com isso.</p>
<p>Nesse caso sabemos o valor da altura do objeto, então tiramos a diferença na margem. Mas e se tivessemos um objeto em que sua altura pode variar (ou seja não sabemos o valor da altura) ?</p>
<p>Podemos solucionar isso usando o <strong>vertical-align</strong>, mas para ele funcionar temos que definir o<strong> display </strong>da div como <strong>table</strong>. A má notícia é que o nosso amigo <strong>IE</strong> não reconhece essa propriedade (e nem o valor table como display). A boa notícia que usando um hack para o IE dá pra acertar isso.</p>
<p>A estrutura para simular uma tabela fica assim:</p>
<pre name="code" class="html">
&lt;div id="tabela"&gt;
    &lt;div id="cell"&gt;
        &lt;div id="conteudo"&gt;
            &lt;p&gt;parágrafo&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>E definimos no CSS o display da div <strong>tabela</strong> como <strong>table</strong> e da div <strong>cell</strong> como <strong>table-cell</strong>. Mas antes temos que acertar o <strong>html, body</strong> e a <strong>tabela</strong> para <strong>100%</strong> (largura e altura).</p>
<pre name="code" class="css">
html, body {
    width: 100%;
    height: 100%;
    margin: 0px; /* retirando a margem padrão */
    padding: 0px; /* retirando o padding padrão */
}

#table {
    width: 100%;
    height: 100%;
    display: table;
}

#cell {
    display: table-cell;
}
</pre>
<p>Com as divs já funcionando como tabela vamos definir a <strong>vertical-align</strong> como <strong>middle</strong>, isso na div <strong>cell</strong>.</p>
<pre name="code" class="css">
#cell {
    vertical-align: middle;
    display: table-cell;
}
</pre>
<p>Falta agora setar a <strong>margin</strong> do conteudo como <strong>auto</strong>. E colocar um valor para largura, senão vai ficar 100%.</p>
<pre name="code" class="css">
#conteudo {
    width: 500px;
    margin: auto;
}
</pre>
<p>Pronto, a div já vai aparecer centralizada no browser. Mas ainda está faltando o nosso amigo <strong>IE</strong>.</p>
<p>A idéia é quase a mesma da primeira situação. Como antes do <strong>conteudo</strong> temos uma div (<strong>cell</strong>), a gente defini seu <strong>position </strong>como <strong>absolute</strong>, e <strong>top</strong> como <strong>50%</strong>. E na conteudo com <strong>position</strong> como <strong>relative</strong>, e <strong>top</strong> como <strong>-50%</strong>.</p>
<p>Lembrando que para não atrapalhar a definição correta, usaremos um hack que só influenciará no Internet Explorer.</p>
<p>Ficando o <strong>CSS final</strong> assim:</p>
<pre name="code" class="css">
html, body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
}

#table {
    width: 100%;
    height: 100%;
    display: table;
    background: #f1f1f1;
}

#cell {
    vertical-align: middle;
    display: table-cell;
    _position: absolute;
    _top: 50%;
}

#conteudo {
    width: 500px;
    margin: auto;
    padding: 20px;
    border: 1px solid black;
    _position: relative;
    _top: -50%;
}
</pre>
<p>E o <strong>HTML</strong>:</p>
<pre name="code" class="html">
&lt;div id="table"&gt;
    &lt;div id="cell"&gt;
        &lt;div id="conteudo"&gt;
            &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>Mais <strong>sobre</strong>:</p>
<p><a href="http://www17.brinkster.com/chivalrous/tutoriais/centralizar.html" target="_blank">Exemplo com a primeira situação</a></p>
<p><a href="http://www.maujor.com/tutorial/centrar-vertical.php" title="Centralizar Vertical" target="_blank">Maujor &#8211; Centralizar Vertical </a></p>
<p><strong>[update testado="IE6, IE7, FIREFOX 2 e OPERA 9"]</strong></p>
<pre name="code" class="css">
html, body {
    width: 100%;
    height: 100%;
    padding: 0px;
    margin: 0px;
}

#table {
    width: 100%;
    height: 100%;
    position: static;
    display: table;
    *overflow: hidden; /* hack para o IE6 e IE7 */
    *position: relative; /* hack para o IE6 e IE7 */
}

#cell {
    vertical-align: middle;
    display: table-cell;
    position: static;
    *top: 50%; /* hack para o IE6 e IE7 */
    *position: absolute; /* hack para o IE6 e IE7 */
}

#conteudo {
    top: -50%;
    width: 500px;
    margin: auto;
    position: relative;
    background: red;
}
</pre>
<p><strong>[/update] </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/17/css-centralizar-horizontal-e-vertical/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
	</channel>
</rss>

