<?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>SamuraiDio &#187; html</title>
	<atom:link href="http://blog.diovani.com/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Sat, 18 Dec 2010 21:19:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zen-Coding &#8211; Um novo jeito de escrever HTML</title>
		<link>http://blog.diovani.com/2010/05/27/zen-coding-um-novo-jeito-de-escrever-html/</link>
		<comments>http://blog.diovani.com/2010/05/27/zen-coding-um-novo-jeito-de-escrever-html/#comments</comments>
		<pubDate>Fri, 28 May 2010 00:11:07 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=391</guid>
		<description><![CDATA[Uma coisa que desenvolvedores web sabem, é que não há nada mais demorado e cansativo do que escrever HTML. Diferente de linguagens de programação, um código HTML (e também XML e seus derivados) é pouco intuitivo e muito repetitivo, e mesmo as melhores IDEs do mercado não ajudam muito.
Já que nenhum desenvolvedor web que se [...]]]></description>
			<content:encoded><![CDATA[<p>Uma coisa que desenvolvedores web sabem, é que não há nada mais demorado e cansativo do que escrever HTML. Diferente de linguagens de programação, um código HTML (e também XML e seus derivados) é pouco intuitivo e muito repetitivo, e mesmo as melhores IDEs do mercado não ajudam muito.</p>
<p>Já que nenhum desenvolvedor web que se preze utiliza Dreamweaver ou outros editores <a href="http://en.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a>, devido aos códigos sujos e de difícil manutenção gerados, uma ótima solução é utilizar o <a href="http://code.google.com/p/zen-coding/">Zen-Coding</a>.</p>
<p style="text-align: center;"><img src="http://blog.diovani.com/wp-content/uploads/2010/05/zen-coding-logo.png" alt="" title="zen-coding-logo" width="48" height="48" class="aligncenter size-full wp-image-404" /></p>
<p>O Zen-Coding não se trata de uma nova IDE, mas sim de um plugin, ou melhor, uma coleção de scripts, disponível para uma grande quantidade de IDEs, incluindo Eclipse e NetBeans, que permite a digitação rápida de HTML, XML e XSL, por meio de abreviações, muito semelhantes a seletores CSS, o que torna a curva de aprendizagem realmente pequena.</p>
<p>Com o Zen-Coding você digita algo como:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#page</span><span style="color: #00AA00;">&gt;</span>div.logo<span style="color: #00AA00;">+</span>ul<span style="color: #cc00cc;">#navigation</span><span style="color: #00AA00;">&gt;</span>li<span style="color: #00AA00;">*</span><span style="color: #cc66cc;">5</span><span style="color: #00AA00;">&gt;</span>a</pre></div></div>

<p>E obté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;page&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;navigation&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</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>

<p>Para conhecer a sua sintaxe, visite a <a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn">lista de seletores HTML do Zen-Coding</a>.</p>
<p>Agora vamos a um breve tutorial para instalar e utilizar o Zen-Coding no <a href="http://eclipse.org">Eclipse</a> (o que inclui <a href="http://www.zend.com/products/studio/">ZendStudio for Eclipse</a> e <a href="http://www.aptana.org/">Aptana Studio</a>).</p>
<ol>
<li>Primeiramente, será necessário instalar o plugin <a href="http://wiki.eclipse.org/Eclipse_Monkey_Overview">Eclipse Monkey</a>, que pode ser instalado pelo <em>Update Manager</em>, a partir do <em>update site</em> <a href="http://download.eclipse.org/technology/dash/update">http://download.eclipse.org/technology/dash/update</a>.</li>
<li>Crie um projeto em sua <em>worspace</em> com o nome <strong>zencoding</strong>.</li>
<li>Crie um diretório <strong><em>scripts</em></strong> em seu projeto recém criado.</li>
<li>Baixe o pacote <strong>Zen Coding for Aptana</strong> da <a href="http://code.google.com/p/zen-coding/downloads/list">página de downloads do projeto</a> e descompacte seu conteúdo no diretório <strong><em>scrips</em></strong>.
<p style="text-align: center;"><a href="http://blog.diovani.com/wp-content/uploads/2010/05/aptana-proj-structure.png"><img src="http://blog.diovani.com/wp-content/uploads/2010/05/aptana-proj-structure-150x108.png" alt="" title="aptana-proj-structure" width="150" height="108" class="aligncenter size-thumbnail wp-image-401" /></a></p>
</li>
<li>Reinicie o Eclipse.</li>
</ol>
<p>Agora você deve ter um menu <strong>scripts</strong>, com o sub-menu <strong>zencoding</strong> nele. Para transformar as abreviações em códigos HTML, basta utilizar a opção <strong>Expand Abbreviation</strong> após digitá-las.</p>
<p>Para cada opção no menu <strong>zencoding</strong> será exibido o respectivo atalho ao lado desta. Caso algum dos atalhos não esteja visível, provavelmente é porque o Eclipse já tem aquele atalho definido para outro comando. Para resolver isso há duas opções: Alterar o atalho do Eclipse (Window -&gt; Preferences -&gt; General -&gt; Keys) ou alterar o atalho do Zen-Coding.</p>
<p>Para a segunda opção, localize o <em>script</em> da função que deseja alterar o atalho na pasta <strong>scripts</strong> que você criou e edite o atalho no comentário do script, na linha escrito <strong>* Key:</strong>.</p>
<p>Ex:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/*
 * Menu: Zen Coding &amp;gt; Expand Abbreviation
 * Kudos: Sergey Chikuyonok (http://chikuyonok.ru)
 * License: EPL 1.0
 * Key: M3+E
 * DOM: http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript
 *
 * @include &quot;/EclipseMonkey/scripts/monkey-doc.js&quot;
 * @include &quot;lib/core.js&quot;
 * @include &quot;settings.js&quot;
 */</span></pre></div></div>

<p>Após salvar, o novo atalho já estará disponível.</p>
<p><em>Fonte: <a href="http://code.google.com/p/zen-coding/wiki/AptanaHowToEn">http://code.google.com/p/zen-coding/wiki/AptanaHowToEn</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/05/27/zen-coding-um-novo-jeito-de-escrever-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Youtube sem Flash</title>
		<link>http://blog.diovani.com/2010/05/17/youtube-sem-flash/</link>
		<comments>http://blog.diovani.com/2010/05/17/youtube-sem-flash/#comments</comments>
		<pubDate>Mon, 17 May 2010 16:35:01 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[vídeo]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=373</guid>
		<description><![CDATA[Já pensou em poder assistir aos vídeos do Youtube sem precisar instalar um Flash Player? Pois é, até pouco tempo atrás isto era impossível, mas graças a tag HTML5 &#60;video&#62;, agora já podemos assistir a vídeos no Youtube sem Flash.
Como o HTML5 ainda é um Draft, e o uso da tag &#60;video&#62; ainda não é [...]]]></description>
			<content:encoded><![CDATA[<p>Já pensou em poder assistir aos vídeos do <a href="http://youtube.com">Youtube</a> sem precisar instalar um <a href="http://www.adobe.com/go/EN_US-H-GET-FLASH">Flash Player</a>? Pois é, até pouco tempo atrás isto era impossível, mas graças a tag <a href="http://www.w3.org/TR/html5/video.html#video">HTML5 &lt;video&gt;</a>, agora já podemos assistir a vídeos no Youtube sem Flash.</p>
<p>Como o HTML5 ainda é um <em>Draft</em>, e o uso da tag &lt;video&gt; ainda não é tão comum, a opção de assistir a vídeos sem Flash ainda está em fase beta, precisa ser habilitada, e por enquanto só funciona nos navegadores <a href="http://www.apple.com/safari/download/">Apple Safari</a> e <a href="http://www.google.com/chrome">Google Chrome</a>.</p>
<p>Para habilitá-la, basta acessar <a href="http://youtube.com/html5">http://youtube.com/html5</a> e clicar no link &#8220;<strong>Entrar no HTML Beta</strong>&#8221; abaixo da página.</p>
<p style="text-align: center;"><a href="http://blog.diovani.com/wp-content/uploads/2010/05/20100514234350569803480.jpg"><img class="size-thumbnail wp-image-381  aligncenter" title="20100514234350569803480" src="http://blog.diovani.com/wp-content/uploads/2010/05/20100514234350569803480-150x80.jpg" alt="" width="150" height="80" /></a></p>
<p>Após habilitar o modo HTML5 Beta, os vídeos visualizados passam a utilizar a tag &lt;video&gt; do navegador para serem exibidos, como na imagem abaixo:</p>
<p style="text-align: center;"><a href="http://blog.diovani.com/wp-content/uploads/2010/05/20100514235129687189200.jpg"><img class="size-thumbnail wp-image-382  aligncenter" title="20100514235129687189200" src="http://blog.diovani.com/wp-content/uploads/2010/05/20100514235129687189200-150x115.jpg" alt="" width="150" height="115" /></a></p>
<p style="text-align: left;">É possível notarmos pequenas diferenças na interface, como a inscrição html5 durante o <em>loading</em>, e alguns controles diferenciados. Estas diferenças devem variar dependo do navegador utilizado.</p>
<p style="text-align: left;">Como ainda é Beta, o modo tem algumas restrições. Não é possível assistir vídeos em tela inteira, e aqueles que contém anúncios ainda são exibidos no Flash Player. Além disso, como comentei anteriormente, apenas o Safari e Chrome podem visualizar os vídeos sem Flash.</p>
<p style="text-align: left;">Esta limitação de compatibilidade deve-se ao fato do uso da tag &lt;video&gt; não definir o codec que deve ser utilizado, o que deve ficar a cargo dos navegadores. Enquanto o Firefox e Opera suporte o formato <a href="http://www.theora.org/">Ogg Theora</a>, o Safari e Google Chrome (ambos com a engine <a href="http://webkit.org/">webkit</a>) suportam <a href="http://pt.wikipedia.org/wiki/H.264">H264</a>, e como o youtube já disponibiliza seus vídeos também em h264 (principalmente para visualização em smartphones), estes últimos são, atualmente, os únicos navegadores suportados.</p>
<p style="text-align: left;">Embora a opção de assistir vídeos no youtube com a tag &lt;video&gt; ainda seja prematura, não deixa de ser uma boa opção para conhecer o poder do HTML5, e até mesmo pode servir como alternativa para quando instalar um Flash Player não é possível. Em último caso, vale testar pela curiosidade.</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/05/17/youtube-sem-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery.canvasmetter plugin</title>
		<link>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/</link>
		<comments>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:22:25 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=324</guid>
		<description><![CDATA[Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &#60;canvas&#62;.

Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma página deste blog. E também o wave jQuery.canvasmetter, para o pessoal poder participar. Mais informações podem ser encontrados nestes.
Links:
página jQuery.canvasmetter
página [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &lt;canvas&gt;.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929.png"><img class="alignnone size-thumbnail wp-image-302" title="screenshot" src="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929-150x150.png" alt="screenshot" width="150" height="150" /></a></p>
<p>Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma <a href="http://blog.diovani.com/jquery-canvasmetter/">página deste blog</a>. E também o <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a>, para o pessoal poder participar. Mais informações podem ser encontrados nestes.</p>
<p><em>Links:<a href="http://blog.diovani.com/jquery-canvasmetter/"><br />
página jQuery.canvasmetter</a><br />
<a href="http://blog.diovani.com/jquery-canvasmetter/download/">página de download do plugin jQuery.canvasmetter</a><br />
<a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a></em></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">página jQuery.canvasmette</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Canvas &#8211; Desenhando gráficos com HTML e Javascript</title>
		<link>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/</link>
		<comments>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 17:12:38 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/</guid>
		<description><![CDATA[A web e seus navegadores já evoluíram muito desde sua concepção em tratando-se de recursos mas ainda há gente que acredita que sobrecarregar páginas com imagens *.GIF e Flash são os únicos métodos de exibir animações na web.
Eu, particularmente, desgosto muito de GIFs animados, acho algo irritante e ultrapassado, e Flash, apesar de seus excelentes [...]]]></description>
			<content:encoded><![CDATA[<p>A web e seus navegadores já evoluíram muito desde sua concepção em tratando-se de recursos mas ainda há gente que acredita que sobrecarregar páginas com imagens *.GIF e Flash são os únicos métodos de exibir animações na web.</p>
<p>Eu, particularmente, desgosto muito de GIFs animados, acho algo irritante e ultrapassado, e Flash, apesar de seus excelentes recursos, tem três pontos negativos: os arquivos costumam ser demasiado grandes, é necessário um plugin proprietário para exibí-los e os usuários não tem acesso aos fontes.</p>
<p>Mas diferente do que muitos acham, a linguagem HTML também evoluiu muito e, sendo integrada com outras linguagens como XML e Javascript, dispõe de outras alternativas.</p>
<p>Imagens <a href="http://pt.wikipedia.org/wiki/SVG">SVG</a> são hoje um padrão que deve ser exibido por qualquer navegador web recente, e estas também aceitam <a href="http://www.w3.org/TR/SVG11/animate.html">animações</a>. Como SVGs são basicamente arquivos XML, elas tendem a ser, desde que usem traços simples, extremamente menores que imagens binárias, e suas animações são implementadas alterando as coordenadas das imagens, e não duplicando-as, como acontece com GIFs.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_tut_examples.jpg" title="canvas_tut_examples.jpg"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_tut_examples.thumbnail.jpg" alt="canvas_tut_examples.jpg" align="right" /></a>E existe também o elemento <a href="http://developer.mozilla.org/en/docs/Drawing_Graphics_with_Canvas">&lt;canvas&gt;</a> (que é onde quero chegar), que pode exibir gráficos criados em tempo real e até mesmo animações interativas no navegador. Atualmente compatível com Firefox 1.5+ e Safari.</p>
<p>&lt;canvas&gt; é um novo elemento HTML especificado na documentação do que deverá ser o <a href="http://en.wikipedia.org/wiki/HTML_5">HTML 5</a>, e pode ser usado para desenhar imagens usando linguagens de scripts (geralmente Javascript). Podendo criar composições de fotos e animações simples e até interativas. Veja um exemplo simples a seguir e seu respectivo código:</p>
<p><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_ex1.png" alt="canvas_ex1.png" /></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;">html</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;application/x-javascript&quot;</span>&gt;</span>
    function draw() {
      var canvas = document.getElementById(&quot;canvas&quot;);
      if (canvas.getContext) {
        var ctx = canvas.getContext(&quot;2d&quot;);
&nbsp;
        ctx.fillStyle = &quot;rgb(200,0,0)&quot;;
        ctx.fillRect (10, 10, 55, 50);
&nbsp;
        ctx.fillStyle = &quot;rgba(0, 0, 200, 0.5)&quot;;
        ctx.fillRect (30, 30, 55, 50);
      }
    }
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span> <span style="color: #000066;">onload</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;draw();&quot;</span>&gt;</span>
   <span style="color: #009900;">&lt;canvas <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;canvas&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;150&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;150&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span>canvas&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>Desenvolvido originalmente pela Apple para seu Dashboard (os widgets de desktop do Mac OS X) e posteriormente implementado no Safari. Navegadores baseados na engine Gecko 1.8 e posterior também suportam o elemento &lt;canvas&gt;.</p>
<p>Executar Javascript constantemente em uma página deixa a navegação extremamente lenta, estão, o simples relógio exibido na imagem a direita prejudica bastante a navegação, quando em execução. Assim vale lembrar que apesar da praticidade, utilizar o elemento &lt;canvas&gt; pode não ser a melhor opção em alguns casos, mas de qualquer modo é impressionante o que pode-se fazer com ele. Veja alguns exemplos nos links abaixo:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_raycaster.jpg" title="Raycaster"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_raycaster.thumbnail.jpg" alt="Raycaster" /></a> Um <a href="http://developer.mozilla.org/en/docs/A_Basic_RayCaster">labirinto interativo</a> feito em &lt;canvas&gt;</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_reflect.jpg" title="Reflect"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_reflect.thumbnail.jpg" alt="Reflect" /></a> Um efeito de <a href="http://timelessname.com/canvas/experiment01/">reflexão tipo água</a> de imagens</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_paint.jpg" title="Canvas Paint"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_paint.thumbnail.jpg" alt="Canvas Paint" /></a> Um <a href="http://caimansys.com/painter/">editor de imagens</a> como o Ms Paint</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_mario.jpg" title="Mario Game"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_mario.thumbnail.jpg" alt="Mario Game" /></a> O melhor. Um <a href="http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html">clone do jogo Mario</a>, do Nintendinho, que um amigo divulgou <a href="http://the.blog.br/2008/04/09/super-mario-em-javascript-apenas-14-kb/">aqui</a>, feito inteiramente com &lt;canvas&gt; (ele também tem uma versão usando DIVs, para funcionar no IE), e sem nenhuma imagem.</p>
<p>Vale lembrar que estes demos só funcionam no Firefox e Safari.</p>
<p><em>Fonte: <a href="http://developer.mozilla.org/en/docs/Canvas_tutorial">MDC: Canvas Tutorial</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Acid Test &#8211; Testando a eficiência dos Web Browsers</title>
		<link>http://blog.diovani.com/2008/03/11/acid-test-testando-a-eficiencia-dos-web-browsers/</link>
		<comments>http://blog.diovani.com/2008/03/11/acid-test-testando-a-eficiencia-dos-web-browsers/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 19:48:30 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/03/11/acid-test-testando-a-eficiencia-dos-web-browsers/</guid>
		<description><![CDATA[Nós, desenvolvedores e designers web, muitas vezes praguejamos contra certos navegadores web (alguém aí disse ie6?) por não exibirem corretamente nossas páginas, mas dificilmente pensamos no outro lado. A vida também não é muito fácil para quem desenvolve esses navegadores.
O AcidTests trata-se de um projeto do webstandards.org para testar o comportamento e eficiência dos navegadores [...]]]></description>
			<content:encoded><![CDATA[<p>Nós, desenvolvedores e designers web, muitas vezes praguejamos contra certos navegadores web (alguém aí disse ie6?) por não exibirem corretamente nossas páginas, mas dificilmente pensamos no outro lado. A vida também não é muito fácil para quem desenvolve esses navegadores.</p>
<p>O <a href="http://www.acidtests.org/">AcidTests</a> trata-se de um projeto do <a href="http://www.webstandards.org">webstandards.org</a> para testar o comportamento e eficiência dos navegadores frente aos padrões web.</p>
<p>O primeiro Acid (<a href="http://acid1.acidtests.org/">Acid1</a>) testava os navegadores quanto a apresentação e exibição de páginas HTML 4.0 e CSS 1, o <a href="http://acid2.acidtests.org/">Acid2</a>, criado em 2005, queria fazer os navegadores &#8220;sorrirem&#8221; testando as capacidades deste de exibirem imagens PNG e CSS2.</p>
<p><a href="http://acid3.acidtests.org/reference.html"><img src="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/reference-rendering.png" align="right" height="117" width="165" /></a>Agora, o <a href="http://acid3.acidtests.org/">Acid3</a> vai além, exigindo dos navegadores renderização de imagens SVG animadas e Javascript.</p>
<p>Eis a lista de especificações testadas:</p>
<ul>
<li>DOM2 Core</li>
<li>DOM2 Events</li>
<li>DOM2 HTML</li>
<li>DOM2 Range</li>
<li>DOM2 Style (getComputedStyle, …)</li>
<li>DOM2 Traversal (NodeIterator, TreeWalker)</li>
<li>DOM2 Views (defaultView)</li>
<li>ECMAScript</li>
<li>HTML4 (&lt;object&gt;, &lt;iframe&gt;, …)</li>
<li>HTTP (Content-Type, 404, …)</li>
<li>Media Queries</li>
<li>Selectors (:lang, :nth-child(), combinators, dynamic changes, …)</li>
<li>XHTML 1.0</li>
<li>CSS2 (@font-face)</li>
<li>CSS2.1 (’inline-block’, ‘pre-wrap’, parsing…)</li>
<li>CSS3 Color (rgba(), hsla(), …)</li>
<li>CSS3 UI (’cursor’)</li>
<li>data: URIs</li>
<li>SVG (SVG Animation, SVG Fonts, …)</li>
</ul>
<p>Segundo o desenvolvedor Ian Hickson, a internet não se resume mais a apenas designs HTML/CSS, assim é importante testar também as capacidades dos navegadores de DOM e Javascript.</p>
<p>O autor do Site <a href="http://www.drunkenfist.com/">DrunkenFist.Com</a> fez uma série de teste e divulgou os resultados. Vou postá-los aqui tb:</p>
<ul>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/camino-151-mac.png">Camino 1.51 Mac OS 10.5 [49/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/firefox-2-mac-105.png">Firefox 2 Mac OS 10.5 [50/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/firefox-3-mac.png">Firefox 3 Mac OS 10.5 [53/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/ie-6-xp.png">Internet Explorer 6 Windows XP [11/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/ie-7-vista.png">Internet Explorer 7 Windows Vista [12/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/ie-7-xp.png">Internet Explorer 7 Windows XP [12/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/firefox-2-xp.png">Firefox  2 Windows XP [50/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/firefox-3-xp.png">Firefox  3 Windows XP [59/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/safari-3-105.png">Safari 3 Mac OS 10.5 [39/100]</a></li>
<li><a href="http://www.6photo.org/images/webkit_acid3.png">Safari 3 Mac OS 10.5 Latest [87/100]</a> (incrível!)<a href="http://www.6photo.org/gallery.php?entry=images/webkit_acid3.png"><br />
</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/opera-924-vista.png">Opera 9.24 Windows Vista [46/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/acid3_konqueror_20080306.png">Konqueror built from SVN 2008.03.06 [63/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/ie8-acid3.png">IE8 Beta [17/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/acid3-opera-95.jpg">Opera 9.5 [61/100]</a></li>
<li><a href="http://media.drunkenfist.com/304/wp-content/uploads/2008/03/firefox-3-beta-4-acid3.thumbnail.jpg">Firefox 3 Beta 4 on Windows XP [67/100]</a></li>
</ul>
<p><em>Fontes: <a href="http://info.abril.com.br/blog/juliano/20080306_listar.shtml">http://info.abril.com.br/blog/juliano/20080306_listar.shtml</a>, <a href="http://www.drunkenfist.com/304/2008/03/04/acid3-test-released-i-took-some-screen-captures-lots-of-fail/">http://www.drunkenfist.com/304/2008/03/04/acid3-test-released-<br />
i-took-some-screen-captures-lots-of-fail/</a>, <a href="http://www.webstandards.org/action/acid3/">http://www.webstandards.org/action/acid3/</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/03/11/acid-test-testando-a-eficiencia-dos-web-browsers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajuda de Contexto com CSS</title>
		<link>http://blog.diovani.com/2007/08/13/ajuda-de-contexto-com-css/</link>
		<comments>http://blog.diovani.com/2007/08/13/ajuda-de-contexto-com-css/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 16:52:59 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2007/08/13/ajuda-de-contexto-com-css/</guid>
		<description><![CDATA[Quando construímos sistemas ou administração de sites é muito útil adicionar ajuda de contexto em alguns items (ao passar o mouse sobre um item um pequeno texto explicativo é exibido), mais ou menos assim:
  a.help {text-decoration:underline;} a.help span {position:absolute;display:none; } a.help:hover {background-color:black;} a.help:hover span {display:block;  margin-top: 0px; margin-left: 10px; border:1px solid white;  [...]]]></description>
			<content:encoded><![CDATA[<p>Quando construímos sistemas ou administração de sites é muito útil adicionar ajuda de contexto em alguns items (ao passar o mouse sobre um item um pequeno texto explicativo é exibido), mais ou menos assim:</p>
<style type="text/css">  a.help {text-decoration:underline;} a.help span {position:absolute;display:none; } a.help:hover {background-color:black;} a.help:hover span {display:block;  margin-top: 0px; margin-left: 10px; border:1px solid white;     background-color:#ffa303; color:white; text-decoration:none; font-size:12px; } </style>
<p><a href="http://blog.diovani.com/wp-admin/post-new.php#" class="help">Link com ajuda<span>A ajuda de contexto vai aqui,<br />
aparecendo somente quando o<br />
usuário passa o mouse sobre o link</span></a></p>
<p>Existem várias bibliotecas JavaScript para utilizar este efeito, como a <a href="http://www.bosrup.com/web/overlib/">Overlib</a> e também <a href="http://script.aculo.us">script.aculo.us</a>, que tem um efeito parecido. Utilizando Js você tem efeitos mais interessantes, com a ajuda seguindo o mouse, etc, mas se precisar apenas de uma ajuda de contexto simples e leve, podemos fazê-lo apenas com CSS.</p>
<p>O conteito é bem simples&#8230;<br />
Crie uma âncora &lt;a&gt;, com um  span &lt;span&gt; dentro dela, que não é exibido (display:none), no estado Hover da âncora, o &lt;span&gt; terá &#8216;display:block&#8217;.</p>
<p>Como &#8220;um código vale mais que mil palavras&#8221;, aqui vai um exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* Este é o estilo da âncora e span para o efeito */</span>
&nbsp;
a<span style="color: #6666ff;">.help</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">underline</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span> 
&nbsp;
a<span style="color: #6666ff;">.help</span> span
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* para não alterar o
                         posicionamento da ancora */</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span> 
&nbsp;
a<span style="color: #6666ff;">.help</span><span style="color: #3333ff;"><span style="color: #00AA00;">:</span>hover
</span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* devido a um bug
                         no ie6 você deve alterar o
                         fundo (na verdade pode usar
                         a mesma cor, mas deve declará-la
                         aqui) do link ao passar o
                         mouse (???),
                         caso contrário o &lt;span&gt; não
                         aparecerá no ie6 */</span>
<span style="color: #00AA00;">&#125;</span> 
&nbsp;
a<span style="color: #6666ff;">.help</span><span style="color: #3333ff;">:hover </span>span
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* por último, o &lt;span&gt;,
                        dentro do &lt;/span&gt;&lt;/span&gt;,
                        fica com 'display:block' ao
                        passar do mouse */</span>
&nbsp;
     <span style="color: #808080; font-style: italic;">/* os demais estilos deste elemento não são
    necessários, apenas para melhorar o visual
    e você pode alterá-los a vontade*/</span>
    <span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</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: #993333;">white</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#ffa303</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">white</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">12px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Após definir o estilo, o código HTML para usá-lo é ainda mais simples:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;#&quot; class=&quot;help&quot;&gt;
    Link com ajuda
    &lt;span&gt;
        A ajuda de contexto vai aqui,
&nbsp;
        aparecendo somente quando o
&nbsp;
        usuário passa o mouse sobre o link
    &lt;/span&gt;
&lt;/a&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2007/08/13/ajuda-de-contexto-com-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

