<?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>Top rated never dies &#187; CSS</title>
	<atom:link href="http://www.toprated.com.br/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.toprated.com.br</link>
	<description>Top Rated é um blog sobre o mundo do design com dicas, tutoriais e inspiracao. Artigos sobre CSS, HTML, Photoshop. E claro, um pouco de bom humor</description>
	<lastBuildDate>Fri, 06 Jan 2012 21:09:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>CSS3 &#8211; Text Gradients simples</title>
		<link>http://www.toprated.com.br/css3-text-gradients-simples</link>
		<comments>http://www.toprated.com.br/css3-text-gradients-simples#comments</comments>
		<pubDate>Sun, 24 Apr 2011 21:44:31 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=2301</guid>
		<description><![CDATA[Um efeito bastante simples e útil que o CSS3 tornou possível é o text gradient: essencialmente a aplicação de um gradiente como preenchimento de texto, ao invés de uma única cor. Além de interessante visualmente (se bem utilizado claro), a técnica também pode servir para substituir o uso de algumas imagens, antes necessárias para conseguir este tipo de efeito. Vou mostrar aqui a melhor forma que conheço de utilizá-lo.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/static-content/text-gradient/text-gradient.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/static-content/text-gradient/" target="_blank">Demo</a></div>
<h1>CSS3 Text Gradient</h1>
<p>Antes de tudo: por que esta é a melhor forma?<br />
Existem muitas maneiras de se obter o text gradient. Mas eu prefiro esta porque ela não requer nenhuma alteração no codigo HTML. Não é preciso ficar enchendo o código de tags ou propriedades como data-text só para se conseguir um efeito que daqui há 6 meses ou um ano pode não ser mais desejado.</p>
<p>Então tudo o que você precisa para aplicar o efeito em um título &lt;h1&gt; é:</p>
<pre class="brush: css;">
h1 {
background-image: -webkit-gradient(
linear,
left top, left bottom,
from(rgba(0, 0, 0, 1)),
to(rgba(243, 255, 114, 1))
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size:120px;
}</pre>
<p>Como você já deve ter percebido, as cores são definidas nas linhas <strong>from(rgba(0, 0, 0, 1))</strong> e <strong>to(rgba(243, 255, 114, 1))</strong>. Basta trocar os valores RGBA (RGB + Alpha) pelos das cores do seu gradiente. E pronto. Lembrando claro que o efeito só será visível em browsers compatíveis com CSS3.</p>
<p>Com certeza esta não é a única forma de conseguir o text gradient e se você souber de alguma outra, por favor, compartilhe conosco. Abraço!</p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/css3-text-gradients-simples/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vídeo tutorial: Como corrigir seu CSS rapidamente usando a Firebug</title>
		<link>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug</link>
		<comments>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug#comments</comments>
		<pubDate>Wed, 18 Aug 2010 01:41:03 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=2094</guid>
		<description><![CDATA[No dia a dia de quem desenvolve páginas, sites e aplicativos baseados na web, a <strong>correção de pequenos problemas relacionados ao CSS</strong> é algo constante. Se você trabalha em uma agência digital ou administrando um portal também deve conviver com esse tipo de necessidade. Neste <strong>vídeo tutorial</strong>, o primeiro do blog, vou mostrar como você pode usar a extensão <a href="http://getfirebug.com/" target="_blank">Firebug</a> do Firefox para acelerar e aprimorar o processo de correção desses problemas.]]></description>
			<content:encoded><![CDATA[<p><script type='text/javascript' src='/mediaplayer/swfobject.js'></script></p>
<div id='video-div'>
<div id='mediaspace'></div>
<div id='mask'><img id="mask-player" src="/static-content/firebug/mask-player.gif"></img></div>
</div>
<p></p>
<p>Link para instalação da Firebug: <a href="http://getfirebug.com/" target="_blank">http://getfirebug.com/</a></p>
<style>
#video-div {
position:relative;
}
#mediaspace { z-index:10; }
#mask {
position:absolute;
cursor:pointer;
top:0;
left:0;
z-index:20;
background:url(/static-content/firebug/mask-vid.gif) no-repeat;
width:709px;
height:435px;
}
</style>
<p><script type='text/javascript'>
  var so = new SWFObject('/mediaplayer/player.swf','mpl','709','460','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','transparent');
  so.addVariable('file','/static-content/firebug/firebug.mp4');
  so.addVariable('backcolor','FFFFFF');
  so.addVariable('frontcolor','333333');
  so.addVariable('lightcolor','333333');
  so.addVariable('screencolor','EEEEEE');
  so.addVariable('playerready','playerReadyCallback');
  so.write('mediaspace');
</script></p>
<p><script>
var player;
function playerReadyCallback(obj) {
	player = document.getElementById(obj['id']);
        $('#mask-player').click(function() {
        $('#mask-player').fadeOut();
        player.sendEvent("PLAY","true");
        });
};
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>JQuery + CSS &#8211; Melhore seus botões com o efeito Fade</title>
		<link>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade</link>
		<comments>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade#comments</comments>
		<pubDate>Fri, 16 Jul 2010 03:03:28 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1733</guid>
		<description><![CDATA[Não foi à toa que o jQuery se firmou como uma das melhores bibliotecas javascript disponíveis. Além de levar o desenvolvimento cross-browser a sério e ser muito fácil de usar, o jQuery tem uma enorme quantidade de plugins. Nesse post vou mostrar como você pode usá-lo para adicionar facilmente um efeito de Fade sutil e elegante aos seus botões.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/static-content/jquery-button/jquery-button.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/static-content/jquery-button/" target="_blank">Demo</a></div>
<h1>Como funciona</h1>
<p>A mecânica é simples: a função jQuery identifica o elemento onde deve ser aplicado o efeito e insere dentro dela uma tag <strong>&lt;span&gt;</strong>, que é quem realmente receberá o Fade. Tudo o que você precisa saber e fazer é  colocar um pequeno trecho javascript na sua página, ajustar seu CSS e adicionar uma classe ao botão que receberá o efeito.</p>
<p>É exatamente o mesmo efeito que está aplicado aos botões de <strong>Download</strong> e <strong>Demo</strong> no início do post. Você também pode acessar a demonstração e baixar os arquivos para visualizar melhor o código.</p>
<h1>O Javascript</h1>
<p>O primeiro passo é importar o jQuery normalmente. Depois é só inserir a função abaixo. Perceba que logo no início do código, na segunda linha, você deve colocar a classe dos botões que receberão o efeito (nesse caso: <strong>efeito_fade</strong>). Todos os elementos com essa classe serão animados.</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
    $('.efeito_fade').append('<span class="hover"></span>').each(function () {
        var $span = $('&gt; span.hover', this).css('opacity', 0);
        $(this).hover(function () {
            $span.stop().fadeTo(500, 1);
        }, function () {
            $span.stop().fadeTo(500, 0);
        });
    });
});
&lt;/script&gt;
</pre>
<h1>O CSS</h1>
<p>No CSS, a primeira coisa a fazer é criar um botão comum, com a técnica clássica de image replacement para diferenciar o estado normal (&#8220;apagado&#8221;) do estado :hover (&#8220;aceso&#8221;). Ou seja, criar uma imagem que contenha os dois estados do botão e então estilizá-lo usando a propriedade background-position para fazer a troca de um estado para o outro quando o usuário passa o mouse sobre ele.<br />
A única diferença é que ao invés de estilizar o estado :hover em si, você irá estilizar a <strong>tag &lt;span&gt;</strong> que será criada dentro do botão como se fosse o <strong>:hover</strong>, com algumas pequenas mudanças:<br />
A primeira é posicionar o botão relativamente (<strong>position:relative</strong>), para que o &lt;span&gt; fique corretamente colocado dentro dele. A segunda é  posicionar o &lt;span&gt; absolutamente (<strong>position:absolute</strong>) e repetir as mesmas propriedades do botão, ajustando apenas o background. Eu sei, parece complicado, mas veja como o código não tem nada demais:</p>
<pre class="brush: css;">
/* botao 1 */
#seu_botao {
	clear: both;
	position:relative;
	display:block;
	height: 64px;
	width: 570px;
	background:url(images/botao.png) no-repeat;
	background-position:0 0;
	cursor: pointer;
}
#seu_botao span.hover {
	position: absolute;
	display: block;
	height: 64px;
	width: 570px;
	background: url(images/botao.png) no-repeat;
	background-position: bottom;
}

/* botao 2 */
#outro_botao {
	clear: both;
	position:relative;
	display:block;
	height: 64px;
	width: 570px;
	background:url(images/outro.png) no-repeat;
	background-position:0 0;
	cursor: pointer;
}
#outro_botao span.hover {
	position: absolute;
	display: block;
	height: 64px;
	width: 570px;
	background: url(images/outro.png) no-repeat;
	background-position: bottom;
}</pre>
<h1>O HTML</h1>
<p>Como eu disse, a única coisa que você precisa fazer no seu HTML é atribuir a classe indicada na função javascript em todos os elementos que receberão o fade. Nesse caso a classe é a <strong>&#8220;efeito_fade&#8221;</strong>. Veja o código dos dois botões desse exemplo:</p>
<pre class="brush: php;">&lt;a href=&quot;#&quot; id=&quot;seu_botao&quot; class=&quot;efeito_fade&quot;&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;#&quot; id=&quot;outro_botao&quot; class=&quot;efeito_fade&quot;&gt;&lt;/a&gt;</pre>
</p>
<p>Veja abaixo como ficam os botões desse exemplo e perceba que, por ter um código HTML extremamente simples e deixar toda a mágica para o javascript e CSS, os botões podem ser facilmente aplicados a qualquer parte do seu site. Uma dica é experimentar usar essa técnica não apenas para botões, mas também para menus, imagens e outros elementos interativos, tomando sempre cuidado para não exagerar na dose.<br />
<center><br />
<a href="#" id="seu_botao" class="efeito_fade"></a><br />
<br />
<a href="#" id="outro_botao" class="efeito_fade"></a><br />
</center></p>
<link href="http://www.toprated.com.br/static-content/jquery-button/button_styles2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
	$(document).ready(function() {
		$('.efeito_fade').append('<span class="hover"></span>').each(function () {
	  		var $span = $('> span.hover', this).css('opacity', 0);
	  		$(this).hover(function () {
	    		$span.stop().fadeTo(500, 1);
	 		}, function () {
	   	$span.stop().fadeTo(500, 0);
	  		});
		});
	});
</script></p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushJScript.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
<p><script src="http://www.toprated.com.br/wp-content/themes/toprated/js/modernizr.custom.js"></script><br />
<script src="http://www.toprated.com.br/wp-content/themes/toprated/js/waypoints.min.js"></script><br />
<script src="/wp-content/themes/toprated/js/postend.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade/feed</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>CSS &#8211; Centralizando conteúdo verticalmente</title>
		<link>http://www.toprated.com.br/css-centralizando-conteudo-verticalmente</link>
		<comments>http://www.toprated.com.br/css-centralizando-conteudo-verticalmente#comments</comments>
		<pubDate>Fri, 09 Oct 2009 12:58:07 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[problemas]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=984</guid>
		<description><![CDATA[Como centralizar conteúdo verticalmente na página? Essa é uma dúvida comum e várias pessoas já me perguntaram se há alguma forma simples de se fazer.]]></description>
			<content:encoded><![CDATA[<p>Geralmente o que se quer é centralizar uma div ou imagem e é bastante comum ver esse tipo de layout em páginas de aviso, disclaimer e em páginas de sites &#8220;em construção&#8221;. Segue então uma solução que costumo usar:
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script>
</div>
<pre class="brush: css;">
.centralizado {
width: 600px;
height: 300px;
position: absolute;
top: 50%;
margin: -150px 0 0 0;
}
</pre>
<p><strong>Entenda o que fizemos em cada uma das linhas:</strong></p>
<p><strong>width: 600px</strong> : configuramos a largura do elemento que queremos centralizar;<br />
<strong> height: 600px</strong> : configuramos a altura do elemento que queremos centralizar;<br />
<strong>position: absolute</strong> : deixamos o elemento posicionado absolutamente na página;<br />
<strong>top: 50%;</strong> : posicionamos o <strong>topo</strong> do elemento no meio da página, verticalmente;<br />
<strong>margin: -150px 0 0 0;</strong> : para compensar, colocamos uma margem superior com a metade da altura;</p>
<p>Pronto, basta adicionar a classe &#8220;centralizado&#8221; ao seu elemento e ele ficará posicionado no centro vertical da sua página.<br />
E claro, você pode usar o mesmo princípio se quiser centralizar também na horizontal, basta fazer duas pequenas alterações no código, colocando a propriedade left e alterar a margem esquerda. Veja:</p>
<pre class="brush: css;">
.centralizado {
width: 600px;
height: 300px;
position: absolute;
top: 50%;
left: 50%;
margin: -150px 0 0 -300px;
}
</pre>
<p><strong>O que alteramos do código anterior:</strong></p>
<p><strong>left: 50%</strong> : posicionamos a <strong>borda esquerda</strong> do elemento no meio da página, horizontalmente;<br />
<strong>margin: -150px 0 0 -300px</strong> : para compensar, colocamos uma margem esquerda com a metade da largura;</p>
<p>É isso aí, agora o elemento ficará posicionado bem no centro da página, horizontalmente e verticalmente. <a href="http://www.toprated.com.br/exemplos/centralizar.htm" target="_blank">Veja aqui o exemplo publicado</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/css-centralizando-conteudo-verticalmente/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Função javascript para zebrar tabelas</title>
		<link>http://www.toprated.com.br/funcao-javascript-para-zebrar-tabelas</link>
		<comments>http://www.toprated.com.br/funcao-javascript-para-zebrar-tabelas#comments</comments>
		<pubDate>Tue, 02 Dec 2008 02:09:21 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[efeitos]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=629</guid>
		<description><![CDATA[Em primeiro lugar, você deve estar se perguntando: O que diabos quer dizer 'zebrar' uma tabela? Eu explico: uma tabela 'zebrada' é aquela que tem linhas intercaladas com cores diferentes. <a href="http://www.toprated.com.br/exemplos/tabela-zebrada.htm" target="_blank">Dessa maneira</a>.
Não há segredo nenhum em fazer isso, é algo muito simples via CSS. Basta colocar uma class na linha que você quer que tenha uma cor diferente e configurar o background no CSS. Bem, agora você deve estar se perguntando: Ok, se é tão fácil, então pra que eu preciso de um função javascript pra fazer isso? ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.toprated.com.br/exemplos/tabela-zebrada.htm" title="Veja o exemplo" target="_blank"><img src="http://www.toprated.com.br/wp-content/uploads/2008/12/tabela.gif" alt="Tabela zebrada - Veja o exemplo" title="Tabela zebrada - Veja o exemplo" class="size-full wp-image-631" /></a></p>
<h1>Vantagens em usar JS para zebrar uma tabela:</h1>
<p>• Se a sua tabela for extensa, com muitas linhas, isso vai poupar bastante tempo.<br />
• Se os dados vêm de uma base dinâmica, você não precisará alterar a maneira como sua tabela é montada.<br />
• Maior liberdade para mover linhas acima e abaixo sem se preocupar em manter a ordem das classes.<br />
• Se depois o código tiver que ser editado por alguém sem muita intimidade com HTML, você não corre o risco de ficar com a tabela desconfigurada.<br />
• Se você mudar de idéia e quiser tirar o fundo de todas as linhas basta deletar a função, ao invés de ter que editar a tabela toda.</p>
<p><strong>O código da função:</strong></p>
<pre class="brush: php;">&lt;script&gt;
function zebra(id, classe) {
var tabela = document.getElementById(id);
var linhas = tabela.getElementsByTagName(&quot;tr&quot;);
for (var i = 0; i &lt; linhas.length; i++) { 
((i%2) == 0) ? linhas[i].className = classe : void(0);
}
}
&lt;/script&gt;</pre>
</p>
<p>Basicamente, funciona da seguinte forma: a função aceita dois parâmetros, o id da tabela na qual será aplicada a &#8216;zebra&#8217; e o nome da class que você definiu no seu css. Então um loop percorre toda a tabela, atribuindo a classe definida em todas as linhas ímpares.</p>
<p><strong>O código CSS:</strong></p>
<pre class="brush: css;">tr.zebra td {background:#eee;}</pre>
</p>
<p>E para usá-la, basta incluir a seguinte linha após a tabela:</p>
<pre class="brush: php;">&lt;script&gt; zebra('minhatabela', 'zebra'); &lt;/script&gt;</pre>
<p><a href="http://www.toprated.com.br/exemplos/tabela-zebrada.htm" target="_blank">Veja o exemplo</a></p>
<div clas="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/funcao-javascript-para-zebrar-tabelas/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>A melhor largura para cada resolução</title>
		<link>http://www.toprated.com.br/a-melhor-largura-para-cada-resolucao</link>
		<comments>http://www.toprated.com.br/a-melhor-largura-para-cada-resolucao#comments</comments>
		<pubDate>Wed, 26 Nov 2008 01:34:49 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[desenvolvimento]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=617</guid>
		<description><![CDATA[Uma dúvida que muitas vezes aparece na hora em que inicia-se um novo projeto é qual a melhor largura usar para que o site não tenha aquela indesejável rolagem horizontal. Esta pergunta é claro tem ligação direta com o público-alvo do site e a sua resolução de tela mais comum: geralmente 800x600 ou 1024x768. ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/melhor-largura-para-cada-resolucao2.gif" alt="" title="melhor-largura-para-cada-resolucao2" width="209" height="220" class="alignleft size-full wp-image-624" />Outra questão à respeito de rolagem que não aparece com tanta frequência, mas que pode ser tão relevante quanto a largura do layout, é a sua &#8216;altura&#8217;,  ou mais precisamente o posicionamento de elementos importantes acima da área de &#8216;corte&#8217; da tela do browser, aqueles que ficarão visíveis logo no início da página sem que seja necessário que o usuário &#8216;role&#8217; o conteúdo. É essencial ter em mente que esta área é a responsável por causar a primeira impressão no usuário com relação ao site, quando trata-se ainda da primeira visita desse usuário a importância do que está ali é ainda maior. É comprovado que conteúdos otimizados visando esse fato tem taxas de convesão até 40% mais altas e melhores taxas de pageviews/visita.</p>
<p>Então segue aqui uma tabela que eu costumo usar na hora de decidir estes dois fatores, largura e altura:</p>
<style>
#tabela-resolucao {
	width:100%;
	border:1px solid #ddd;
	clear:both;
        float:left;
        margin-bottom:20px;
}
#tabela-resolucao td {
	border-bottom:1px solid #ccc;
	text-align:left;
	padding:14px 5px;
	font-weight:bold;
}
#tabela-resolucao tr.zb td {
	background:#eee;
}
#tabela-resolucao th {
	border-bottom:2px solid #ccc;
	background:#3b8b67;
	font-weight:bold;
	color:#fff;
	text-align:left;
	padding:14px 5px;
}</p>
</style>
<table border="0" cellspacing="0" cellpadding="0" id="tabela-resolucao">
<tr>
<th scope="col">Resolução</th>
<th scope="col">Largura máx [sem scroll]</th>
<th scope="col">Altura [visível]</th>
<th scope="col">Número de usuários atendidos</th>
</tr>
<tr>
<td>800&#215;600</td>
<td>760px</td>
<td>420px</td>
<td>86%</td>
</tr>
<tr class="zb">
<td>1024&#215;768 (recomendado)</td>
<td>960px</td>
<td>550px</td>
<td>+79%</td>
</tr>
<tr>
<td>1024&#215;768 (máximo)</td>
<td>1002px</td>
<td>600px</td>
<td>79%</td>
</tr>
<tr class="zb">
<td>1280&#215;1024</td>
<td>1210px</td>
<td>855px</td>
<td>31%</td>
</tr>
</table>
<p>Alguns bons links onde procurar mais informações sobre o assunto:<br />
<a href="http://www.useit.com/alertbox/screen_resolution.html" target="_blank">Jakob Nielsen &#8211; Screen Resolution and Page Layout</a><br />
<a href="http://www.smashingmagazine.com/2007/11/23/screen-resolutions-and-better-user-experience/" target="_blank">Screen Resolutions and Better User Experience &#8211; Smashing Magazine</a><br />
<a href="http://www.methodologie.com/sizer/" target="_blank">Methodologie Browser Size Test</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/a-melhor-largura-para-cada-resolucao/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>CSS e imagens. Efeitos úteis parte 1, bordas.</title>
		<link>http://www.toprated.com.br/css-e-imagens-efeitos-uteis-parte-1-bordas</link>
		<comments>http://www.toprated.com.br/css-e-imagens-efeitos-uteis-parte-1-bordas#comments</comments>
		<pubDate>Mon, 17 Nov 2008 04:01:23 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[efeitos]]></category>
		<category><![CDATA[imagens]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=597</guid>
		<description><![CDATA[É possível usar CSS para estilizar imagens de muitas formas diferentes, recorrendo à diversas propriedades e combinando-as para conseguir efeitos bem interessantes. Pretendo postar aqui algumas sugestões de como aplicar essas propriedades para obter efeitos bacanas e acima de tudo úteis.]]></description>
			<content:encoded><![CDATA[<h1>Pra começar, uma das mais básicas: borda</h1>
<p><strong>Não vou colocar aqui simplesmente como aplicar bordas em imagens, isso todo mundo já sabe</strong>. O que pouca gente sabe é que também é possível aplicar padding e background em imagens via CSS. A princípio, pode parecer estranho aplicar fundo em imagens, mas isso pode ser usado de maneira bastante versátil, veja os exemplos abaixo:</p>
<style>#css-imagens-borda img { float:left; margin:10px }
#css-imagens-borda .efeito1 { border:1px solid #ccc; padding:12px; background:#fff; }
#css-imagens-borda .efeito2 { border:4px dashed #97915f; background:#e1dc69; padding:10px; }
#css-imagens-borda .efeito3 { border:1px dotted #d5d5cb; background:url(http://www.toprated.com.br/wp-content/uploads/2008/11/bg_stripes.png); padding:12px; clear:both; }
#css-imagens-borda .efeito4 { border:1px solid #d5d5cb; background:url(http://www.toprated.com.br/wp-content/uploads/2008/11/bg_pattern.gif); padding:12px; }</style>
<div id="css-imagens-borda"><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/gordo.gif" class="efeito1" /><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/gordo.gif" class="efeito2" /><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/gordo.gif" class="efeito3" /><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/gordo.gif" class="efeito4" /></div>
<h3>Como funciona?</h3>
<p>Simples: nestes exemplos as bordas em si são apenas a última parte do &#8216;contorno&#8217; das imagens, são os traços mais finos (sólido na primeira e tracejado na segunda). O que vemos no espaço entre as bordas e as imagens é o background e o tamanho deste espaço é determinado pelo valor do padding. Veja o esquema:</p>
<p><img alt="CSS e imagens. Bordas" src="http://www.toprated.com.br/wp-content/uploads/2008/11/css-imagens-boda.gif" class="alignnone" /></p>
<p>Como disse, nada demais. <strong>Agora o código CSS</strong>:</p>
<pre class="brush: css;">.efeito1 { border:1px solid #ccc; background:#fff; padding:12px; }
.efeito2 { border:4px dashed #97915f; background:#e1dc69; padding:10px; }
.efeito3 { border:1px dotted #d5d5cb; background:url(bg_stripes.png); padding:12px; }
.efeito4 { border:1px solid #d5d5cb; background:url(bg_pattern.gif); padding:12px; }</pre>
<p>Dessa forma podemos combinar todas as variações de borda (cores, sólida, tracejada, pontilhada, etc) com o background, no qual podemos usar cores, como nos dois primeiros exemplos, ou imagens, como nos dois últimos.</p>
<p>Faça o <a href="http://www.toprated.com.br/wp-content/uploads/2008/11/css_imagens_01.zip" title="Zip com as imagens, htm e css">download dos arquivos</a>.</p>
<p>Estas são amostras simples do que é possível fazer, lembre-se que usamos apenas 3 propriedades. Podemos combiná-las com muitas outras para alcançar resultados ainda melhores, no próximo post trarei mais idéias.</p>
<div clas="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/css-e-imagens-efeitos-uteis-parte-1-bordas/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS Hacks para Firefox</title>
		<link>http://www.toprated.com.br/css-hacks-para-firefox</link>
		<comments>http://www.toprated.com.br/css-hacks-para-firefox#comments</comments>
		<pubDate>Tue, 11 Nov 2008 15:52:39 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[problemas]]></category>
		<category><![CDATA[solucao]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=570</guid>
		<description><![CDATA[Acredite, mesmo parecendo improvável, em algum momento você precisará de um hack para o Firefox, seja por necessitar de uma correção urgente ou por conta de diferenças entre as versões do próprio navegador. Então separei aqui 3 soluções que podem ajudar bastante.]]></description>
			<content:encoded><![CDATA[<h1>Por que fazer hacks para o Firefox, que exibe o CSS corretamente, se é possível fazer um hack apenas para o IE?</h1>
<p><strong>Primeiro</strong>: o Firefox também tem seus bugs, a própria Mozilla Foundation mantém uma página exclusivamente dedicada à eles, a <a href="https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&#038;order=relevance+desc&#038;bug_status=__open__&#038;content=firefox+css">Bugzilla</a>. Claro, é verdade que se o erro for apenas no Firefox, é possível simplesmente corrigir o CSS para ele e usar um hack do IE para que as coisas fiquem perfeitas nos dois browsers.<br />
Porém, a questão é: O Firefox 3 interpreta algumas propriedades diferentemente do Firefox 2, o que hora ou outra pode causar problemas. E nesses casos é preciso alterar o CSS para apenas uma das versões.</p>
<p><strong>Segundo</strong>: Em alguns casos é necessária uma correção urgente, que não demande tempo para vários testes, alterações no HTM ou várias linhas de CSS. Se o seu site tem milhares de acessos por hora, o ideal é corrigir primeiro, refinar depois.</p>
<p>Seguem então algumas soluções que venho usando:</p>
<h1>CSS Hack apenas para Firefox 2</h1>
<p>Se o seu site está apresentando erro apenas no Firefox 2, agradeça. É o cenário mais simples de resolver, basta usar o seguinte hack:</p>
<pre class="brush: css;">#meudiv { background:red; } /* todos os navegadores */
#meudiv[id=meuDiv] { background:green; }/* só Firefox 2 */</pre>
<p></p>
<p>Como funciona: usamos o seletor de atributos entre chaves para selecionar todos os elementos que tenham id = &#8216;meuDiv&#8217;. Porém perceba que o &#8216;D&#8217; está maiúsculo. Só o Firefox 2 é case-insensitive, ignorando letras maiúsculas e minúsculas. Ou seja, para o Firefox 2 meudiv é igual a meuDiv, para todos os outros navegadores não.</p>
<h1>CSS Hack para Firefox 3</h1>
<p>O problema só aparece no Firefox 3? Bem, aqui as coisas complicam um pouco. Isso porque todos os hacks específicos para esta versão não são totalmente confiáveis em todas as plataformas [windows, mac, linux]. O único hack para FF3 que se comporta de maneira constante em todos os sistemas tem um porém: é reconhecido também pelo IE7:</p>
<pre class="brush: css;">#meudiv { background:red; } /* todos os navegadores */
#meudiv, x:-moz-any-link, x:default { background:yellow; } /* Firefox 3 e IE7 */</pre>
<p></p>
<p>Então é preciso, ao final, adicionar uma linha para restabelecer o valor para o IE7:</p>
<pre class="brush: css;">#meudiv { background:red; } /* todos os navegadores */
#meudiv, x:-moz-any-link, x:default { background:yellow; } /* Firefox 3 e IE7 */
#meudiv { *background:red; } /* Restabelece valor para o IE7 */</pre>
<p></p>
<h1>E, só pra relembrar: &#8216;Hack&#8217; para qualquer Firefox</h1>
<p>Se o problema está aparecendo nas duas versões do Firefox, a solução mais simples é corrigir o CSS focando este erro e, caso o erro venha a ocorrer no IE após a correção, utilizar hacks para o navegador da Microsoft:</p>
<pre class="brush: css;">background-color:red; /* Corrige o problema no FF */
*background-color:blue; /* Retorna o valor para IE */ </pre>
<p></p>
<p>Se tiver dúvida dê uma olhada aqui: <a href="http://www.toprated.com.br/css-hacks-ie6-ie7-firefox">CSS Hacks &#8211; IE6, IE7, Firefox</a></p>
<p>Enfm, mais hacks&#8230; Eu gostaria de não precisar deles, gostaria de escrever meu CSS 100% válido e não ter que redeclarar margin, padding, float duas, três vezes no mesmo código por causa de um ou outro navegador. Mas infelizmente isso não é possível..</p>
<div clas="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/css-hacks-para-firefox/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Top rated no CSSclip</title>
		<link>http://www.toprated.com.br/top-rated-no-cssclip</link>
		<comments>http://www.toprated.com.br/top-rated-no-cssclip#comments</comments>
		<pubDate>Thu, 06 Nov 2008 22:19:43 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[toprated]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=547</guid>
		<description><![CDATA[Fico feliz em contar que o <a href="http://www.cssclip.com/archives/top-rated-never-dies/" target="_blank">Top Rated foi selecionado</a> hoje pelo CSSclip para fazer parte da sua galeria. O <a href="http://www.cssclip.com/archives/top-rated-never-dies/" target="_blank">CSSclip</a> é um site que agrupa diversos layouts baseados em... CSS é claro, para servir de inspiração a outros designers. Ao menos é o que eles dizem.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cssclip.com/archives/top-rated-never-dies/" target="_blank"><img src="http://www.toprated.com.br/wp-content/uploads/2008/11/css-clip-top-rated.gif" alt="" title="CSSclip - Top Rated selecionado" class="size-full wp-image-548" /></a></p>
<p>Então faça o favor de dar um pulo até lá e <a href="http://www.cssclip.com/archives/top-rated-never-dies/" target="_blank">votar</a> agora mesmo neste humilde blog, de preferência colocando 5 estrelas. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/top-rated-no-cssclip/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Classes condicionais &#8211; Seu layout perfeito em todos os browsers com apenas um CSS e sem hacks</title>
		<link>http://www.toprated.com.br/classes-condicionais-seu-layout-perfeito-em-todos-os-browsers-com-apenas-um-css-e-sem-hacks</link>
		<comments>http://www.toprated.com.br/classes-condicionais-seu-layout-perfeito-em-todos-os-browsers-com-apenas-um-css-e-sem-hacks#comments</comments>
		<pubDate>Tue, 21 Oct 2008 01:51:36 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=473</guid>
		<description><![CDATA[Existem várias maneiras de se lidar com as diferenças entre browsers quando se trata de CSS. Eu mesmo já falei sobre <a href="http://www.toprated.com.br/css-hacks-ie6-ie7-firefox" title="CSS hacks" target="_blank">CSS hacks</a>, comentários condicionais e até uma biblioteca JS que corrige os problemas do IE tornando-o standards compliant. Cada uma delas tem suas vantagens e desvantagens, e ainda vou escrever um post sobre isso, prometo.]]></description>
			<content:encoded><![CDATA[<p>Os comentários condicionais costumam ser uma das maneiras mais aceitas e bem vistas de se encarar o problema. Com eles é possível entregar o layout perfeito, sem erros, mantendo o CSS limpo, sem hacks e válido à um custo razoável: o uso um arquivo CSS adicional para o Internet Explorer. Pra quem ainda não conhece, funciona assim:
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script>
</div>
<pre class="brush: css;"> &lt;html&gt;
&lt;head&gt;
&lt;link rel="stylesheet" type="text/css" href="estilos.css" /&gt;
&lt;!--[if IE 6]&gt;
&lt;link rel="stylesheet" type="text/css" href="estilos-para-ie6.css" /&gt;
&lt;![endif]--&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="menu"&gt;conteúdo do site....&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Tudo o que estiver dentro das tags &lt;!&#8211;[if IE 6]&gt; e &lt;![endif]&#8211;&gt; será interpretado apenas pelo Internet Explorer 6. Dessa forma você pode escrever o seu CSS sem nenhum hack, com código 100% válido, e colocar todas as correções em um outro arquivo específico para o IE. A desvantagem é ter 2 arquivos CSS ao invés de um, o que pode ser prejudicial em termos de atualização e manutenção.</p>
<p>Ok, nenhuma grande novidade até aqui.</p>
<p>Mas e se, ao invés de usar os comentários condicionais para linkar um novo CSS, os usássemos para fazer o seguinte:</p>
<pre class="brush: css;"> &lt;html&gt;
&lt;head&gt;
&lt;link rel="stylesheet" type="text/css" href="estilos.css" /&gt;
&lt;/head&gt;
&lt;!--[if IE 6 ]&gt;
&lt;body class="ie"&gt;
&lt;![endif]--&gt;
&lt;!--[if !IE 6]&gt;--&gt;
&lt;body&gt;
&lt;!--&lt;![endif]--&gt;
&lt;div id="menu"&gt;conteúdo do site....&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt; </pre>
<p>Entendeu? Isso faz com que a classe &#8220;ie&#8221; [class="ie"] seja aplicada apenas quando o browser utilizado é o Internet Explorer 6 [if IE 6]. Caso contrário o &lt;body&gt; fica sem nenhuma classe [o sinal "!" significa "não igual"]. Assim, podemos escrever nosso CSS da seguinte maneira:</p>
<pre class="brush: css;">div#menu { color: inherit; } /* linha interpretada por todos os browsers */
.ie div#menu { color: #ff8000; } /* linha interpretada apenas pelo IE 6 */</pre>
<p>Ou seja, podemos colocar todas as correções precedidas pelo seletor de classe &#8220;.ie&#8221;, dessa forma apenas o IE 6 irá interpretá-las. Eliminamos assim a necessidade de um segundo arquivo e ficamos livres também dos hacks, podendo então escrever CSS 100% válido.</p>
<p><a href="http://www.toprated.com.br/exemplos/classes-comentarios-condicionais.htm" target="_blank">Veja o exemplo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/classes-condicionais-seu-layout-perfeito-em-todos-os-browsers-com-apenas-um-css-e-sem-hacks/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

