<?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>Blog do Adriano Meira</title>
	<atom:link href="http://www.adrianomeira.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.adrianomeira.com/blog</link>
	<description>CSS, jQuery, PHP, Designer e mais algumas coisas...</description>
	<lastBuildDate>Mon, 05 Jul 2010 23:09:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Selecionando texto em uma página com jQuery</title>
		<link>http://www.adrianomeira.com/blog/selecionando-texto-em-uma-pagina-com-jquery</link>
		<comments>http://www.adrianomeira.com/blog/selecionando-texto-em-uma-pagina-com-jquery#comments</comments>
		<pubDate>Sun, 06 Jun 2010 13:38:31 +0000</pubDate>
		<dc:creator>marcos</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Marca texto]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=308</guid>
		<description><![CDATA[E ae pessoal, beleza? Esse é o meu primeiro post aqui nesse site desse grande web designer que é o Adriano meu brother do trampo. Seguinte, eu tinha a seguinte missão, criar um mega-menu, só que ele iria ter muita, muita informação mesmo, ia tipo ocupar a página inteira, o Adriano deu a ideia de [...]]]></description>
			<content:encoded><![CDATA[<p>E ae pessoal, beleza? Esse é o meu primeiro post aqui nesse site desse grande web designer que é o Adriano meu brother do trampo.</p>
<p>Seguinte, eu tinha a seguinte missão, criar um mega-menu, só que ele iria ter muita, muita informação mesmo, ia tipo ocupar a página inteira, o Adriano deu a ideia de colocar um campo para pesquisa de texto dentro desse mega-menu, o que eu achei fantástico porém sem saber a solução.</p>
<p>Depois de um bom tempo da proposta dessa ideia, peguei um livro de jQuery que eu já tinha a um bucado de tempo, por falar nisso podem comprar é muito bom mesmo, é da Novatec e chama-se jQuery, A Biblioteca do Programador JavaScript de Maurício Samy Silva (dono do site Maujor.com). Link para o livro: <a title="http://novatec.com.br/livros/jquery2/" href="http://novatec.com.br/livros/jquery2/" target="_blank">http://novatec.com.br/livros/jquery2/</a>.</p>
<p>E este livro contém um capítulo apenas para seletores, dentre estes um mi chamou muito a atenção: o seletor seletorjQuery:contains(texto). Onde <strong>seletorjQuery</strong> seria o atributo dentro do qual você iria procurar, por exemplo $(&#8216;#divExemplo&#8217;); <strong>:contains(texto)</strong> é uma função exclusiva da biblioteca jQuery e não é prevista na CSS3, que procura dentro do seletorjQuery qualquer ocorrência do texto digitado.</p>
<p><span id="more-308"></span></p>
<p>Bem vamos a um exemplo prático, que eu acho que será auto explicativo. Para que você possa executar esta pesquisa de conteúdo você só precisará da biblioteca jQuery, pura e simples.</p>
<p>Antes de qualquer execução de script jQuery, chame o jQuery&#8230;</p>
<pre>&lt;script type="text/javascript" src="jQuery.js"&gt;&lt;/script&gt;</pre>
<p>Agora que o seu jQuery está pronto para ser executado vamos criar uma table (Sou programador viu gente&#8230; me condena não&#8230; table salva minha vida até hoje) com um id tableFind que usaremos para pesquisar o texto, e um campo input text com id textFind onde digitaremos o texto a ser localizado.</p>
<pre>&lt;input type="text" id="textFind" /&gt;
&lt;table id="tableFind"&gt;
  &lt;tr&gt;
    &lt;td&gt;faca&lt;/td&gt;
    &lt;td&gt;bolo&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;tempo&lt;/td&gt;
    &lt;td&gt;dinheiro&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;pão&lt;/td&gt;
    &lt;td&gt;manteiga&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;</pre>
<p>Depois desta bela table criada iremos gerar o código jQuery responsável pela busca. É importante ressaltar que assim como o JavaScript puro deve ser lido apenas depois do carregamento de toda a página com o metodo window.onload = function(){} o jQuery também deve seguir o mesmo raciocionio porém com duas formas básicas de se escrever a sintaxe:</p>
<p>A forma completa:</p>
<pre>$(document).ready(function()
{
   ...faça isso...
});</pre>
<p>e a forma reduzida:</p>
<pre>$(function()
{
   ...faça isso...
});</pre>
<p>Ambos os exemplos funcionam perfeitamente porém o primeiro possui um dom auto explicativo em sua página. Por este motivo usarei a forma completa de escrita.</p>
<p>Vou mostrar o código depois explico ele linha por linha:</p>
<pre>&lt;script&gt;
  $(document).ready(function()
  {
    $("#textFind").keyup(function()
    {
      stringPesquisa = $("#textFind").val();
      $('table#tableFind tr td').css("background","");
      $('table#tableFind tr td:contains('+stringPesquisa+')').css("background","#FFFF00");
    });
  });
&lt;/script&gt;</pre>
<p>Acho que vocês já intenderam a essência do código, mas vamos lá. Estou usando o evento keyup do jQuery (em JavaScript puro é o evento onKeyUp, ele é acionado toda vez que eu seguro e solto uma tecla), que pega  o valor atual do meu input e o coloca dentro da variavel stringPesquisa.</p>
<p>Posteriormente eu localizo todos os td, dentro de tr, dentro de uma table com id tableFind e zero a sua propriedade background. Esta parte da função é extremamente importante para que eu possa realizar várias pesquisas a cada toque. Pois ela anulará a pesquisa do texto anterior e localizará o novo texto, dando dinamismo à pesquisa.</p>
<p>Agora começa o seletor :contains. Logo após localizo todos os td, dentro de tr, dentro de uma table com id tableFind que contém o texto digitado no input e adiciono a cor #FFFF00 (Amarelo/yellow) ao seu background, dando um efeito de marca texto.</p>
<p>Esse é o link para o exemplo funcionando:</p>
<div class="central-view"><a class="bt-download" href="http://www.adrianomeira.com/blog/downloads/texto-jquery/texto.rar" target="_self">Download</a><a class="bt-demonstracao" href="http://www.adrianomeira.com/blog/downloads/texto-jquery/" target="_blank">Demosntração</a></div>
<p>Gente esse foi o meu primeiro post estou grato de mais pela oportunidade e espero que tenha sido util para vocês&#8230; Abraços&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/selecionando-texto-em-uma-pagina-com-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carregando e pesquisando dados com jQuery em select e div &#8211; GET e POST</title>
		<link>http://www.adrianomeira.com/blog/carregando-e-pesquisando-dados-com-jquery-em-select-e-div-get-e-post</link>
		<comments>http://www.adrianomeira.com/blog/carregando-e-pesquisando-dados-com-jquery-em-select-e-div-get-e-post#comments</comments>
		<pubDate>Mon, 31 May 2010 02:23:23 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=298</guid>
		<description><![CDATA[Olá pessoal depois de ver que muita gente se interessou pelo carregamento de dados em um select usando o método &#8220;load&#8221; do jQuery (veja aqui o post sobre) que tal usar uma função mais refinadas e mais segura, vamos usar o método POST e GET, mas qual a diferença? No caso do &#8220;LOAD&#8221; ele apenas [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal depois de ver que muita gente se interessou pelo carregamento de dados em um select usando o método &#8220;load&#8221; do jQuery (<a href="http://www.adrianomeira.com/blog/carregamento-de-combobox-via-ajax-com-jquery" target="_blank">veja aqui</a> o post sobre) que tal usar uma função mais refinadas e mais segura, vamos usar o método POST e GET, mas qual a diferença?<br />
<span id="more-298"></span><br />
No caso do &#8220;LOAD&#8221; ele apenas lê uma página e retorna o que ela imprimiu, não há muita segurança nisso,então temos um&#8221;nível 2&#8243; em carregamento de jQuery, com mais segurança e tão simples de usar como se estivesse passando dados para uma página normal em PHP por exemplo.</p>
<div class="central-view"><a class="bt-download" href="http://www.adrianomeira.com/blog/downloads/jquery-post-get/get-post.rar" target="_self">Download</a> <a class="bt-demonstracao" href="http://www.adrianomeira.com/blog/downloads/jquery-post-get/" target="_blank">Demosntração</a></div>
<p>Ok qual a vantagem de se usar o método &#8220;POST&#8221; e &#8220;GET&#8221;? Uma das grandes vantagens é que o tempo de resposta é real, note que no artigo anterior usamos um &#8220;<em>setTimeout</em>&#8221; para dar um &#8220;delay&#8221; na respota, já nestas funções eles tem um retorno de acordo com o tempo de busca, na íntegra a função &#8220;POST&#8221; e &#8220;GET&#8221; tem:</p>
<pre>$.post( url, [ dados ], [ sucesso(data, textStatus, XMLHttpRequest) ], [ dataType ] )</pre>
<pre>$.get( url, [ dados ], [ sucesso(data, textStatus, XMLHttpRequest) ], [ dataType ] )</pre>
<p>Isso quer dizer então que ao chamar a função (&#8220;POST&#8221; ou &#8220;GET&#8221;) passo uma URL que vai receber os dados, seria no caso o parâmetro que se passa via GET ou POST, com exemplo &#8220;<em>index.php?id=1</em>&#8221; logo o dado seria &#8220;<em>id: 1</em>&#8221; e por fim o resultado ao passar os dados.</p>
<p>Então na prática vamos começar com o carregamento de selects (combobox)</p>
<p>Chame o jQuery na sua página:</p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"&gt;&lt;/script&gt;</pre>
<p>Agora vamos criar a função que vai pesquisar os dados na página, veja:</p>
<pre>
function pegaValor(valor){
	$('#encontrado').html("Pesquisando...");
	$.post("pegaValor.php", { id: valor },
		function(data){
		$('#recebendo').html(data);
	});
}</pre>
<p>Agora vamos aos selects, o primeiro que vai passar os dados e o segundo que vai receber os dados da função:</p>
<pre>Selecione:
&lt;select id="selecione" name="selecione" onChange="pegaValor(this.value)"&gt;
    &lt;option&gt;Selecione algo&lt;/option&gt;
    &lt;option value="1"&gt;Dado Um&lt;/option&gt;
    &lt;option value="2"&gt;Dado Dois&lt;/option&gt;
    &lt;option value="3"&gt;Dado Tr&amp;ecirc;s&lt;/option&gt;
&lt;/select&gt;
Depois o que vai receber os dados
&lt;select id="recebendo"&gt;
    &lt;option value=""&gt;Escolha algo antes&lt;/option&gt;
&lt;/select&gt;</pre>
<div>E por fim você deve criar uma página que vai receber os dados, pode fazer bem como quiser, consulta em banco, <em>if</em>, <em>switches </em>e etc&#8230; mas não se esqueça de receber o &#8220;GET&#8221; ou o &#8220;POST&#8221;, no meu exemplo abaixo (bem simples) eu recebo o &#8220;POST&#8221; e mando imprimir o HTML do option (que a função &#8220;<em>pegaValor&#8221;</em> exibe o resultado no id &#8220;<em>recebendo</em>&#8220;), veja exemplo do PHP:</div>
<pre>$id = $_POST["id"];
if( $id == "Selecione algo"){
	/* Se o valor tiver vazio retona vazio */
	echo "&lt;option&gt;Selecione algo&lt;/option&gt;";
}else{
	/* Se tiver o valor então faz checagem no
	   banco ou outra como abaixo */
	switch($id){
		case 1;
			echo "&lt;option&gt;Voc&amp;ecirc; selecionou o um&lt;/option&gt;";
			break;
		case 2;
			echo "&lt;option&gt;Voc&amp;ecirc; selecionou o dois&lt;/option&gt;";
			break;
		case 3;
			echo "&lt;option&gt;Voc&amp;ecirc; selecionou o tr&amp;ecirc;s&lt;/option&gt;";
			break;
	}
}</pre>
<p>Prontinho, agora vamos brincar um pouco mais vamos fazer uma função para que o cara digite algo e retorne com uma busca pela letra que digitou ou palavra, para começar a função abaixo para pesquisar:</p>
<pre>function pesquisaValor(valor){
	$('#encontrado').hide();
	$.post("pesquisaValor.php", { id: valor },
		function(data){
			if(data == ""){
				$('#encontrado').hide();
			} else {
				$('#encontrado').show();
				$('#encontrado').html(data);
			}
	});
}</pre>
<p>E agora o HTML onde o cara digita a palavra e a DIV onde vai receber o resultado:</p>
<pre>&lt;small&gt;Dica: Procure pelas letras A, B, C e teste&lt;/small&gt;&lt;br /&gt;
Digete um termo: &lt;input type="text" id="pesquisar" class="pesquisar" onKeyUp="pesquisaValor(this.value)" /&gt;
&lt;div id="encontrado" style="display:none"&gt;&lt;/div&gt;</pre>
<div>E por fim vamos ao PHP que recebe os dados, como disse, você pode utilizar como quiser basta receber o &#8220;POST&#8221; ou o &#8220;GET&#8221;, veja:</div>
<div></div>
<pre>$id = $_POST["id"];
if( $id == "Selecione algo"){
	/* Se o valor tiver vazio retona vazio */
	echo "Nada encontrado";
}else{
	/* Se tiver o valor então faz checagem no
	   banco ou outra como abaixo */
	switch($id){
		case "a";
			echo "Abacate&lt;br /&gt;";
			break;
		case "b";
			echo "Banana&lt;br/&gt;Biribiri&lt;br /.;";
			break;
		case "c";
			echo "Caqui&lt;br /&gt;Caju&lt;br /&gt;carambola&lt;br /&gt;";
			break;
		case "teste";
			echo "opa viu como funciona até chegar na &amp;uacute;ltima letra 'e'
				  ele não apresentou o resultado.";
			break;
	}
}</pre>
<p>Agora você pode utilizar esses modelos e dicas para criar coisas mais sofisticadas como formulários sem refresh, carregamento de conteúdo vindo do banco também sem refresh , buscar dados em uma página externa, retornar se uma condição é verdadeira ou falsa, caso desejem postem ai algumas dessas funções que queiram que eu detalhe e de exemplos, fiquem a vontade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/carregando-e-pesquisando-dados-com-jquery-em-select-e-div-get-e-post/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Padrão de Repetição &#8211; Bolinhas</title>
		<link>http://www.adrianomeira.com/blog/padrao-de-repeticao-bolinhas</link>
		<comments>http://www.adrianomeira.com/blog/padrao-de-repeticao-bolinhas#comments</comments>
		<pubDate>Mon, 17 May 2010 01:18:34 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[Sem categoria]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=274</guid>
		<description><![CDATA[Um dia desses uma amiga aqui no serviço estava procurando um padrão de repetição para o fundo do site da mão dela, onde seria preto com bolinhas brancas como aqueles vestidos antigos (lembra da música &#8220;era um biquíni de bolinha&#8230;&#8221; ), daí procurei e achei uma solução bacana que quero compartilhar com vocês e falar [...]]]></description>
			<content:encoded><![CDATA[<p>Um dia desses uma amiga aqui no serviço estava procurando um padrão de repetição para o fundo do site da mão dela, onde seria preto com bolinhas brancas como aqueles vestidos antigos (lembra da música &#8220;era um biquíni de bolinha&#8230;&#8221; ), daí procurei e achei uma solução bacana que quero compartilhar com vocês e falar um pouco sobre padrões de repetição.<br />
<span id="more-274"></span></p>
<p>Para o caso da minha amiga vejamos o modelo era um vestido preto de bolinha branca veja a foto abaixo:</p>
<p style="text-align: center;"><a rel="abreGaleria" href="http://www.adrianomeira.com/blog/wp-content/uploads/2010/05/vestido-bolinha.gif"><img class="size-full wp-image-290 aligncenter" title="Vestido Bolinha" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/05/vestido-bolinha.gif" alt="" width="143" height="169" /></a></p>
<p>Note que o vestido tem um padrão de bolinhas não retilíneos, ou seja, eles se intercalam, daí pensamos em fazer uma do lado da outra, outra forma uma em cima da outra e do lado a outro e nada, então pensei um pouco fora &#8220;da caixa&#8221; e porque não se fosse metades?</p>
<p>Isso mesmo para que as bolinhas se repetissem como na foto acima precisei fazer algo assim veja:</p>
<p style="text-align: center;"><a rel="abreGaleria" href="http://www.adrianomeira.com/blog/wp-content/uploads/2010/05/bolinhas-marca.gif"><img class="size-full wp-image-291 aligncenter" title="bolinhas-marca" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/05/bolinhas-marca.gif" alt="" width="500" height="148" /></a></p>
<p>Note que na área em vermelho são quatro bolinhas e depois é só cortar o quadrado, assim basta cortar ao redor do quadrado e colocar no backgound no seu site.</p>
<div class="central-view"><a class="bt-demonstracao" href="http://adrianomeira.com/blog/downloads/repeticao/" target="_blank">Demosntração</a></div>
<p>Por isso se desejar fazer um padrão de repetição mais suave e real outro exemplo você pode ver <a href="http://pshero.com/photoshop-tutorials/graphic-design/creating-custom-patterns" target="_blank">neste site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/padrao-de-repeticao-bolinhas/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trabalhando com duas fontes diferentes no Cúfon</title>
		<link>http://www.adrianomeira.com/blog/trabalhando-com-duas-fotnes-diferentes-no-cufon</link>
		<comments>http://www.adrianomeira.com/blog/trabalhando-com-duas-fotnes-diferentes-no-cufon#comments</comments>
		<pubDate>Wed, 21 Apr 2010 17:21:51 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[javaScript]]></category>
		<category><![CDATA[Cúfon]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=262</guid>
		<description><![CDATA[Algum tempo atrás fiz um post sobre fontes personalizadas no seu site, para lembrar veja aqui o post, bom daí pensei em usar duas fontes diferentes em um layout e descobri que é possível e muito fácil, vou mostrar a vocês. Download Demosntração Antes de mais nada de uma olhadinha no post sobre como trabalhar [...]]]></description>
			<content:encoded><![CDATA[<p>Algum tempo atrás fiz um post sobre fontes personalizadas no seu site, para lembrar <a title=" Fontes personalizadas no seu site em HTML" href="http://www.adrianomeira.com/blog/?p=129" target="_blank">veja aqui</a> o post, bom daí pensei em usar duas fontes diferentes em um layout e descobri que é possível e muito fácil, vou mostrar a vocês.<span id="more-262"></span></p>
<p><a href="http://www.adrianomeira.com/blog/wp-content/uploads/2010/03/bt-download.jpg"></a></p>
<div class="central-view"><a class="bt-download" href="http://www.adrianomeira.com/blog//downloads/cufon/cufon2fonts.rar" target="_self">Download</a> <a class="bt-demonstracao" href="http://www.adrianomeira.com/blog//downloads/cufon/" target="_blank">Demosntração</a></div>
<p>Antes de mais nada de uma <a title="Fontes personalizadas no seu site em HTML" href="http://www.adrianomeira.com/blog/?p=129" target="_blank">olhadinha no post</a> sobre como trabalhar com o Cúfon, aqui vou apenas ensinar a incorporar duas fontes no seu layout usando esta poderosa ferramenta.</p>
<p>Eu escolhi duas fontes &#8220;<a title="Clubland Font" href="http://www.dafont.com/search.php?psize=m&amp;q=Clubland" target="_blank">Clubland</a>&#8221; e &#8220;<a title="SpaceMan Font" href="http://www.dafont.com/search.php?psize=m&amp;q=spaceman" target="_blank">SpaceMan</a>&#8221; que são bem diferentes para ver, com as fontes já convertidas em javaScript vamos inseri-las junto ao Cúfon</p>
<pre>&lt;script src="cufon-yui.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="Clubland_400.font.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="spaceman_400.font.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>Agora abra uma instrução javaScript e vamos falar para o Cúfon qual seletor ele irá colocar as fontes, veja:</p>
<pre>&lt;script type="text/javascript"&gt;
     Cufon.replace('h1', { fontFamily: 'Clubland' });
     Cufon.replace('h2', { fontFamily: 'spaceman' });
&lt;/script&gt;</pre>
<p>Note que usamos o parâmetro &#8220;fontFamily&#8221; e escolhemos qual fonte será aplica em determinado seletor, se quer ver mais atributos <a title="API Cúfon" href="http://wiki.github.com/sorccu/cufon/api" target="_blank">visite a API do Cúfon</a>.</p>
<p>E no HTML colocamos assim:</p>
<pre>&lt;h1&gt;Fonte: Clubland&lt;/h1&gt;
&lt;h2&gt;Fonte: Spaceman&lt;/h2&gt;</pre>
<p>Ai você se pergunta &#8220;onde raios vou achar o nome correto da fonte?&#8221; Simples, abra o arquivo gerado pelo Cúfon e logo de cara nas primeiras instruções tem o nome que ele gera, as vezes ele é diferente da extensão que é salvo o arquivo de fonte. Veja abaixo um exemplo:</p>
<pre>Cufon.registerFont({"w":280,"face":{"font-family":"Clubland",...</pre>
<p>Prontinho, agora uma dica esperta antes de fechar o body você pode colocar um pequeno hack par ao Explorer basta colocar isso e se houver algum problema no Explorer ele resolverá!</p>
<pre>&lt;script type="text/javascript"&gt; Cufon.now(); &lt;/script&gt;</pre>
<p>Simples não? Veja o <a title="Exemplo Cúfon 2 fotnes" href="http://www.adrianomeira.com/blog//downloads/cufon/" target="_blank">demo aqui</a> ou <a title="Download Exemplo Cúfon 2 fontes" href="http://www.adrianomeira.com/blog//downloads/cufon/cufon2fonts.rar" target="_self">baixe aqui</a> o exemplo deste código.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/trabalhando-com-duas-fotnes-diferentes-no-cufon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trocando CSS e gravando em cookies com jQuery (Stylesheet Switcher)</title>
		<link>http://www.adrianomeira.com/blog/trocando-css-e-gravando-em-cookies-com-jquery-stylesheet-switcher</link>
		<comments>http://www.adrianomeira.com/blog/trocando-css-e-gravando-em-cookies-com-jquery-stylesheet-switcher#comments</comments>
		<pubDate>Sun, 18 Apr 2010 13:31:39 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=254</guid>
		<description><![CDATA[Olá pessoal um dia desses precisava gravar uma mudança de um elemento e que mesmo atualizando o navegador ou entrando lá depois isso ficasse de acordo com a última alteração, logo me surgiu a intenção de gravar isso num banco mas ai pensei e se outro usuário remover esta condição não daria certo. Então pensei [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal um dia desses precisava gravar uma mudança de um elemento e que mesmo atualizando o navegador ou entrando lá depois isso ficasse de acordo com a última alteração, logo me surgiu a intenção de gravar isso num banco mas ai pensei e se outro usuário remover esta condição não daria certo.</p>
<p>Então pensei em cookies e achei algo bem bacana que compartilho com vocês, com um pouco de jQuery e este plugin conseguimos gravar num cookie uma condição, checa-la e aplica-la.<span id="more-254"></span></p>
<p>Em exemplo prático seria o seguinte imagine que deseja que tenha três tipos de estilo um normal (defult) outro com com de fundo clara e outro com letras brancas e fundo escuro, para facilitar a leitura para certos usuários que tenham dificuldade visual. Logo nada mais justo que dar a ele uma forma de escolher como o site melhor adequará a sua necessidade.</p>
<p>Veja <a title="Stylesheet Switcher" href="http://www.adrianomeira.com/blog/downloads/switch/" target="_blank">aqui um exemplo</a> funcionando.</p>
<p>Então vamos botar a mão na massa é muito simples precisamos do <a href="http://jquery.com/" target="_blank">jQuery</a> de praxe e de um plugin de cookies que você pode baixa-lo <a title="Download jquery cookie" href="http://www.adrianomeira.com/blog/downloads/switch/jquery.cookie.js" target="_blank">aqui</a> ou<a href="http://plugins.jquery.com/project/cookie" target="_blank"> visitar o site</a> e conhecer melhor.</p>
<p>Primeiramente vamos criar três estilos diferentes, daí vai do seu gosto eu criei estes aqui com seus respectivos nomes apenas trocando a cor de fundo veja:</p>
<p>Nome: style1.css</p>
<pre>body{ background-color:#FFF; }</pre>
<p>Nome: style2.css</p>
<pre>body{ background-color:#F90; }</pre>
<p>nome: style3.css</p>
<pre>body{ background-color: #DDD; }</pre>
<p>Bom agora com os estilo prontos vamos ao HTML, chame um estilo defult no html como por exemplo eu estou usando o estilo 1, aproveite para chamar também o jQuery e o plugin de cookie:</p>
<pre>&lt;link rel="stylesheet" type="text/css" href="style1.css" /&gt;
&lt;script type="text/javascript" language="javascript" src="jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" language="javascript" src="jquery.cookie.js"&gt;&lt;/script&gt;
</pre>
<p>Agora vamos montar os links, aqui vou fazer o seguinte ao clicar no link dentro de um li pega o valor do seu &#8220;REL&#8221; e aplica na função, fica assim então:</p>
<pre>&lt;ul id="nav"&gt;
    &lt;li&gt;&lt;a href="#" rel="style1.css"&gt;CSS Original&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#" rel="style2.css"&gt;Fundo Claro&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#" rel="style3.css"&gt;Fundo Escuro&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Beleza então vamos agora voltar ao cabeçalho e colocar os códigos de javascript e jQuery para chamar e gravar o cookie, mas antes de mais nada uma rápida explicação sobre o plugin, ele pode gerar um novo cookie com o nome que quiser e o valor desejado, por exemplo, vamos criar um cookie chamado &#8220;css&#8221; e seu valor será o nome do arquivo por exemplo &#8220;style2.css&#8221;, também neste plugin você pode decidir quanto tempo este cookie será valido por exemplo um ano, dois meses, um dia&#8230; daí vai da sua aplicação, por exemplo um sistema de login que o cookie vale por um dia, mas tome muito cuidado com isso pois se alguém conseguir pega-lo poderá usa-lo para o &#8220;mau&#8221;, use com cuidado!</p>
<p>Seguindo nosso exemplo, usaremos por um ano 365 dias, o plugin trabalha com dias ok? Antes de carregar o jQuery vamos checar se foi setado o cookie com nome &#8220;CSS&#8221;:</p>
<pre>if($.cookie("css")) {
   $("link").attr("href",$.cookie("css"));
}</pre>
<p>Note que aqui verificamos se o cookie &#8220;css&#8221; foi setado se sim atribuímos ao &#8220;link&#8221;  que  equivale ao body (veja mais na documentação do jQuery), aqui também abro um leque de possibilidades para você, você pode usar também isso em algum elemento com uma &#8220;DIV&#8221; que será exibido ou não, um menu em árvore que esteja aberto ou não, checar se um usuário está logoado ou não&#8230; daí como disse vai da sua aplicação.</p>
<p>Em seguida vamos a ação de clicar e mudar as coisas, vamos abrir a função &#8220;ready&#8221; do jQuery e colocar a função veja:</p>
<pre>$(document).ready(function() {
    $("#nav li a").click(function() {
     $("link").attr("href",$(this).attr('rel'));
     $.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
         return false;
     });
});</pre>
<p>Aqui estou falando o seguinte para o navegador, ao clicar em um link dentro da &#8220;DIV&#8221; com id=&#8221;nav&#8221; faça:</p>
<ol>
<li>Atribua ao &#8220;link&#8221; (body) o atributo href (link) o valor do &#8220;REL&#8221; deste (this)  link, logo ele ficaria assim: href=&#8221;style3.css&#8221; se clicar no link correspondente.</li>
<li>Em seguida crie o cookie &#8220;CSS&#8221;, que seu valor será o &#8220;REL&#8221; deste (this)  link e vai expirar em 365 dias.</li>
<li>E me retorne falso para que nada mais mude a não ser as instruções  passadas acima.</li>
</ol>
<p>Prontinho agora para testar na sua máquina ela tem que ter configuração de um servidor para rodar cookie, se não jogue em algum servidor,  <a href="http://www.adrianomeira.com/blog/downloads/switch/" target="_blank">aqui</a> você pode conferir um exemplo rodando e aqui pode <a title="Baixar exemplo de Stylesheet Switcher" href="http://www.adrianomeira.com/blog/downloads/switch/switch.rar" target="_blank">baixar este exemplo</a> que está  rodando.</p>
<p>Créditos deste artigo vão para <a title="A Simple jQuery Stylesheet Switcher" href="http://www.cssnewbie.com/simple-jquery-stylesheet-switcher/" target="_blank">CSS newbie</a>. Valeu pessoal!</p>
<p>Bom espero ter ajudado algumas pessoas que me perguntaram sobre isso! Até mais grande abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/trocando-css-e-gravando-em-cookies-com-jquery-stylesheet-switcher/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Foto (imagem) com borda arredondada</title>
		<link>http://www.adrianomeira.com/blog/foto-imagem-com-borda-arredondada</link>
		<comments>http://www.adrianomeira.com/blog/foto-imagem-com-borda-arredondada#comments</comments>
		<pubDate>Thu, 01 Apr 2010 10:16:03 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[Sites]]></category>
		<category><![CDATA[Borda Arredondada]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=242</guid>
		<description><![CDATA[Que tal dar um trato nas suas fotos? Colocar uma borda arredondada bacana? Faça isso de forma simples e rápida com o site da RoundPic é muito simples basta fazer upload de foto imagem ou colocar o link de onde ela está, na tela de configuração você poderá: Escolher qual o canto que deseja colocar. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.roundpic.com/" target="_blank"><img class="alignright size-full wp-image-243" style="border: 0pt none;" title="roundpic" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/04/roundpic.gif" alt="" width="91" height="43" /></a>Que tal dar um trato nas suas fotos? Colocar uma borda arredondada bacana? Faça isso de forma simples e rápida com o site da <a href="http://www.roundpic.com/" target="_blank">RoundPic</a> é muito simples basta fazer upload de foto imagem ou colocar o link de onde ela está, na tela de configuração você poderá:</p>
<ul>
<li>Escolher qual o canto que deseja colocar.</li>
<li>Largura e Altura da Imagem (pode deixar que ele faça a proporção exata da imagem).</li>
<li>Escolher uma qualidade adequada.</li>
<li>O Tamanho da borda.</li>
<li>A cor de fundo da imagem ou se ela for transparente.</li>
<li>E por fim renomear a imagem.</li>
</ul>
<p style="text-align: center;"><a href="http://www.roundpic.com/" target="_blank"><img class="size-full wp-image-246 aligncenter" style="border: 0pt none;" title="what" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/04/what.gif" alt="" width="236" height="117" /></a></p>
<p>Bacana não? Se você procura um editor de imagens mais complexo, experimente <a href="http://www.pixlr.com/editor/?loc=pt-br" target="_self">esse aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/foto-imagem-com-borda-arredondada/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery UI &#8211; User Interface</title>
		<link>http://www.adrianomeira.com/blog/jqueru-ui-user-interface</link>
		<comments>http://www.adrianomeira.com/blog/jqueru-ui-user-interface#comments</comments>
		<pubDate>Thu, 25 Mar 2010 00:47:31 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Interface de Usuário]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=239</guid>
		<description><![CDATA[Pessoal para quem procura uma boa documentação de jQuery para interfaces de usuário (UI) tá ai um excelente grupo delas, mas afinal o que é e para que serve o UI? Meu caro isso é simples, imagine fazer um sistema bem grande mas ai você fica naquela briga de fazer os botões todos iguais e [...]]]></description>
			<content:encoded><![CDATA[<p>Pessoal para quem procura uma boa documentação de jQuery para interfaces de usuário (UI) tá ai um excelente grupo delas, mas afinal o que é e para que serve o UI?</p>
<p>Meu caro isso é simples, imagine fazer um sistema bem grande mas ai você fica naquela briga de fazer os botões todos iguais e redondinhos em todos os navegadores e descobre que o Explorer 6 mais uma vez lhe prejudicou&#8230; Aquela div que aparece o calendário tá desalinhada&#8230; então não se preocupe de uma olhadinha neste <a href="http://jqueryui.com/home" target="_blank">site</a> e confira algumas coisas bacanas como:</p>
<ul>
<li><a href="http://jqueryui.com/demos/selectable/" target="_blank">Selectable</a> &#8211; Aqui você pode deixar as linhas de sua tabela seleciona com um clique.</li>
<li><a href="http://jqueryui.com/demos/resizable/" target="_blank">Rezizable</a> &#8211; Redimensione facilmente seu elemento para caber mais informações ou comprimir espaço.</li>
<li><a href="http://jqueryui.com/demos/accordion/" target="_blank">Accordion </a>- Nem preciso dizer né&#8230; só que este já vem comum CSS bunitinho.</li>
<li><a href="http://jqueryui.com/demos/autocomplete/" target="_blank">Autocomplete </a>- Este é novo por lá, muito útil em formulários de busca.</li>
<li><a href="http://jqueryui.com/demos/dialog" target="_blank">Dialog </a>- Sensacional veja no menu ao lado sobre Modal Form.</li>
<li>E muito mais!</li>
</ul>
<p>Sem contar que você poderá utilizar <a href="http://jqueryui.com/themeroller/" target="_blank">vários temas</a>, escolha um que se encaixe na sua aplicação!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/jqueru-ui-user-interface/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Menu acordeon (sanfona) com jQuery</title>
		<link>http://www.adrianomeira.com/blog/menu-acordeon-sanfona-com-jquery</link>
		<comments>http://www.adrianomeira.com/blog/menu-acordeon-sanfona-com-jquery#comments</comments>
		<pubDate>Thu, 11 Mar 2010 00:56:17 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=230</guid>
		<description><![CDATA[Olá pessoal desculpem a demora surgiu um grande problema para eu resolver, tenho que refazer todo o sistema administrativo dos meus clientes, por isso a falta de tempo. Mas vamos lá hoje vou mostrar como é fácil e rápido fazer um menu acordeon (sanfona) com jQuery. Para começar vamos para o HTML e CSS assim [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal desculpem a demora surgiu um grande problema para eu resolver, tenho que refazer todo o sistema administrativo dos meus clientes, por isso a falta de tempo.</p>
<p>Mas vamos lá hoje vou mostrar como é fácil e rápido fazer um menu acordeon (sanfona) com <a href="http://jquery.com/" target="_blank">jQuery</a>. Para começar vamos para o HTML e CSS assim você poderá controlar melhor o estilo, o estilo aqui em questão bem como o HTML são ilustrativos fique a vontade para modificar ou fazer da sua melhor forma.<span id="more-230"></span></p>
<p style="text-align: center;"><a href="http://www.adrianomeira.com/blog/downloads/acordeon_simples.zip"><img class="alignnone size-full wp-image-282" title="Fazer Download" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/03/bt-download.jpg" alt="" width="206" height="75" /></a></p>
<p>Para o HTL (explico mais abaixo o porque desta estrutura)</p>
<pre>&lt;ul id="menuGeral"&gt;
    &lt;li&gt;&lt;a href="#" class="itemMenu"&gt;Gerenciar Notícias&lt;/a&gt;
        &lt;div class="conteudoMenu"&gt;
             &lt;a href="#"&gt;Adicionar nova Notícia&lt;/a&gt;
             &lt;a href="#"&gt;Pesquisar Notícias&lt;/a&gt;
        &lt;/div&gt;
     &lt;/li&gt;
     &lt;li&gt;&lt;a href="#" class="itemMenu"&gt;Gerenciar Eventos&lt;/a&gt;
         &lt;div class="conteudoMenu"&gt;
            &lt;a href="#"&gt;Adicionar novo Evento&lt;/a&gt;
            &lt;a href="#"&gt;Pesquisar Eventos&lt;/a&gt;
         &lt;/div&gt;
     &lt;/li&gt;
     &lt;li&gt;&lt;a href="#" class="itemMenu"&gt;Gerenciar Meus dados&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>E para o CSS:</p>
<pre>ul#menuGeral{
 margin:0px;
 padding:0px;
 font-family:Verdana,Arial,Helvetica,sans-serif;
 font-size:11px;
 list-style:none;
}
ul#menuGeral li{
}
/*-Para todos os atributos 'a', aqui será a marcação da sanfona-*/
ul#menuGeral a{
 display:block;
 padding:3px;
 cursor:pointer;
 color:#000;
 text-decoration:none;
}

/*-Para todos os atributos 'a' dentro de uma 'li'-*/
ul#menuGeral li a{
 padding-left: 20px;
 background-color:#DDE0EF;
 border:1px solid #D4D4D4;
 margin-bottom:1px;
}
ul#menuGeral li a:hover{
 background-color:#B7BDDD;
}

/*-O conteudo que fica debaixo da opção da sanfona-*/
ul#menuGeral .conteudoMenu{
 border-left:1px solid #D4D4D4;
 border-right:1px solid #D4D4D4;
 padding:5px;
 background-color:#F7F7F7;
}
ul#menuGeral .conteudoMenu a{
 background-color:#F7F7F7;
 padding-left:25px;
 margin-bottom:0px;
 border:0px;
}
ul#menuGeral .conteudoMenu a:hover{
 background-color:#DADADA;
}</pre>
<p>Ok veja agora como ficou seu menu, bunito né? Lembre-se mude o quanto quiser o importante vem agora, veja que mamão com açúcar, importe seu jQuery, caso não tenha <a href="http://jquery.com/" target="_blank">baixe-o aqui</a>.</p>
<pre>&lt;script type="text/javascript" src="jquery-1.4.2.min.js"&gt;&lt;/script&gt;</pre>
<p>Em logo abaixo coloque o seguinte código, irei explicar:</p>
<pre>&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        $(".conteudoMenu").hide();
        $(".itemMenu").click(function(){
            $(".conteudoMenu").slideUp("slow");
            $(this).next(".conteudoMenu").slideDown("slow");
        });
    });
&lt;/script&gt;</pre>
<p>Com este código você ve que o menu que clica em azul abre e se houver outro aberto ele fecha, para deixar somente o menu aberto e ao clicar no mesmo ele feche use isso:</p>
<pre>&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        $(".conteudoMenu").hide();
        $(".itemMenu").click(function(){
            $(this).next(".conteudoMenu").slideToggle(300);
        });
    });
&lt;/script&gt;</pre>
<p>Note que removi uma linha e mudei outra, vamos a explicação do jQuery, &#8220;<em>confiram comigo no replay</em>&#8220;.</p>
<p>Depois de ler o documento eu escondo todos os conteúdos, para garantir que o menu ficará fechado,<em><strong> &#8220;mas Tio se eu quiser que apenas o primeiro fique aberto como faço?&#8221;</strong></em>, simples mude a primeira instrução para:</p>
<pre>$(".conteudoMenu:not(:first)").hide();</pre>
<p>Nem precisa comentar né: Se não for o primeiro&#8230;</p>
<p>Seguindo a instrução que digo que ao clicar no seletor de classe <strong><em>&#8220;itemMenu&#8221;</em></strong> no primeiro ele diz que sobe todos os seletores com classe <em><strong>&#8220;conteudoMenu&#8221;</strong></em> e em seguida abaixo o próximo seletor deste mesmo que eu cliquei (exibindo o conteúdo), para a segunda alternativa depois de clicar usa a propriedade<em><strong> &#8220;slideToggle&#8221;</strong></em> que retorna uma ação anterior, que no caso é escorregar.</p>
<p>Para um bom funcionamento deste efeito sempre tenha em mente que ao clicar em algo, um seletor abaixo dele abrirá e assimpor diante, por isso a estrutura de HTML que mencionei acima, mas pode mudar como por exemplo:</p>
<pre>&lt;h4 class="itemMenu"&gt;Gerenciar Notícias&lt;/h4&gt;
&lt;cite class="conteudoMenu"&gt;
   Lorem ipsum dollor&lt;br /&gt;
   Set huni...
&lt;/cite&gt;
&lt;h4 class=""itemMenu"&gt;Outro Item sem nada&lt;/h4&gt;</pre>
<p>Simples, fácil né? Dúvidas postem ai.</p>
<p>É isso ai até mais pessoal!</p>
<p style="text-align: center;"><a href="http://www.adrianomeira.com/blog/downloads/acordeon_simples.zip"><img class="alignnone size-full wp-image-282" title="Fazer Download" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/03/bt-download.jpg" alt="" width="206" height="75" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/menu-acordeon-sanfona-com-jquery/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Editor de Fotos on-line</title>
		<link>http://www.adrianomeira.com/blog/editor-de-fotos-on-line</link>
		<comments>http://www.adrianomeira.com/blog/editor-de-fotos-on-line#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:30:09 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Ferramentas on-line]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=223</guid>
		<description><![CDATA[Para quem quer fazer aquele ajuste na sua foto sem ter que instalar e comprar a licença do Photoshop tá ai uma boa solução on-line e grátis, é o Pixlr Free Editor, essa ferramenta proporciona coisas fantásticas encontradas no Photoshop como Correção de Olhos Vermelhos, carimbos, degrade entre outras coisas, há detalhes bacana tem a versão em [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pixlr.com/editor/?loc=pt-br" target="_blank"><img class="alignright size-full wp-image-224" style="margin: 10px; margin-top: 0px;" title="editor-online" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/03/editor-online.png" alt="" width="140" height="135" /></a>Para quem quer fazer aquele ajuste na sua foto sem ter que instalar e comprar a licença do <a title="Photoshop" href="http://www.adobe.com/br/products/photoshop/family/?promoid=BOZRN" target="_blank">Photoshop</a> tá ai uma boa solução on-line e grátis, é o <a href="http://www.pixlr.com/editor/?loc=pt-br" target="_blank">Pixlr Free Editor</a>, essa ferramenta proporciona coisas fantásticas encontradas no Photoshop como Correção de Olhos Vermelhos, carimbos, degrade entre outras coisas, há detalhes bacana tem a versão em português!<br />
<br style="clear: both;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/editor-de-fotos-on-line/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Máscara de  imagens &#8211; Borda Arredondada</title>
		<link>http://www.adrianomeira.com/blog/mascara-de-imagens-borda-arredondada</link>
		<comments>http://www.adrianomeira.com/blog/mascara-de-imagens-borda-arredondada#comments</comments>
		<pubDate>Tue, 16 Feb 2010 11:47:25 +0000</pubDate>
		<dc:creator>Adriano Meira</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Fireworks]]></category>

		<guid isPermaLink="false">http://www.adrianomeira.com/blog/?p=187</guid>
		<description><![CDATA[Imagine que você criou aquele layout com borda arredondada pra tudo que é lado, todo espertinho usou o plugin do jQuery Corner, mas ai a galeria de imagens (ou fotos) do seu cliente é dinâmica, vem de um banco de dados, como colocar as bordas arredondadas?? Não se desespere o &#8220;Mago do CSS&#8221;, o Mr. [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine que você criou aquele layout com borda arredondada pra tudo que é lado, todo espertinho usou o plugin do<a href="http://malsup.com/jquery/corner/" target="_blank"> jQuery Corner,</a> mas ai a galeria de imagens (ou fotos) do seu cliente é dinâmica, vem de um banco de dados, como colocar as bordas arredondadas??</p>
<p style="text-align: left;">Não se desespere o &#8220;Mago do CSS&#8221;, o<em> Mr. M</em> lhe ajudará!</p>
<p>Vejam a mágica <a href="http://www.adrianomeira.com/testes/mascara_png/" target="_blank">aqui</a><span id="more-187"></span></p>
<p>Parece simples as imagens estão com bordas arredondadas, mas não, veja <a href="http://www.adrianomeira.com/testes/mascara_png/fotos/thumb_img7.jpg" target="_self">aqui </a>a foto que está salva, <em>e agora Mr M como você fez isso?</em></p>
<p style="text-align: center;"><img class="size-full wp-image-188 aligncenter" style="border: 0pt none;" title="Mr. M" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/02/mrM.jpg" alt="" width="225" height="149" /></p>
<p style="text-align: left;">Hahah brincadeiras a parte vamos revelar o segredo, é muito simples, aqui estou usando uma máscara, um arquivo PNG por cima da imagem, confiram o passo a passo.</p>
<p style="text-align: left;"><strong>1.Criando as máscaras</strong></p>
<p style="text-align: left;">Bom aqui vamos criar a máscara, mas antes devemos saber qual o tamanho dos nossos arquivos miniaturas aqui eu estou usando o tamanho de <strong>210&#215;131</strong>, mas você pode usar como quiser, logo come esta largura e altura vou para o <a href="http://www.adobe.com/products/fireworks/" target="_blank">Fireworks </a>(pode usar o <a href="http://www.adobe.com/br/products/photoshop/family/" target="_blank">Photoshop </a>ou outro programa que achar melhor também) e crio um novo documento com as mesmas medidas.</p>
<p style="text-align: left;">Bom agora vou falar de como fazer a borda arredondada no Fireworks, tente assemelhar isso ao seu editor de imagens ok?  No Fireworks eu crio um quadrado com o mesmo tamanho deste documento (210&#215;131) e por cima dele um &#8220;Rounded Rectangle&#8221;, que fica no painel de &#8220;Vector&#8221; como mostra a imagem abaixo:</p>
<p style="text-align: center;"><a rel="abreGaleria" href="http://www.adrianomeira.com/blog/wp-content/uploads/2010/02/0001.jpg"><img class="wp-image-190 aligncenter" title="0001" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/02/0001.jpg" alt="" width="166" height="244" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">Este retângulo com bordas eu faço ele menor do que o tamanho do palco, neste caso eu usei o tamanho de 203&#215;126 e ficou assim:</p>
<p style="text-align: center;"><img class="size-full wp-image-192 aligncenter" title="002" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/02/002.jpg" alt="" width="210" height="132" /></p>
<p style="text-align: left;">Note que as linhas vermelhas denominam os dois elementos agora com os dois elementos selecionados e com suas bordas removidas, lá em cima no menu &#8220;Modify-&gt;Combine Parths-&gt;Punch&#8217; você irá recortar o quadrado &#8220;vazando&#8221; o retângulo deixando ele assim:</p>
<p style="text-align: center;"><img class="size-full wp-image-193 aligncenter" title="003" src="http://www.adrianomeira.com/blog/wp-content/uploads/2010/02/003.jpg" alt="" width="210" height="132" /></p>
<p style="text-align: left;">Note que usei a cor verde só para que você possa enxergar melhor, agora com a mascara criada, volte ela para branco e salve-a como quiser eu dei o nome de<strong> &#8220;mascara_thumb.png&#8221;</strong></p>
<p style="text-align: left;">Nota: Porque não usar o bom e velho GIF?? Bom o GIF perde muita qualidade, se estiver usando a curva<strong> será mais rígida</strong> e não terá muita suavidade, mais na frente irei falar mais e ajustar um bug do IE6 pra variar&#8230;</p>
<p style="text-align: left;">Bom agora com a máscara criada vamos ao CSS, <em>agora sim Mr. M eu quero ver&#8230;</em></p>
<p style="text-align: left;"><strong>2.HTML e CSS</strong><br />
<em>&#8220;Agora sim sem usar cordas&#8221;.</em>.. bom vamos começar com um html simples para chamar as imagens, uma div com seu class para cada imagem e dentro deles um SPAN e uma div geral que marca o tamanho do documento&#8230; veja:</p>
<pre style="text-align: left;">&lt;div id="conteiner_galeria"&gt;
  &lt;div class="thumb"&gt;
     &lt;span&gt;&lt;/span&gt;
     &lt;img src="fotos/thumb_img7.jpg" /&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p style="text-align: left;">Bom nada de mais né a não ser pelo <strong>SPAN </strong>que não tem nada, por enquanto&#8230; agora vamos ao CSS, o terror dos <a href="http://randearievilo.com.br/" target="_blank">programadores</a></p>
<pre style="text-align: left;">body,td,th {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 11px;
   color: #333333;
   text-align:center;
 }
 div#conteiner_galeria{
   margin:auto;
   width:700px;
 }
   div#conteiner_galeria .thumb{
   position:relative;
   float:left;
   margin:7px;
   width:210px;
   height:132px;
 }
 div#conteiner_galeria .thumb img{
   border:0px;
 }
 div#conteiner_galeria .thumb span{
   position:absolute;
   width:210px;
   height:132px;
   background-image: url(imagens/mascara_thumb.png);
   background-repeat: no-repeat;
   background-position: left top;
}</pre>
<p style="text-align: left;">Aqui serei breve na explicação, o mais importante é saber sobre alinhamentos de elementos com CSS, regra básica elementos <strong>absolutos </strong>se alinha aos elementos <strong>relativos</strong>, por exemplo aqui o elemento<strong> &#8220;div#conteiner_galeria .thumb&#8221;</strong> é relativo e o elemento<strong> &#8220;div#conteiner_galeria .thumb span&#8221;</strong> é alinhado absoluto ao elemento anteiro a ele no caos o<strong> &#8220;div#conteiner_galeria .thumb&#8221;</strong>.</p>
<p style="text-align: left;">Daí é só dar a ele o tamanho desejado com o fundo sendo a nossa máscara,é importante também deixar tudo em ordem, ou seja o SPAN vem antes da Imagem, mas Tio pode ser diferente, pode &#8220;desinfeliz&#8221; mas é preciso colocar um z-index maior para que possa ficar por cima da imagem, assim:</p>
<pre style="text-align: left;">div#conteiner_galeria .thumb span{
   z-index:10;
}</pre>
<p style="text-align: left;">Outro detalhe importante é que sua máscara deverá ter o mesmo fundo (no caso aqui a borda) da sua página neste exemplo ela é branca, se seu site fosse verde ela deveria ser verde.</p>
<p style="text-align: left;">Prontinho, nãããooo&#8230; ainda tem mais <em>Mr. M</em>, no caso do <strong>Explorer 6</strong> ele coloca um preenchimento azul (deve vir da<a href="http://desciclo.pedia.ws/wiki/Tela_Azul_da_Morte" target="_blank"> tela azul da morte</a>) nos lugares onde tem transparência em PNG,<em> &#8220;ha tá, deposi deste trabalhão que você me diz isso?!&#8221;</em></p>
<p style="text-align: left;"><strong>3.Corrigindo Bug do IE</strong><br />
Calma para tudo tem um jeitinho, vamos lá para solucionar seu problema lhe apresento  o<a href="http://www.twinhelix.com/css/iepngfix/" target="_blank"> IE PNG Fix</a>, este componente faz uma doideira para remover este bug, veja a documentação completa no site, mas para adiantar seu lado usaremos apenas dois dos arquivos baixados no site:</p>
<p style="text-align: left;"><strong>iepngfix.htc<br />
blank.gif</strong></p>
<p style="text-align: left;">Coloque estes dois arquivos na raiz de sua aplicação basta acrescentar no CSS esta linha de código:</p>
<pre style="text-align: left;">div#conteiner_galeria .thumb span{
   behavior: url("iepngfix.htc");
}</pre>
<p style="text-align: left;">Agora sim! Está pronto e sem bug se quiser baixar os<a href="http://www.adrianomeira.com/blog/downloads/mascara_png_simples.rar" target="_self"> arquivos simples aqui</a> e com um<a href="http://www.adrianomeira.com/blog/downloads/mascara_png_completo.rar" target="_self"> toque de chefe com um Ligthbox</a> oferecido pela <a href="http://colorpowered.com/colorbox/" target="_blank">Colorbox</a>.</p>
<p style="text-align: left;">É isso ai até a próxima, dúvidas postem ai!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adrianomeira.com/blog/mascara-de-imagens-borda-arredondada/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
