<?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>desenvolvimento para web &#187; (x)html</title>
	<atom:link href="http://desenvolvimentoparaweb.com/categoria/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://desenvolvimentoparaweb.com</link>
	<description>padrões da web, usabilidade, acessibilidade, web design, SEO, blogs e tecnologias para desenvolver a web</description>
	<lastBuildDate>Mon, 16 Aug 2010 13:00:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Textarea: dicas e truques que voc&#234; sempre quis saber</title>
		<link>http://desenvolvimentoparaweb.com/xhtml/textarea-dicas-truques-textarea/</link>
		<comments>http://desenvolvimentoparaweb.com/xhtml/textarea-dicas-truques-textarea/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 13:00:34 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[(x)html]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[plugins]]></category>
		<guid isPermaLink="false">http://desenvolvimentoparaweb.com/?p=655</guid>
		<description><![CDATA[Textarea: dicas e truques para melhorar as intera&ccedil;&otilde;es com &aacute;reas de texto em suas p&aacute;ginas]]></description>
			<content:encoded><![CDATA[<p><img src="http://desenvolvimentoparaweb.com/wp-content/uploads/2010/07/textarea-dicas-truques-html-jquery.gif" alt="Textarea: dicas e truques" title="" width="250" height="250" class="aligncenter size-full wp-image-656" /></p>
<p><strong>Textarea</strong> &eacute; um elemento b&aacute;sico de (X)HTML (especialmente formul&aacute;rios). Mas, muitos desconhecem, <strong>textareas possuem muitas peculiaridades</strong>, dicas e truques que permitem efeitos e intera&ccedil;&otilde;es interessant&iacute;ssimas. Eis uma bela cole&ccedil;&atilde;o de 9 truques e dica simples que voc&ecirc; pode fazer com textareas. Aproveite!</p>
<div class="artigo-traduzido">Este &eacute; um artigo traduzido do original &#8220;<a href="http://css-tricks.com/textarea-tricks/">Textarea Tricks</a>&#8220;, do blog <a href="http://css-tricks.com/" title="Visitar o CSS-Tricks.">CSS-Tricks</a>, a tradu&ccedil;&atilde;o foi feita com autoriza&ccedil;&atilde;o do <a href="http://chriscoyier.net/" title="Visitar o web site de Chris Coyier.">autor</a> e sofreu pequenas modifica&ccedil;&otilde;es.</div>
<h3>Imagem como background da textarea (desaparece quando recebe foco)</h3>
<p>&Eacute; poss&iacute;vel adicionar uma imagem de fundo para um textarea (assim como quase para qualquer outro elemento). &Agrave;s vezes, por algum motivo qualquer, quando se adiciona um background, isso pode &#8220;quebrar&#8221; o estilo padr&atilde;o do navegador para o textarea: o estilo de borda padr&atilde;o &#8211; 1px s&oacute;lido &#8211; &eacute; substitu&iacute;do por uma espessa borda chanfrada. Para restaurar o padr&atilde;o do navegador, &eacute; poss&iacute;vel, apenas, reestilizar a textarea.</p>
<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">textarea <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">img/textarea-background.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span> <span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* &quot;Quebra&quot; o padrão de textarea */</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#888</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* &quot;Restaura&quot; o padrão */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>
<p>Essa imagem de fundo certamente ir&aacute; interferir com a legibilidade do texto quando as palavras come&ccedil;arem a &#8220;passar por cima&#8221;. Para resolver isso, basta uma solu&ccedil;&atilde;o simples (com <a href="/categoria/jquery/">jQuery</a>) que faz o seguinte: retirar a imagem de background quando o textarea recebe foco e o coloca de volta no blur, caso nenhum texto tenha sido digitado.</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'textarea'</span><span style="color: #009900;">&#41;</span>
  .<span style="color: #000066;">focus</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
  .<span style="color: #000066;">blur</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'url(img/textarea-background.png) center center no-repeat'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
<h3>Texto com placeholder HTML5</h3>
<p>No HTML5, haver&aacute; um novo atributo: <em>placeholder</em>. Ele mostra um texto em cinza clarinho na &aacute;rea de texto que desaparece quando o textarea est&aacute; em foco ou tem algum valor.</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">textarea</span> placeholder<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;A vingança nunca é plena, mata a alma e a envenena!&quot;</span> <span style="color: #000066;">cols</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;30&quot;</span> <span style="color: #000066;">rows</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;5&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">textarea</span>&gt;</span></pre></div></div>
<p>Texto via HTML5 placeholder funciona no Safari 5, Mobile Safari, Chrome 6 e Firefox 4 alpha.</p>
<h3>Texto com placeholder, HTML5 e jQuery</h3>
<p>&Eacute; poss&iacute;vel testar se um determinado elemento suporta um atributo, em particular, por meio de testes com JavaScript:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> elementSupportsAttribute<span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> attribute<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> test <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>attribute <span style="color: #000066; font-weight: bold;">in</span> test<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>
<p>Ent&atilde;o, d&aacute; para escrever o c&oacute;digo de modo que se o browser suporta o atributo <em>placeholder</em>, ele o usa; se n&atilde;o, seu comportamento &eacute; &#8220;imitado&#8221; atrav&eacute;s de jQuery:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>elementSupportsAttribute<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'textarea'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'placeholder'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// Fallback for browsers that don't support HTML5 placeholder attribute</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#example-three&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;originalText&quot;</span><span style="color: #339933;">,</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#example-three&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;color&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#999&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #000066;">focus</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> $el <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">==</span> $el.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;originalText&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #000066;">blur</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;originalText&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// Browser does support HTML5 placeholder attribute, so use it.</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#example-three&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;placeholder&quot;</span><span style="color: #339933;">,</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#example-three&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>
<h3>Remover o brilho azul</h3>
<p>Todos os browsers WebKit, o Firefox 3.6 e Opera 10 colocam uma borda azul brilhante <strong>ao redor de textareas</strong> quando est&atilde;o em foco. &Eacute; poss&iacute;vel remov&ecirc;-lo da seguinte forma:</p>
<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">textarea <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">outline</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>
<p>Voc&ecirc; tamb&eacute;m pode aplicar &agrave; pseudo-classe <em>:focus</em> que vai funciona de qualquer maneira. Que saibamos, ainda n&atilde;o foi encontrada uma maneira de remover o brilho do Firefox e Opera. Se souber, por favor, comente!</p>
<h3>Remover resizer da textarea</h3>
<p>Navegadores baseados em WebKit colocam um pequeno elemento de UI no canto inferior direito das textareas para que os usu&aacute;rios possam redimensionar a &aacute;rea de texto. Se, por qualquer motivo, voc&ecirc; quiser remover isso, uma regra CSS simples &eacute; tudo o que voc&ecirc; precisa:</p>
<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">textarea <span style="color: #00AA00;">&#123;</span>
resize<span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>
<h3>Adicionar resizer na textarea</h3>
<p>A <a href="http://jqueryui.com/demos/resizable/" rel="nofollow">resizeable interaction do jQuery UI</a> pode ser usada em textareas. Ela funciona em todos os browsers e substitui a vers&atilde;o do WebKit nativa, j&aacute; que essa vers&atilde;o tem todos os tipos de coisas mirabolantes (como callbacks e anima&ccedil;&otilde;es).</p>
<p>Para usar a intera&ccedil;&atilde;o, &eacute; preciso carregar jQuery e jQuery UI em sua p&aacute;gina e usar o seguinte javascript:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;textarea&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">resizable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
<p>Fica a pergunta: usar jQuery e jQuery UI somente para adicionar o resize handle a suas textareas vale a pena? N&atilde;o uma &#8220;resposta certa&#8221; para a pergunta; s&oacute; voc&ecirc; pode julgar se isso &eacute; adequado &agrave;s necessidades e especifica&ccedil;&otilde;es de seu projeto.</p>
<h3>Auto-redimensionar conforme o conte&uacute;do</h3>
<p><a href="http://james.padolsey.com/about/">James Padolsey</a> tem um script jQuery muito bom para <a href="http://james.padolsey.com/javascript/jquery-plugin-autoresize/">auto redimensionar textareas conforme o conte&uacute;do</a>. A textarea come&ccedil;a com um tamanho normal razo&aacute;vel e, conforme voc&ecirc; digita mais e mais conte&uacute;do, ela se expande para incluir todo o texto, ao inv&eacute;s de mostrar a barra de rolagem padr&atilde;o.</p>
<p>O <em>plugin</em> tem uma variedade de op&ccedil;&otilde;es (<a href="http://james.padolsey.com/javascript/jquery-plugin-autoresize/" rel="nofollow">confira</a>), mas, em sua forma mais simples de uso, basta carregar o arquivo do script e usar assim:</p>
<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'textarea'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">autoResize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
<h3>Nowrap (sem quebra de linha autom&aacute;tica)</h3>
<p>Para evitar a quebra de texto com CSS normalmente &eacute; usada a regra &#8220;<em>#seletor { white-space: nowrap; }</em>&#8220;. Mas, por alguma raz&atilde;o, isso n&atilde;o funciona com textareas. Se a intera&ccedil;&atilde;o que voc&ecirc; procura nas textareas &eacute; a linha n&atilde;o quebrar at&eacute; que o Enter seja pressionado, &eacute; preciso usar o atributo &#8220;wrap&#8221; com o valor &#8220;off&#8221;, da seguinte maneira:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">textarea</span> wrap<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;off&quot;</span> <span style="color: #000066;">cols</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;30&quot;</span> <span style="color: #000066;">rows</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;5&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">textarea</span>&gt;</span></pre></div></div>
<h3>Remover barra padr&atilde;o do Internet Explorer</h3>
<p>O infame Internet Explorer coloca uma barra de rolagem vertical por padr&atilde;o em <strong>todas as textareas</strong>. &Eacute; poss&iacute;vel ocultar isso com &#8220;overflow: hidden&#8221;, mas ser&aacute; um problema se a barra de rolagem realmente for necess&aacute;ria em fun&ccedil;&atilde;o da quantidade de texto digitada. Felizmente, a propriedade <em>overflow</em> tem o valor &#8220;auto&#8221;, que exibe a barra de rolagem somente quando esta se fizer necess&aacute;ria. Fica assim:</p>
<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">textarea <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>
<h3>Conclus&atilde;o</h3>
<p>Voc&ecirc; j&aacute; tinha pensado que tantas <strong>intera&ccedil;&otilde;es</strong> e <strong>modifica&ccedil;&otilde;es</strong> fossem poss&iacute;vel em um elemento de HTML t&atilde;o b&aacute;sico como textarea? Se voc&ecirc; quiser ser ainda mais ousado, com javascript e CSS &eacute; poss&iacute;vel obter efeitos e intera&ccedil;&otilde;es ainda melhores! A prop&oacute;sito, os exemplos mostrados no artigo podem ser testados <a href="http://css-tricks.com/examples/TextareaTricks/" rel="nofollow">nesta p&aacute;gina</a>.</p>
<p>Se tiver alguma outra dica e/ou quiser mostrar algo de interessante que tenha feito em textareas, <strong>comente</strong>!</p>
<h3  class="related_post_title">Artigos Relacionados</h3><ul class="related_post"><li><a href="http://desenvolvimentoparaweb.com/wordpress/15-comandos-sql-wordpress/" title="15 fantásticos comandos SQL para WordPress">15 fantásticos comandos SQL para WordPress</a></li><li><a href="http://desenvolvimentoparaweb.com/jquery/como-criar-sumarios-dinamicamente-com-o-toc-table-of-contents-jquery-plugin-jquerytoc/" title="Como criar sumários dinamicamente com o TOC (Table of Contents) jQuery plugin">Como criar sumários dinamicamente com o TOC (Table of Contents) jQuery plugin</a></li><li><a href="http://desenvolvimentoparaweb.com/wordpress/preciosas-dicas-de-seguranca-e-otimizacao-para-wordpress/" title="Preciosas dicas de segurança e otimização para WordPress">Preciosas dicas de segurança e otimização para WordPress</a></li><li><a href="http://desenvolvimentoparaweb.com/seo/erros-comuns-desenvolvimento-web-campanhas-seo/" title="Erros comuns em desenvolvimento web para campanhas de SEO">Erros comuns em desenvolvimento web para campanhas de SEO</a></li><li><a href="http://desenvolvimentoparaweb.com/jquery/melhorando-interacao-formularios-busca/" title="Melhorando a interação em formulários de busca">Melhorando a interação em formulários de busca</a></li><li><a href="http://desenvolvimentoparaweb.com/miscelanea/8-maneiras-de-melhorar-a-performance-de-um-site/" title="8 maneiras de melhorar a performance de um site">8 maneiras de melhorar a performance de um site</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/ferramentas-criacao-wireframes/" title="Ferramentas para criação de wireframes">Ferramentas para criação de wireframes</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/recursos-usabilidade/" title="Recursos de usabilidade grátis">Recursos de usabilidade grátis</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/user-interface-dicas-rapidas/" title="User Interface em dicas rápidas">User Interface em dicas rápidas</a></li><li><a href="http://desenvolvimentoparaweb.com/wordpress/otimizacao-wordpress-performance-desempenho-blog-site/" title="Otimização WordPress: aumente a performance e desempenho de seu blog / site">Otimização WordPress: aumente a performance e desempenho de seu blog / site</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://desenvolvimentoparaweb.com/xhtml/textarea-dicas-truques-textarea/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Meta tags</title>
		<link>http://desenvolvimentoparaweb.com/xhtml/meta-tags/</link>
		<comments>http://desenvolvimentoparaweb.com/xhtml/meta-tags/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 13:00:40 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[(x)html]]></category>
		<category><![CDATA[ajuste]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[meta tags]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[personalização]]></category>
		<guid isPermaLink="false">http://www.desenvolvimentoparaweb.com/?p=198</guid>
		<description><![CDATA[Um guia sobre meta tags, mostrando as principais meta tags, sua fun&ccedil;&atilde;o e exemplos de uso para que voc&ecirc; saiba qual meta tag utilizar em cada situa&ccedil;&atilde;o, sumo a um trabalho de SEO mais elaborado e profissinoal]]></description>
			<content:encoded><![CDATA[<p><strong>Meta tags</strong> s&atilde;o tags &#8220;especiais&#8221; e &#8220;ocultas&#8221; que s&atilde;o colocadas no cabe&ccedil;alho (<em>head</em>) de documentos <em>web</em> (html, xhtml, xml, e outros). A correta inser&ccedil;&atilde;o e utiliza&ccedil;&atilde;o das <em>meta tags</em> muitas vezes determina se as p&aacute;ginas ser&atilde;o bem indexadas ou n&atilde;o, se a <strong>meta informa&ccedil;&atilde;o</strong> a respeito daquele site e daquela p&aacute;gina, em especial, est&aacute; correta e realmente reflete a realidade daquele <em>web site</em>.</p>
<p>Muitos desconhecem e negligenciam o uso de <em>meta tags</em> para a mais eficiente coloca&ccedil;&atilde;o do <em>web site</em> na <em>internet</em> e auto-emplica&ccedil;&atilde;o sobre seu conte&uacute;do, o que &eacute; importante para diversas coisas. Muitos dos que j&aacute; mexem com desenvolvimento para <em>web</em> h&aacute; algum tempo n&atilde;o d&atilde;o a devida import&acirc;ncia &agrave;s meta tags e, com isso, perdem a oportunidade de descrever melhor seu conte&uacute;do e o que os sites que desenvolvem t&ecirc;m a oferecer.</p>
<h3>&#8220;Meta&#8221; + &#8220;Tag&#8221; = Meta Tag</h3>
<p>O termo <strong>meta tag</strong> &eacute;, na verdade, formado por 2 palavrinhas que se juntam para dar seu significado. E para entender este significado, &eacute; preciso entender as 2 palavras, em separado:</p>
<p><strong>Meta</strong> &eacute; um prefixo grego que significa algo como &#8220;ap&oacute;s, &#8220;que ultrapassa&#8221;, &#8220;que engloba&#8221;, &#8220;que est&aacute; al&eacute;m&#8221;. Este n&atilde;o &eacute; um prefixo utilizado somente no desenvolvimento para <em>web</em>; voc&ecirc; j&aacute; deve ter ouvido e lido palavras como &#8220;metabolismo&#8221; e &#8220;metamorfose&#8221;. Este prefixo <strong>meta</strong> refere-se &agrave; &#8220;coisas sobre a pr&oacute;pria coisa&#8221; ou, em outras palavras, <strong>dados sobre dados</strong>, <strong>informa&ccedil;&atilde;o sobre a informa&ccedil;&atilde;o</strong>.</p>
<p><strong>Tag</strong> &eacute; uma palavra do ingl&ecirc;s que significa &#8220;etiqueta&#8221; ou &#8220;r&oacute;tulo&#8221;. Tanto nos EUA, no Brasil ou qualquer parte do mundo, etiquetas servem para identificar, nomear e marcar algo ou alguma coisa para que possa ser identificado e/ou corretamenta catalogado &#8211; dentre outras coisas.</p>
<p>Ent&atilde;o, juntando os 2 termos, &#8220;<em>meta</em>&#8221; e &#8220;<em>tag</em>&#8220;, temos <strong>meta tag</strong> que, como voc&ecirc; j&aacute; deve ter &#8220;adivinhado&#8221;, s&atilde;o <em>tags</em> que descrevem o documento <em>web</em> a qual pertencem (&#8220;informa&ccedil;&atilde;o sobre a informa&ccedil;&atilde;o&#8221;); as meta <em>tags</em> s&atilde;o para descrever informa&ccedil;&otilde;es sobre <em>sites</em> e p&aacute;ginas que as cont&eacute;m; informam sobre qual conte&uacute;do est&aacute; ali e mostra informa&ccedil;&otilde;es extras a respeito deste conte&uacute;do.</p>
<p>As <em>metatags</em> s&atilde;o colocadas como elementos-filho de <em>head</em>, no (X)HTML, e sua sintaxe obedece &agrave; seguinte conven&ccedil;&atilde;o:</p>
<p style="text-align: center;"><strong>&lt;meta name=&#8221;nome-da-meta&#8221; content=&#8221;conteudo-da-meta&#8221; /&gt;</strong></p>
<p>Ent&atilde;o, para qualquer das meta tags existentes que voc&ecirc; for usar, a conven&ccedil;&atilde;o para seu uso &eacute; esta, onde se informa primeiramente de qual meta se est&aacute; inserindo e, posteriormente, qual valor se d&aacute;. Para os acostumados com a sintaxe XHTML e afins &#8211; grande parte dos leitores do <a title="desenvolvimento para web." href="http://www.desenvolvimentoparaweb.com/">desenvolvimento para <em>web</em></a> -, n&atilde;o h&aacute; nenhuma novidade.</p>
<h3>Meta tags mais usadas e conhecidas</h3>
<p>Existem muitas meta tags dispon&iacute;veis para se usar, entretanto, algumas s&atilde;o de especial import&acirc;ncia e devem ser obrigatoriamente inseridas em cada uma das p&aacute;ginas de seu <em>web site</em>. Sem elas, diversos preju&iacute;zos podem acontecer ao contexto geral de seu site e os objetivos tra&ccedil;ados para ele ter&atilde;o mais dificuldade em serem alcan&ccedil;ados.</p>
<p>Lembre-se: comece a inser&ccedil;&atilde;o de suas meta tags sempre depois de inserir o t&iacute;tulo de seu documento, atrav&eacute;s da <em>tag</em> <strong>&lt;title&gt;</strong>, j&aacute; que esta deve ser a primeira tag a constar dentro do cabe&ccedil;alho (se&ccedil;&atilde;o <strong>&lt;head&gt;</strong>) de cada uma de suas p&aacute;ginas web.</p>
<h4><strong>Meta tag &#8220;description&#8221;</strong></h4>
<p>Esta <em>meta tag</em> descreve o conte&uacute;do do documento. &Eacute; muito importante, j&aacute; que mecanismos de busca que suportam esta meta exibem seu conte&uacute;do na descri&ccedil;&atilde;o de p&aacute;gina da p&aacute;gina de resultados de pesquisa.</p>
<p>Portanto, esta <em>meta tag</em> deve ser sabiamente utilizada e o respons&aacute;vel pela elabora&ccedil;&atilde;o de seu conte&uacute;do deve usar senten&ccedil;as crutas, com as principais palavras-chave do documento e de forma a ser atrativa para um potencial visitante se interessar em conhecer seu conte&uacute;do somente por ter lido a descri&ccedil;&atilde;o.</p>
<h4><strong>Meta tag &#8220;keywords&#8221;</strong></h4>
<p>Nesta <em>meta-tag</em> voc&ecirc; coloca uma lista de palavras-chave (palavras-chave estas que, obviamente, t&ecirc;m a ver com o conte&uacute;do da p&aacute;gina <em>web</em>). Os <em>bots</em> de busca verificam quais as palavras-chaves foram apontadas nesta meta e, segundo seus crit&eacute;rios, armazenas as informa&ccedil;&otilde;es em seus bancos de dados para melhor servir as pessoas com seus resultados de procura.</p>
<p>Cuidado para n&atilde;o abusar, na tentativa de ser &#8220;espertinho&#8221; e burlar os <em>spiders</em> de busca, pois em seus algoritmos j&aacute; &eacute; previsto este tipo de pr&aacute;tica e, ao inv&eacute;s de &#8220;se dar bem&#8221;, seu <em>site</em> ser&aacute; severamente penalizado, podendo, no pior caso, ser <strong>banido</strong> do &iacute;ndice de resultados de procura dos buscadores.</p>
<h4>Meta tag &#8220;robots&#8221;</h4>
<p>A &#8220;robots&#8221; serve para, de certa maneira, controlar os <em>bots</em> de busca quanto &agrave; sua tarefa de indexa&ccedil;&atilde;o. Atrav&eacute;s dos diferentes valores poss&iacute;veis para seu conte&uacute;do, &eacute; poss&iacute;vel passar instru&ccedil;&otilde;es aos bots de busca para dizer qual o crit&eacute;rio de indexa&ccedil;&atilde;o foi escolhido para tal ou qual p&aacute;gina de seu site. Os valores mais comuns para esta meta tag s&atilde;o:</p>
<ul>
<li><strong>all.</strong> Valor padr&atilde;o, significa &#8220;vazio&#8221; &#8211; o rob&ocirc; de busca n&atilde;o recebe nenhuma informa&ccedil;&atilde;o;</li>
<li><strong>index.</strong> Os rob&ocirc;s de busca podem incluir a p&aacute;gina normalmente;</li>
<li><strong>follow.</strong> Rob&ocirc;s podem indexar a p&aacute;gina e ainda seguir os links para outras p&aacute;ginas que ela cont&eacute;m;</li>
<li><strong>noindex.</strong> Os links podem ser seguidos, mas a p&aacute;gina n&atilde;o &eacute; indexada;</li>
<li><strong>noFollow.</strong> A p&aacute;gina &eacute; indexada, mas os links n&atilde;o s&atilde;o seguidos;</li>
<li><strong>none.</strong> Os rob&ocirc;s podem ignorar a p&aacute;gina;</li>
<li><strong>noarchive</strong> (apenas GoogleBot). A p&aacute;gina n&atilde;o &eacute; arquivada.</li>
</ul>
<h3>Outras metatags</h3>
<p>Al&eacute;m das principais e mais conhecidas <em>meta-tags</em>, ainda existem outras que, embora de uma maneira diferente, t&ecirc;m seu devido valor e import&acirc;ncia. O uso delas pode auxiliar na performance e desempenho do <em>site</em>, ter rela&ccedil;&atilde;o com o tipo de conte&uacute;do voc&ecirc; publica e outras coisas.</p>
<h4>Meta tag &#8220;author&#8221;</h4>
<p>Serve para especificar e indicar quem &eacute; o autor da p&aacute;gina. Comumente, as ag&ecirc;ncias de <em>web</em> colocam seus nomes e endere&ccedil;os para seus <em>web sites</em> como valor desta <em>tag</em>. Teoricamente, isto aumenta o &iacute;ndice de visita&ccedil;&atilde;o dos <em>bots</em> de busca e aumenta o <em>pagerank</em>, consequentemente colocando a ag&ecirc;ncia em boas coloca&ccedil;&otilde;es nos mecanismos de busca.</p>
<p>Sinceramente, n&atilde;o sei se &eacute; verdade ou boato; de qualquer maneira, n&atilde;o custa nada e &eacute; justo colocar o nome e endere&ccedil;o virtual de quem fez a p&aacute;gina, n&atilde;o &eacute;?</p>
<h4>Meta tag &#8220;revisit-after&#8221;</h4>
<p>Ao contr&aacute;rio do que muitos pensam, esta meta tag <strong>n&atilde;o</strong> informa aos <em>bots</em> de busca com qual frequencia eles devem voltar ao site para reindexar os conte&uacute;dos (quando eles voltam &eacute; mais ou menos aleat&oacute;rio). Sua real fun&ccedil;&atilde;o &eacute; informar com qual frequencia os proxys devem refazer os chaches das p&aacute;ginas de seu web site.</p>
<p>Seu uso consiste em informar, em dias, o per&iacute;odo que voc&ecirc; deseja, <strong>em dias</strong>. Por exemplo:</p>
<p>&lt;meta name=&#8221;revisit-after&#8221; content=&#8221;7 days&#8221; /&gt;</p>
<p>N&atilde;o existe um &#8220;n&uacute;mero ideal&#8221; para se colocar na meta revisit-after; vai de cada caso. Se voc&ecirc; tem um <em>blog</em> ou <em>site</em> que &eacute; frequentemente atualizado, ent&atilde;o pode ser uma boa voc&ecirc; especificar um valor mais baixo. Se n&atilde;o atualiza muito seus conte&uacute;dos, pode ser um valor um pouco mais alto. Cada caso &eacute; um caso.</p>
<h4>Meta tag &#8220;expires&#8221;</h4>
<p>Esta <em>meta tag</em> indica a &#8220;data de validade&#8221; de uma p&aacute;gina <em>web</em>, quer dizer, indica quando uma p&aacute;gina ser&aacute; considerada como expirada. Se voc&ecirc; espeficicar &#8220;0&#8243; (zero) como valor, ent&atilde;o ele considera isso como &#8220;agora&#8221; (por isso essa <em>meta tag</em> &eacute; muito usada em dobradinha com a <strong>revisit-after</strong>).</p>
<p>Visite o <a href="http://www.submitcorner.com/cgi-bin/tools/metagen.cgi">gerador de <em>meta tags</em></a> para gerar um valor adequado &agrave; meta expies, que &eacute; meio chatinha de calcular&#8230;</p>
<h3>Meta tags padr&atilde;o Doblin Core</h3>
<p>Assim como aconteceu com os <a title="Mais sobre os microformatos." href="http://webinsider.uol.com.br/index.php/2006/01/16/microformats-aprenda-a-descrever-seus-dados/">microformatos</a>, no sentido de criar sua pr&oacute;pria marca&ccedil;&atilde;o, alguns desenvolvedores resolveram criar suas pr&oacute;prias <em>meta tags</em>. O mais conhecido e aceito antes a comunidade de desenvolvedores &eacute; o padr&atilde;o <strong>Doblin Core</strong>, que existe e &eacute; aprimorado h&aacute; mais de 10 anos!</p>
<p><a title="P&aacute;gina oficial do Dublin Core." href="http://www.dublincore.org/">Visite o <em>web site</em> oficial do projeto Dublin Core</a> para saber mais informa&ccedil;&otilde;es a respeito e conhecer as <em>meta tags</em> DC que voc&ecirc; pode usar em suas p&aacute;ginas.</p>
<h3>Meta tags s&atilde;o importantes</h3>
<p>Saber utilizar as <em>meta tags</em> &eacute; importante para dar um <strong>ajuste fino</strong> ao <em>web site</em>. Saber usar corretamente e decidir qual <em>meta tag</em> usar e qual n&atilde;o usar em determinada p&aacute;gina, apesar de n&atilde;o parecer, pode fazer toda a diferen&ccedil;a para seu <em>web site</em>. Mas estas foram somente algumas das meta que existem; veja uma rela&ccedil;&atilde;o mais completa e detalhada nos seguintes endere&ccedil;os:</p>
<ul>
<li><a href="http://developer.mozilla.org/pt/Utilizando_meta_tags">Mozilla developer center: utilizando meta tags</a>;</li>
<li><a href="http://www.submitcorner.com/Guide/Meta/">Wired 2000: meta tag guide</a>;</li>
<li><a href="http://www.html-reference.com/META.htm">HTML tag reference guide: &lt;META&gt;</a>.</li>
</ul>
<p>Guarde bem seus &#8220;meta conhecimentos&#8221;!  ;-)</p>
<h3  class="related_post_title">Artigos Relacionados</h3><ul class="related_post"><li><a href="http://desenvolvimentoparaweb.com/miscelanea/8-maneiras-de-melhorar-a-performance-de-um-site/" title="8 maneiras de melhorar a performance de um site">8 maneiras de melhorar a performance de um site</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/user-interface-dicas-rapidas/" title="User Interface em dicas rápidas">User Interface em dicas rápidas</a></li><li><a href="http://desenvolvimentoparaweb.com/wordpress/otimizacao-wordpress-performance-desempenho-blog-site/" title="Otimização WordPress: aumente a performance e desempenho de seu blog / site">Otimização WordPress: aumente a performance e desempenho de seu blog / site</a></li><li><a href="http://desenvolvimentoparaweb.com/jquery/8-dicas-fazer-codigos-melhores-jquery/" title="8 dicas para fazer códigos melhores com jQuery">8 dicas para fazer códigos melhores com jQuery</a></li><li><a href="http://desenvolvimentoparaweb.com/miscelanea/jetpack-explorando-novas-maneiras-de-ampliar-e-personalizar-a-web/" title="Jetpack: explorando novas maneiras de ampliar e personalizar a web">Jetpack: explorando novas maneiras de ampliar e personalizar a web</a></li><li><a href="http://desenvolvimentoparaweb.com/wordpress/newsletter-no-wordpress-com-o-plugin-ajax-newsletter-wp-ajax-newsletter/" title="Newsletter no WordPress com o plugin Ajax Newsletter (wp-ajax-newsletter)">Newsletter no WordPress com o plugin Ajax Newsletter (wp-ajax-newsletter)</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/pergunte-se-a-si-mesmo-questoes-para-desenvolver-um-bom-site/" title="Pergunte-se a si mesmo: questões para desenvolver um bom site">Pergunte-se a si mesmo: questões para desenvolver um bom site</a></li><li><a href="http://desenvolvimentoparaweb.com/miscelanea/novo-tema-para-o-blog-dpw2009/" title="Novo tema para o blog: dpw2009">Novo tema para o blog: dpw2009</a></li><li><a href="http://desenvolvimentoparaweb.com/php/dicas-para-otimizar-codigos-php/" title="Dicas para otimizar códigos PHP">Dicas para otimizar códigos PHP</a></li><li><a href="http://desenvolvimentoparaweb.com/miscelanea/desenvolvimento-para-web-2/" title="Desenvolvimento para web 2.0">Desenvolvimento para web 2.0</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://desenvolvimentoparaweb.com/xhtml/meta-tags/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Diferen&#231;as entre IDs e Classes</title>
		<link>http://desenvolvimentoparaweb.com/css/diferencas-entre-ids-e-classes/</link>
		<comments>http://desenvolvimentoparaweb.com/css/diferencas-entre-ids-e-classes/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 14:00:50 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[(x)html]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[layout]]></category>
		<guid isPermaLink="false">http://www.desenvolvimentoparaweb.com/?p=202</guid>
		<description><![CDATA[Aprenda a diferen&ccedil;a entre IDs e classes, usados em XHTML, CSS e javascript. Saber a diferen&ccedil;a entre classes e IDs evita erros b&aacute;sicos e permite desenvolver sites melhores]]></description>
			<content:encoded><![CDATA[<p>Principalmente quando no in&iacute;cio dos estudos sobre desenvolvimento para <em>web</em>, &eacute; comum haver confus&otilde;es entre IDs e Classes, t&atilde;o utilizados e necess&aacute;rios em XHTML, CSS e Javascript. V&aacute;rios tutoriais na <em>internet</em> explicam alguns pontos b&aacute;sicos e d&atilde;o certas orienta&ccedil;&otilde;es, mas nada muito aprofundado e esclarecedor. O resultado: as d&uacute;vidas persistem e a diferen&ccedil;a entre ID e Classe ainda n&atilde;o &eacute; &#8220;desvendada&#8221;. Com este artigo este &#8220;mist&eacute;rio&#8221; chega ao fim! ;-)</p>
<div class="artigo-traduzido">Este &eacute; um artigo traduzido do original &#8220;<a title="Ler o artigo original The Difference Between ID and Class." href="http://css-tricks.com/the-difference-between-id-and-class/">The Difference Between ID and Class</a>&#8220;, do blog <a title="Visitar o CSS-Tricks." href="http://css-tricks.com/">CSS-Tricks</a>, e a tradu&ccedil;&atilde;o foi feita com autoriza&ccedil;&atilde;o do <a title="Visitar o web site de Chris Coyier." href="http://chriscoyier.net/">autor</a>.</div>
<h3>IDs e classes s&atilde;o &#8220;anz&oacute;is&#8221;</h3>
<p>Precisamos de formas de descrever conte&uacute;dos em documentos HTML / XHTML. Os elementos b&aacute;sicos como &lt;h1&gt;, &lt;p&gt; e &lt;ul&gt; frequentemente fazer o trabalho, mas o conjunto b&aacute;sico de <em>tags</em> n&atilde;o abragen todas as possibilidades de elementos de p&aacute;gina ou escolhas de <em>layout</em>. Para isso, precisamos de <strong>IDs</strong> e <strong>Classes</strong>.</p>
<p>Por exemplo &lt;ul id=&#8221;nav&#8221;&gt;, isso d&aacute; a oportunidade de visar especificamente esta lista, ent&atilde;o h&aacute; uma maneira de manipular esta lista exclusivamente em rela&ccedil;&atilde;o a outras listas n&atilde;o-ordenadas da p&aacute;gina. Ou talvez tiv&eacute;ssemos uma se&ccedil;&atilde;o na p&aacute;gina que n&atilde;o possui uma <em>tag</em> relevante para signifcar, por exemplo, um rodap&eacute;, onde poder&iacute;amos fazer algo como &lt;div id=&#8221;footer&#8221;&gt;. Ou talvez tenhamos <em>boxes</em> na barra lateral para manter o conte&uacute;do separado de alguma forma: &lt;div class=&#8221;sidebar-box&#8221;&gt;.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-203" title="Met&aacute;fora de classe XHTML em div: anzol." src="http://www.desenvolvimentoparaweb.com/wp-content/uploads/2008/07/metafora-div-classe-anzol-xhtml.jpg" alt="Met&aacute;fora de classe XHTML em div: anzol." width="500" height="132" /></p>
<p>Esses IDs e classes s&atilde;o os &#8220;anz&oacute;is&#8221; que precisamos fazer na marca&ccedil;&atilde;o para colocarmos as m&atilde;os neles. CSS obviamente precisa disso para que possa fazer seletores e montar folhas de estilos, mas outras linguagens <em>web</em>, como <em>javascript</em>, tamb&eacute;m dependem deles. Mas quais as diferen&ccedil;as entre IDs e classes?</p>
<h3>IDs s&atilde;o &uacute;nicos</h3>
<ul>
<li>Cada elemento pode ter <strong>apenas um</strong> ID;</li>
<li>Cada p&aacute;gina pode ter apenas <strong>um elemento</strong> com aquele ID.</li>
</ul>
<p>Quando se est&aacute; aprendendo sobre isso, &eacute; comum ouvir que s&oacute; se deve usar IDs uma vez, mas &eacute; poss&iacute;vel usar uma classe v&aacute;rias vezes. Basicamente, isso entra num ouvido e sai no outro, porque soa mais como uma &#8220;regrinha&#8221; que algo realmente importante. Se voc&ecirc; trata somente com HTML / CSS, isso pode acontecer com voc&ecirc;, tamb&eacute;m, porque eles realmente n&atilde;o parecem fazer nada de diferente.</p>
<p>Aqui vai uma: <em>seu c&oacute;digo n&atilde;o vai passar pelo validador se voc&ecirc; usar o mesmo ID em mais de um elemento</em>. Valida&ccedil;&atilde;o deve ser importante para todos n&oacute;s, de modo que, por si s&oacute;, &eacute; algo muito importante. Adiante, mais raz&otilde;es pelas quais um ID deve ser &uacute;nico.</p>
<h3>Classes n&atilde;o s&atilde;o &uacute;nicas</h3>
<ul>
<li>Voc&ecirc; pode usar a <strong>mesma classe</strong> para v&aacute;rios elementos;</li>
<li>Voc&ecirc; pode usar <strong>v&aacute;rias classes para um mesmo elemento</strong>.</li>
</ul>
<p>Qualquer informa&ccedil;&atilde;o de estilo que precise ser aplicada a m&uacute;ltiplos elementos em uma p&aacute;gina deve ser feita com uma <strong>classe</strong>. Tomemos como uma exemplo uma p&aacute;gina com v&aacute;rios &#8220;<em>widgets</em>&#8220;:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>
<p>Agora, &eacute; poss&iacute;vel usar a mesma classe &#8220;widget&#8221; como gancho para aplicar o mesmo conjunto de estilos para cada um deles. Mas, e se for preciso ter um deles maior que os outros, mas continuar com um estilo que compartilhe dos outros atributos? &Eacute; poss&iacute;vel aplicar mais de uma classe a um elemento:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget big&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;widget&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>
<p>N&atilde;o h&aacute; necessidade de fazer e nomear uma nova classe aqui, apenas colocar o nome da nova classe no atributo <em>class</em>, juntamente com o nome da classe que j&aacute; est&aacute; l&aacute;. As diferentes classes s&atilde;o delimitadas por espa&ccedil;os e a maioria dos navegadores permite quaisquer n&uacute;meros delas (na verdade, &eacute; mais como <em>milhares</em>, o que &eacute; muito mais do que realmente &eacute; preciso).</p>
<h3>N&atilde;o existem padr&otilde;es de IDs e Classes em nenhum navegador</h3>
<p>Colocar um nome de classe ou ID em um elemento, por padr&atilde;o n&atilde;o faz nada a esse elemento.</p>
<p>Isso &eacute; algo que intriga quem &eacute; iniciante. Voc&ecirc; est&aacute; trabalhando em um <em>site</em> e descobre que a aplica&ccedil;&atilde;o de uma classe com um nome em particular resolve um problema que voc&ecirc; tem. Ent&atilde;o voc&ecirc; mexe em outro <em>site</em>, com o mesmo problema, e tenta corrig&iacute;-lo da mesma maneira, usando aquele mesmo nome de classe, pensando que o nome da classe, por si s&oacute;, tem alguma propriedade m&aacute;gica, apenas para descobrir que n&atilde;o funciona assim&#8230;</p>
<p>Classes e IDs n&atilde;o t&ecirc;m qualquer estilo por si mesmos. &Eacute; preciso CSS para orientar e aplicar estilos.</p>
<h3>C&oacute;digos de Barra e N&uacute;meros de S&eacute;rie</h3>
<p style="text-align: center;"><img class="alignnone size-full wp-image-205" title="Exemplos de c&oacute;digo de barra e n&uacute;mero de s&eacute;rie." src="http://www.desenvolvimentoparaweb.com/wp-content/uploads/2008/07/codigo-de-barra-numero-de-serie.jpg" alt="Exemplos de c&oacute;digo de barra e n&uacute;mero de s&eacute;rie." width="500" height="132" /></p>
<p>Talvez c&oacute;digos de barra e n&uacute;meros de s&eacute;rie sejam uma boa analogia. Tome um iPod, numa loja. Na embalagem h&aacute; um c&oacute;digo de barras. Ele indica &agrave; loja que produto &eacute; esse; ent&atilde;o, quando &eacute; escaneado, o c&oacute;digo de barras informa exatamente que produto &eacute; aquele e quanto custa. &Eacute; poss&iacute;vel saber at&eacute; sua cor e em qual lugar do armaz&eacute;m ele era mantido. Todos esses iPods t&ecirc;m exatamente o mesmo tipo de c&oacute;digo de barras.</p>
<p>O iPod tem tamb&eacute;m um n&uacute;mero de s&eacute;rie que &eacute; absolutamente &uacute;nico em rela&ccedil;&atilde;o a qualquer outro iPod (ou outro dispositivo) em todo o mundo. O n&uacute;mero de s&eacute;rie n&atilde;o informa o pre&ccedil;o. Poderia, mas para a loja que o vende esta n&atilde;o seria uma maneira eficaz de armazenar e utilizar essa informa&ccedil;&atilde;o. &Eacute; muito mais f&aacute;cil usar um c&oacute;digo de barras porque se, por exemplo, o pre&ccedil;o muda, &eacute; preciso apenas alterar o pre&ccedil;o para aquele c&oacute;digo de barras, e n&atilde;o para cada n&uacute;mero serial do sistema.</p>
<p>Isso &eacute; muito parecido com IDs e Classes. <strong>Informa&ccedil;&otilde;es que s&atilde;o reusadas devem ser mantidas em uma classe e informa&ccedil;&otilde;es que s&atilde;o totalmente &uacute;nicas devem ser mantidas em um ID.</strong></p>
<h3>IDs t&ecirc;m uma funcionalidade especial nos navegadores</h3>
<p>Classes n&atilde;o tem funcionalidades especiais no <em>browser</em>, mas IDs t&ecirc;m um truque muito especial na manga: um &#8220;valor de <em>hash</em>&#8221; para URLs. Se voc&ecirc; tiver um URL como http://seudominio.com#comments, o navegador vai tentar localizar o elemento com o id &#8220;comments&#8221; e vai automaticamente rolar a p&aacute;gina at&eacute; chegar nesse elemento.</p>
<p>&Eacute; importante observar que o <em>browser</em> vai rolar a p&aacute;gina at&eacute; onde quer que o elemento esteja; ent&atilde;o, se houver algo de especial, como uma DIV com barra de rolagem (propriedade CSS <em>overflow</em> com valor &#8220;auto&#8221; ou &#8220;scroll&#8221;), esta barra de rolagem vai ser deslocada &#8211; rolar para baixo -, tamb&eacute;m.</p>
<p>Esta &eacute; uma raz&atilde;o importante sobre o porqu&ecirc; &eacute; importante ter um ID absolutamente &uacute;nico. Com isso, o navegador sabe at&eacute; quando rolar.</p>
<h3>Elementos podem ter ambos, ID e Classes</h3>
<p>Nada para voc&ecirc; quando voc&ecirc; usa ambos, ID e classes em um &uacute;nico elemento. Na verdade, fazer isso na maioria das vezes &eacute; uma boa id&eacute;ia. Tomemos como exemplo o padr&atilde;o de marca&ccedil;&atilde;o para item de lista de um coment&aacute;rio no Wordpress:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;comment-27299&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;item&quot;</span>&gt;</span></pre></div></div>
<p>Tem uma classe que foi aplicada que talvez se queira usar para estilizar todos os coment&aacute;rios na p&aacute;gina, mas tamb&eacute;m h&aacute; um &uacute;nico valor de ID (dinamicamente gerado pelo Wordpress). Com isso, &eacute; facilmente poss&iacute;vel fazer um <em>link</em> diretamente a um coment&aacute;rio, em uma p&aacute;gina, em especial.</p>
<h3>CSS n&atilde;o se importa</h3>
<p>Quanto ao CSS, <strong>n&atilde;o h&aacute; nada que voc&ecirc; possa fazer com um ID que n&atilde;o possa fazer com uma Classe e vice-versa</strong>. &Agrave;s vezes, quando se est&aacute; iniciando no estudo de CSS e se tem um problema, tenta-se alternar entre usar ID ou usar Classe. O CSS n&atilde;o se importa.</p>
<h3>Javascript se importa</h3>
<p>Aqueles que mexem com <em>javascript</em> provavelmente j&aacute; est&atilde;o mais em sintonia entre as diferen&ccedil;as entre as Classes e IDs. <em>Javascript</em> depende da exist&ecirc;ncia de um elemento de p&aacute;gina com ID &uacute;nico, ou ent&atilde;o a comumente utilizada fun&ccedil;&atilde;o <a title="Mais sobre getElementById, no W3Schools." href="http://www.w3schools.com/HTMLDOM/met_doc_getelementbyid.asp">getElementById</a> n&atilde;o seria confi&aacute;vel. Aqueles acostumados com <a title="Todos artigos sobre jQuery do desenvolvimento para web." href="http://www.desenvolvimentoparaweb.com/category/jquery/">jQuery</a> sabem o qu&atilde;o f&aacute;cil &eacute; adicionar e remover classes de elementos de p&aacute;gina. &Eacute; uma fun&ccedil;&atilde;o nativa no jQuery. Veja que tal fun&ccedil;&atilde;o n&atilde;o existe para IDs. N&atilde;o &eacute; responsabilidade do <em>javascript</em> manipular estes valores, porque ele causaria mais problemas que seria &uacute;til&#8230;</p>
<h3>Se voc&ecirc; n&atilde;o precisa deles, n&atilde;o os use</h3>
<p>Como voc&ecirc; pode ver, classes e IDs s&atilde;o muito importantes e n&oacute;s os utilizamos todos os dias para estilizar p&aacute;ginas e manipular aquilo que &eacute; preciso. Entretanto, voc&ecirc; deve us&aacute;-los com crit&eacute;rio e semanticamente.</p>
<p>Isto significa evitar coisas do tipo:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://css-tricks.com&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;link&quot;</span>&gt;</span>CSS-Tricks.com<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span></pre></div></div>
<p>J&aacute; sabemos: este elemento &eacute; um <em>link</em>, &eacute; um elemento &acirc;ncora. N&atilde;o h&aacute; nada de especial aqui a ponto de ser preciso especificar uma classe, j&aacute; que &eacute; poss&iacute;vel aplicar o estilo na pr&oacute;pria tag (&#8220;a&#8221;).</p>
<p>Evite este tipo de coisa, tamb&eacute;m:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;coluna-direita&quot;</span>&gt;</span></pre></div></div>
<p>O ID &eacute; corretamente utilizado aqui, j&aacute; que, provavelmente, a p&aacute;gina ter&aacute; somente uma &uacute;nica coluna da direita, mas o nome &eacute; inadequado. Descreva o contexto do elemento, n&atilde;o onde est&aacute; ou como se parece. Um ID &#8220;barra-lateral&#8221; seria melhor.</p>
<h3>Microformatos s&atilde;o apenas nomes espec&iacute;ficos de classes</h3>
<p>Pensa que <a title="P&aacute;gina oficial dos microformatos." href="http://microformats.org/">microformatos</a> &eacute; dif&iacute;cil para voc&ecirc;? Microformato &eacute; apenas marca&ccedil;&atilde;o regular que faz uso de nomes de classes padronizados para a informa&ccedil;&atilde;o que cont&ecirc;m. Veja este vCard:</p>
<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;vcard&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fn org url&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.commerce.net/&quot;</span>&gt;</span>CommerceNet<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;adr&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;type&quot;</span>&gt;</span>Work<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>:
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;street-address&quot;</span>&gt;</span>169 University Avenue<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;locality&quot;</span>&gt;</span>Palo Alto<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>,
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">abbr</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;region&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;California&quot;</span>&gt;</span>CA<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">abbr</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;postal-code&quot;</span>&gt;</span>94301<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;country-name&quot;</span>&gt;</span>USA<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;tel&quot;</span>&gt;</span>
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;type&quot;</span>&gt;</span>Work<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span> +1-650-289-4040
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;tel&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;type&quot;</span>&gt;</span>Fax<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span> +1-650-289-4041
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Email:
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span>&gt;</span>info@commerce.net<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>
<h3  class="related_post_title">Artigos Relacionados</h3><ul class="related_post"><li><a href="http://desenvolvimentoparaweb.com/css/centralizar-suas-paginas-web-com-css-como-deixar-o-site-sempre-no-centro-com-folhas-de-estilo/" title="Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo">Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo</a></li><li><a href="http://desenvolvimentoparaweb.com/css/css-float-consideracoes-dicas-e-macetes-para-bons-layouts-na-web/" title="CSS float: considerações, dicas e macetes para bons layouts na web">CSS float: considerações, dicas e macetes para bons layouts na web</a></li><li><a href="http://desenvolvimentoparaweb.com/css/css-minimo/" title="CSS mínimo">CSS mínimo</a></li><li><a href="http://desenvolvimentoparaweb.com/seo/erros-comuns-desenvolvimento-web-campanhas-seo/" title="Erros comuns em desenvolvimento web para campanhas de SEO">Erros comuns em desenvolvimento web para campanhas de SEO</a></li><li><a href="http://desenvolvimentoparaweb.com/jquery/melhorando-interacao-formularios-busca/" title="Melhorando a interação em formulários de busca">Melhorando a interação em formulários de busca</a></li><li><a href="http://desenvolvimentoparaweb.com/xhtml/textarea-dicas-truques-textarea/" title="Textarea: dicas e truques que você sempre quis saber">Textarea: dicas e truques que você sempre quis saber</a></li><li><a href="http://desenvolvimentoparaweb.com/miscelanea/8-maneiras-de-melhorar-a-performance-de-um-site/" title="8 maneiras de melhorar a performance de um site">8 maneiras de melhorar a performance de um site</a></li><li><a href="http://desenvolvimentoparaweb.com/wordpress/15-comandos-sql-wordpress/" title="15 fantásticos comandos SQL para WordPress">15 fantásticos comandos SQL para WordPress</a></li><li><a href="http://desenvolvimentoparaweb.com/usabilidade/recursos-usabilidade/" title="Recursos de usabilidade grátis">Recursos de usabilidade grátis</a></li><li><a href="http://desenvolvimentoparaweb.com/css/rolagem-fundo-transparente-css/" title="Rolagem com fundo transparente com CSS">Rolagem com fundo transparente com CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://desenvolvimentoparaweb.com/css/diferencas-entre-ids-e-classes/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>HTML Playground: aprenda HTML, XHTML e CSS com exemplos reais</title>
		<link>http://desenvolvimentoparaweb.com/css/html-playground-aprenda-html-xhtml-e-css-com-exemplos-reais/</link>
		<comments>http://desenvolvimentoparaweb.com/css/html-playground-aprenda-html-xhtml-e-css-com-exemplos-reais/#comments</comments>
		<pubDate>Thu, 22 May 2008 17:41:20 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[(x)html]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[indicações]]></category>
		<category><![CDATA[linguagem]]></category>
		<category><![CDATA[marcação]]></category>
		<guid isPermaLink="false">http://www.desenvolvimentoparaweb.com/?p=153</guid>
		<description><![CDATA[Consultar (X)HTML e CSS em tempo real, com c&oacute;digos alterados dinamicamente, &eacute; no HTML Playground]]></description>
			<content:encoded><![CDATA[<p>Para quem d&aacute; os primeiros passos no desenvolvimento para web, estudar, somente na teoria, HTML, XHTML e CSS &eacute; bem mon&oacute;tono e cansativo. Com HTML Playground, estudar HTML fica bem mais divertido e emocionando com exemplos feitos pelo pr&oacute;prio estudante.</p>
<p>Quem est&aacute; come&ccedil;ando no desenvolvimento para <em>web</em> precisa estudar bastante! Entretanto, os estudos iniciais de (X)HTML e CSS, se n&atilde;o feitos com vontade e bem conduzidos, principalmente quando somente te&oacute;ricos, podem desestimular o aprendiz. O site <strong>HTML Playground</strong> tem a proposta de tornar estes estudos mais agrad&aacute;veis!</p>
<p>Atrav&eacute;s de uma interface interativa simples e f&aacute;cil de mexer, &eacute; poss&iacute;vel mostrar todos os atributos das linguagens HTML, XHTML e CSS. Uma descri&ccedil;&atilde;o da <em>tag</em> escolhida aparece e os valores dos atributos, quando presentes, podem ser alterados na hora. Tudo isso em um ambiente AJAX que mostra o resultado das modifica&ccedil;&otilde;es em tempo real. Clique na imagem para ver a explica&ccedil;&atilde;o.</p>
<p style="text-align: center;"><a title="HTML Playground: explica&ccedil;&atilde;o de interface." rel="lightbox" href="http://www.desenvolvimentoparaweb.com/wp-content/uploads/2008/05/html-playground-explicacao.jpg"><img class="alignnone size-medium wp-image-154" title="HTML Playground: explica&ccedil;&atilde;o de interface." src="http://www.desenvolvimentoparaweb.com/wp-content/uploads/2008/05/html-playground-explicacao-300x163.jpg" alt="HTML Playground: explica&ccedil;&atilde;o de interface." width="300" height="163" /></a></p>
<p>Atrav&eacute;s do menu principal tamb&eacute;m &eacute; poss&iacute;vel procurar uma <em>tag</em>, em especial, pelo nome; afinal, s&atilde;o dezenas de nomes diferentes, e &eacute; muito dif&iacute;cil &#8220;decorar&#8221; todos.</p>
<p>Lebrei da extens&atilde;o para Firefox <a title="Baixar o plugin para Firefox Firebug." href="https://addons.mozilla.org/pt-BR/firefox/addon/1843">Firebug</a>, que, dentre suas v&aacute;rias op&ccedil;&otilde;es, permite editar os c&oacute;digos dos <em>sites</em> em tempo real.</p>
<p>O ponto forte do sistema, com certeza, &eacute; a edi&ccedil;&atilde;o em tempo real dos c&oacute;digos. Para quem est&aacute; come&ccedil;ando e precisa ver &#8220;as coisas acontecendo&#8221;, n&atilde;o h&aacute; coisa melhor! Al&eacute;m do qu&ecirc;, o HTML Playground tamb&eacute;m pode servir como guia de refer&ecirc;ncia ou manual para aqueles mais experientes e/ou os que n&atilde;o t&ecirc;m paci&ecirc;ncia ou mem&oacute;ria para se lembrar de todas as tags e respectivos atributos de HTML e XHTML e regras, propriedades e valores de CSS.</p>
<p>Como disse, vale mesmo &agrave; pena estudar atrav&eacute;s do <strong>HTML Playground</strong>; al&eacute;m de poder testar os c&oacute;digos em tempo real, o estudante traz mais divertimento e emo&ccedil;&atilde;o a suas atividades, tudo isso de forma r&aacute;pida e din&acirc;mica!</p>
<div class="link"><a title="Estude no HTML Playground." rel="home colleague" href="http://htmlplayground.com/">Estude no HTML Playground.</a></div>
<h3  class="related_post_title">Artigos Relacionados</h3><ul class="related_post"><li><a href="http://desenvolvimentoparaweb.com/css/tripoli-css-standard-para-renderizacao-html/" title="Tripoli: CSS standard para renderização HTML">Tripoli: CSS standard para renderização HTML</a></li><li><a href="http://desenvolvimentoparaweb.com/xhtml/meta-tags/" title="Meta tags">Meta tags</a></li><li><a href="http://desenvolvimentoparaweb.com/css/centralizar-suas-paginas-web-com-css-como-deixar-o-site-sempre-no-centro-com-folhas-de-estilo/" title="Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo">Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo</a></li><li><a href="http://desenvolvimentoparaweb.com/css/diferencas-entre-ids-e-classes/" title="Diferenças entre IDs e Classes">Diferenças entre IDs e Classes</a></li><li><a href="http://desenvolvimentoparaweb.com/css/css-uma-abordagem-geral/" title="CSS: uma abordagem geral">CSS: uma abordagem geral</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://desenvolvimentoparaweb.com/css/html-playground-aprenda-html-xhtml-e-css-com-exemplos-reais/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tripoli: CSS standard para renderiza&#231;&#227;o HTML</title>
		<link>http://desenvolvimentoparaweb.com/css/tripoli-css-standard-para-renderizacao-html/</link>
		<comments>http://desenvolvimentoparaweb.com/css/tripoli-css-standard-para-renderizacao-html/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 18:32:03 +0000</pubDate>
		<dc:creator>Tárcio Zemel</dc:creator>
				<category><![CDATA[(x)html]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[indicações]]></category>
		<category><![CDATA[padronização]]></category>
		<category><![CDATA[regras]]></category>
		<category><![CDATA[w3c]]></category>
		<guid isPermaLink="false">http://www.desenvolvimentoparaweb.com/css/tripoli-css-standard-para-renderizacao-html/</guid>
		<description><![CDATA[Tripoli serve um CSS gen&eacute;rico para redefinir regras espec&iacute;ficas para uma renderiza&ccedil;&atilde;o standard do (X)HTML nos diversos browsers do mercado]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.desenvolvimentoparaweb.com/wp-content/uploads/2008/04/tripoli-esquema-navegadores1.png" alt="Tripoli: esquema navegadores (Firefox, Opera, Safari, Flock, IE6, IE7)." /></p>
<p><strong>Tripoli</strong>, segundo a defini&ccedil;&atilde;o de seu criador, <span lang="en"><strong>David Hellsing</strong></span>, &eacute;</p>
<blockquote><p>um CSS gen&eacute;rico para renderiza&ccedil;&atilde;o HTML. Ao redefinir e reconstruir <span lang="en">standards</span> para os navegadores, Tripoli faz uma uni&atilde;o est&aacute;vel e uma base <span lang="en">cross-browser</span> de renderiza&ccedil;&atilde;o para projetos <span lang="en">web</span>.</p></blockquote>
<p>Quer dizer, utilizando Tripoli (que, basicamente, &eacute; um conjunto de arquivos CSS), &eacute; poss&iacute;vel &#8220;resetar&#8221; as diferentes renderiza&ccedil;&otilde;es dos <span lang="en"><em>browsers</em></span> e montar uma base est&aacute;vel, uma renderiza&ccedil;&atilde;o padr&atilde;o para HTML, teoricamente sem a inconveni&ecirc;ncia de as p&aacute;gina de seu <span lang="en"><em>site</em></span> aparecerem diferentes em cada navegador.</p>
<p>Ainda segundo o autor, Tripoli segue &agrave; risca as <strong>regras mais atuais de CSS</strong>, recomendadas pelo <a title="Visitar o W3C." rel="home colleague" href="http://www.w3.org/">W3C</a>, e tem a vantagem de ter, todo o pacote, o pequenino tamanho de 4KB (comprimido).</p>
<p>Pessoalmente, somente vi o Tripoli em funcionamento atrav&eacute;s dos exemplos disponibilizados no pr&oacute;prio <span lang="en"><em>site</em></span> oficial. N&atilde;o tive muita vontade de incorpor&aacute;-lo aos meus projetos devido ao fato de ele ter sido idealizado e feito para ser usado com <strong>HTML 4</strong>. E eu n&atilde;o uso mais HTML 4, eu uso <strong>XHTML 1</strong> (o que, por enquanto, &eacute; uma quest&atilde;o de op&ccedil;&atilde;o, j&aacute; que &eacute; perfeitamente aceit&aacute;vel, normal e corriqueiro o uso de HTML, que  <a title="Ler a documenta&ccedil;&atilde;o do W3C para HTML 4." rel="help" href="http://www.w3.org/TR/REC-html40/">continua sendo um padr&atilde;o do W3C</a>).</p>
<p>Ent&atilde;o, para os que seguem a metodologia de uso de HTML para a elabora&ccedil;&atilde;o de <span lang="en"><em>web sites</em></span> e que forem testar o Tripoli, gostaria de pedir a gentileza de comentar como &eacute; us&aacute;-lo, se realmente &eacute; tudo isso que o autor diz ser e se vale &agrave; pena adot&aacute;-lo nos projetos.</p>
<p>Na teoria, pelo menos, parece que d&aacute; muito certo!</p>
<div class="link"><a rel="home colleague" href="http://www.monc.se/tripoli/">P&aacute;gina oficial do Tripoli</a></div>
<h3  class="related_post_title">Artigos Relacionados</h3><ul class="related_post"><li><a href="http://desenvolvimentoparaweb.com/css/html-playground-aprenda-html-xhtml-e-css-com-exemplos-reais/" title="HTML Playground: aprenda HTML, XHTML e CSS com exemplos reais">HTML Playground: aprenda HTML, XHTML e CSS com exemplos reais</a></li><li><a href="http://desenvolvimentoparaweb.com/xhtml/meta-tags/" title="Meta tags">Meta tags</a></li><li><a href="http://desenvolvimentoparaweb.com/css/centralizar-suas-paginas-web-com-css-como-deixar-o-site-sempre-no-centro-com-folhas-de-estilo/" title="Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo">Centralizar suas páginas web com CSS: como deixar o site sempre no centro com folhas de estilo</a></li><li><a href="http://desenvolvimentoparaweb.com/css/diferencas-entre-ids-e-classes/" title="Diferenças entre IDs e Classes">Diferenças entre IDs e Classes</a></li><li><a href="http://desenvolvimentoparaweb.com/css/css-uma-abordagem-geral/" title="CSS: uma abordagem geral">CSS: uma abordagem geral</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://desenvolvimentoparaweb.com/css/tripoli-css-standard-para-renderizacao-html/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
