<?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>Ramon Victor &#187; formulários</title>
	<atom:link href="http://www.ramonvictor.com/tag/formularios/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ramonvictor.com</link>
	<description></description>
	<lastBuildDate>Fri, 09 Sep 2011 14:59:00 +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>Dicas de como customizar formulários com jquey</title>
		<link>http://www.ramonvictor.com/dicas-de-como-customizar-formularios-com-jquey/</link>
		<comments>http://www.ramonvictor.com/dicas-de-como-customizar-formularios-com-jquey/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 13:39:25 +0000</pubDate>
		<dc:creator>ramonvictor</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[customizações]]></category>
		<category><![CDATA[formulários]]></category>

		<guid isPermaLink="false">http://www.ramonvictor.com/?p=388</guid>
		<description><![CDATA[Esta se tornando cada vez mais comum a pratica de Designers projetar formulários com visual diferente do padrão exibido pelos browsers.  Para implementar tal inovação, os desenvolvedores vem buscado soluções de scripts que não comprometam a acessibilidade e a performance &#8230; <a href="http://www.ramonvictor.com/dicas-de-como-customizar-formularios-com-jquey/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Esta se tornando cada vez mais comum a pratica de Designers projetar formulários com visual diferente do padrão exibido pelos browsers.  Para implementar tal inovação, os desenvolvedores vem buscado soluções de scripts que não comprometam a acessibilidade e a performance do website.<br />
<span id="more-388"></span><br />
Neste post irei demostrar uma solução que criei para personalizar inputs do tipo checkbox e radio, também listarei algumas referências de plugins muito úteis para customizar outros elementos do seu form.</p>
<h2>Personalização de inputs checkbox e radio (<a href="http://www.ramonvictor.com/demo/customizar_form/">demo</a>)</h2>
<p>Para personalizar inputs do tipo checkbox e radio é muito simples, primeiro vamos utilizar a marcação abaixo:</p>
<pre class="brush: xml; title: ; notranslate">&lt;ol class=&quot;list_radio&quot;&gt;
   &lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;rad1&quot; name=&quot;exemplos&quot; class=&quot;rad&quot; /&gt; &lt;label for=&quot;rad1&quot;&gt;Label 1&lt;/label&gt;&lt;/li&gt;
   &lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;rad2&quot;  name=&quot;exemplos&quot; class=&quot;rad&quot;  /&gt; &lt;label for=&quot;rad2&quot;&gt;Label 2&lt;/label&gt;&lt;/li&gt;
   &lt;li&gt;&lt;input type=&quot;radio&quot; id=&quot;rad3&quot; name=&quot;exemplos&quot; class=&quot;rad&quot;  /&gt; &lt;label for=&quot;rad3&quot;&gt;Label 2&lt;/label&gt;&lt;/li&gt;
&lt;/ol&gt;</pre>
<pre class="brush: xml; title: ; notranslate">&lt;ol class=&quot;list_check&quot;&gt;
   &lt;li&gt;&lt;input type=&quot;checkbox&quot; id=&quot;chck1&quot; class=&quot;chck&quot; /&gt; &lt;label  for=&quot;chck1&quot;&gt;Label 1&lt;/label&gt;&lt;/li&gt;
   &lt;li&gt;&lt;input type=&quot;checkbox&quot; id=&quot;chck2&quot; class=&quot;chck&quot; /&gt; &lt;label  for=&quot;chck2&quot;&gt;Label 2&lt;/label&gt;&lt;/li&gt;
   &lt;li&gt;&lt;input type=&quot;checkbox&quot; id=&quot;chck3&quot; class=&quot;chck&quot; /&gt; &lt;label  for=&quot;chck3&quot;&gt;Label 3&lt;/label&gt;&lt;/li&gt;
&lt;/ol&gt;</pre>
<p>No CSS vamos aproveitar a herança das classes (<strong>list_check</strong> e <strong>list_radio</strong>) para colocar os respectivos backgrounds nos labels.</p>
<pre class="brush: css; title: ; notranslate">/* Estilo para type='radio'*/
.list_radio li { float: left; margin-right: 15px}
.list_radio li label { background: url(radio_bg.gif) no-repeat; padding:2px 0 2px 25px; cursor: pointer}
.list_radio li label.ativo { background-position: 0 -25px}</pre>
<pre class="brush: css; title: ; notranslate">
/* Estilo para type='checkbox'*/
.list_check li { padding-bottom: 10px}
.list_check li label {  background: url(check_bg.gif) no-repeat; padding:2px 0 2px 25px; cursor: pointer}
.list_check li label.ativo { background-position: 0 -26px}</pre>
<p>Pelo jQuery iremos controlar a adição e remoção da classe <strong>ativo</strong> no label.</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
  //escondendo os inputs padrões
  $(&quot;.rad, .chck&quot;).hide();
  //verificando se exite inputs marcados
  $(&quot;form input&quot;).each(function(i){
    if($(this).is(':checked')) {
         $(this).siblings('label').addClass(&quot;ativo&quot;);
    }
  });
  // Radios estilizados
  $(&quot;.list_radio label&quot;).click(function() {
    $(this).parent().siblings().children(&quot;label&quot;).removeClass(&quot;ativo&quot;);
    $(this).addClass(&quot;ativo&quot;);
    $(this).siblings('input[type=radio]').attr(&quot;checked&quot;, &quot;checked&quot;);
  });
  // Checkboxs estilizados
  $(&quot;.list_check label&quot;).toggle(
    function() {
       $(this).siblings('input[type=checkbox]').attr(&quot;checked&quot;, &quot;checked&quot;);
       $(this).addClass(&quot;ativo&quot;);
    },
    function() {
       $(this).siblings('input[type=checkbox]').attr(&quot;checked&quot;, &quot;&quot;);
       $(this).removeClass(&quot;ativo&quot;);
  });
});
</pre>
<h2>Outras customizações</h2>
<ul class="list_ul">
<li>
<h3>Customização de selects</h3>
<p>» <a href="http://www.brainfault.com/2008/02/10/new-release-of-jquery-selectbox-replacement/">www.brainfault.com/2008/02/10/new-release-of-jquery-selectbox-replacement/</a><br />
» <a href="http://info.wsisiz.edu.pl/~suszynsk/jQuery/demos/jquery-selectbox/">info.wsisiz.edu.pl/~suszynsk/jQuery/demos/jquery-selectbox/</a></li>
<li>
<h3>Personalização de input text</h3>
<p>É comum a utilização de cantos arrendodados em campos do tipo texto. As CSS3 já estão vindo com suporte a esta funcionalidade (ver código abaixo), porém para o Internet Explorer é necessário acrescentar um <a href="http://www.dillerdesign.com/experiment/DD_roundies/">script</a>.</p>
<pre class="brush: css; title: ; notranslate">-moz-border-radius: 5px;/* Firefox */
border-radius: 5px; /* css3 */
-webkit-border-radius: 5px; /* Browsers webkit */</pre>
</li>
<li>
<h3>Customização de input file</h3>
<p>» <a href="http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom">www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom</a><br />
» <a href="http://marcgrabanski.com/pages/code/style-file-input">marcgrabanski.com/pages/code/style-file-input</a></li>
</ul>
<p>É importante resaltar que fugir demais do padrão dos formulários do browser pode comprometer a usabilidade e performance do site. Desta forma o Designer tem que avaliar bem a experiência e limitações dos usuários antes de implementar essas inovações.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramonvictor.com/dicas-de-como-customizar-formularios-com-jquey/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

