<?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>Leandro Vieira Pinho&#039;s Blog &#187; css</title>
	<atom:link href="http://leandrovieira.com/archive/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://leandrovieira.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 20 Aug 2011 19:22:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Curso Interativo Adobe Dreamweaver CS3</title>
		<link>http://leandrovieira.com/archive/curso-interativo-adobe-dreamweaver-cs3</link>
		<comments>http://leandrovieira.com/archive/curso-interativo-adobe-dreamweaver-cs3#comments</comments>
		<pubDate>Wed, 26 Sep 2007 15:32:35 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[spry]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/archive/curso-adobe-dreamweaver-cs3</guid>
		<description><![CDATA[A TI Shop acabou de lançar meu novo curso, Adobe Dreamweaver CS3. O curso está divido três grandes capítulos e 40 tópicos, abordando cada uma das novas novas funcionalidades e recursos do Dreaweaver CS3. Veja as principais diferenças na interface &#8230; <a href="http://leandrovieira.com/archive/curso-interativo-adobe-dreamweaver-cs3">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.tishop.com.br/">TI Shop</a> acabou de lançar meu novo curso, <a href="http://www.tishop.com.br/detalhe_produto.php?produto=562">Adobe Dreamweaver CS3</a>. O curso está divido três grandes capítulos e 40 tópicos, abordando cada uma das novas novas funcionalidades e recursos do <a href="http://adobe.com/products/dreamweaver/">Dreaweaver CS3</a>.</p>
<p>Veja as principais diferenças na interface e funcionamento da nova versão do DW; aprenda a trabalhar com CSS e a sua grande integração com essa nova versão; e desenvolva novas interfaces mais ricas e dinâmicas utilizando o Spry Framework para AJAX.</p>
<p>Mais detalhes sobre o <a href="http://www.tishop.com.br/detalhe_produto.php?produto=562">Curso Adobe Dreamweaver CS3</a>, em CD-ROM.</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/curso-interativo-adobe-dreamweaver-cs3/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Cantos arredondados facilmente com CSS</title>
		<link>http://leandrovieira.com/archive/cantos-arredondados-facilmente-com-css</link>
		<comments>http://leandrovieira.com/archive/cantos-arredondados-facilmente-com-css#comments</comments>
		<pubDate>Fri, 23 Feb 2007 20:22:13 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=121</guid>
		<description><![CDATA[Matthew Inman encontrou uma solução simples &#8211; finalmente &#8211; para realizar-se através das CSS cantos arredondados. Leia How to Make Square Corners with CSS e descubra os simples passos. Após leitura de um artigo como esse, me pergunto: como não &#8230; <a href="http://leandrovieira.com/archive/cantos-arredondados-facilmente-com-css">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.drivl.com/users/profile/Oatmeal">Matthew Inman</a> encontrou uma solução simples &#8211; finalmente &#8211; para realizar-se através das CSS cantos arredondados.</p>
<p>Leia <a href="http://www.drivl.com/posts/view/700">How to Make Square Corners with CSS</a> e descubra os simples passos.</p>
<p>Após leitura de um artigo como esse, me pergunto: como não pensei nisso antes?</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/cantos-arredondados-facilmente-com-css/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>&#8220;Novas&#8221; regras CSS para o Internet Explorer 7 &#8211; Child Selector</title>
		<link>http://leandrovieira.com/archive/novas-regras-css-para-o-internet-explorer-7-child-selector</link>
		<comments>http://leandrovieira.com/archive/novas-regras-css-para-o-internet-explorer-7-child-selector#comments</comments>
		<pubDate>Tue, 02 Jan 2007 02:29:16 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[IE]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=90</guid>
		<description><![CDATA[Com o lançamento do Internet Explorer 7, temos a nova disposição &#8220;novas&#8221; regras CSS que utilizaremos sem a preocupação, se o IE irá interpretá-las ou não. Essas &#8220;novas&#8221; regras possibilitarão ao desenvolvedor/designer um controle maior sobre os elementos HTML. Com &#8230; <a href="http://leandrovieira.com/archive/novas-regras-css-para-o-internet-explorer-7-child-selector">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Com o lançamento do <a href="http://microsoft.com/ie/">Internet Explorer</a> 7, temos a nova disposição &#8220;novas&#8221; regras CSS que utilizaremos sem a preocupação, se o IE irá interpretá-las ou não. Essas &#8220;novas&#8221; regras possibilitarão ao desenvolvedor/designer um controle maior sobre os elementos HTML.</p>
<p>Com esse feito &#8211; <em>um controle maior sobre os elementos HTML</em> &#8211; evitamos a <strong>classite</strong> (falarei sobre ela em um outro post), ou seja, o uso excessivo de classes desnecessárias; bem como os ids. Então, vamos conhecer as &#8220;novas&#8221; regras CSS para o <a href="http://microsoft.com/ie/">Internet Explorer</a> 7:</p>
<h3>Child Selector</h3>
<h4>O que é um child Selector?</h4>
<p><strong>É um tipo de regra CSS destinado aos filhos de um determinado elemento</strong>. Isto é, a regra CSS será aplicada somente aos filhos de um elemento HTML e não em seu neto, por exemplo.</p>
<h4>Um exemplo de child Selector</h4>
<p>Para clarear melhor a <strong>explicação sobre o que é um child selector</strong>, imagine o seguinte cenário:</p>
<pre lang="html">&lt;body&gt;
&lt;div&gt;div filha 1 &lt;div&gt;div neta 1&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;div filha 2 &lt;/div&gt;
&lt;/body&gt;</pre>
<p>E esta regra CSS:</p>
<pre lang="css">body div {
padding: 20px;
}</pre>
<p>Ou seja, todas as tags div do documento terão um padding de 20px. Não importando se ela é filha, neta ou bisneta da tag body. Agora, se utilizarmos a seguinte regra CSS:</p>
<pre lang="css">body&gt;div{
padding: 20px;
}</pre>
<p>Somente as tags div filhas que receberão tal regra.</p>
<p>Com esse recurso não há aquela necessidade de adicionar à determinada tag uma classe ou um id; e com isso atribuir a regra CSS à classe ou id determinado.</p>
<p>Os <strong>child selectors</strong> foi (e ainda é em alguns sites) muito utilizado como um hack para esconder regras CSS do IE. Mas, no <a href="http://microsoft.com/ie/">Internet Explorer</a> 7 isto não acontecerá mais, uma vez que ele finalmente interpretará os child selector.</p>
<p>Se houver necessidade de <strong>esconder uma determinada regra CSS do IE 7</strong>; podemos <strong>utilizar um comentário vazio após o sinal de maior que</strong> da seguinte maneira:</p>
<pre lang="css">body&gt;/***/body .alguma_classe {
...
}</pre>
<p>A regra CSS acima será ignorada pelo <a href="http://microsoft.com/ie/">Internet Explorer 7</a> e sinceramente não sei o motivo. Alguém sabe? Comente aí <img src='http://leandrovieira.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/novas-regras-css-para-o-internet-explorer-7-child-selector/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lançado o novo CSS Validator do W3C</title>
		<link>http://leandrovieira.com/archive/lancado-o-novo-css-validator-do-w3c</link>
		<comments>http://leandrovieira.com/archive/lancado-o-novo-css-validator-do-w3c#comments</comments>
		<pubDate>Wed, 20 Dec 2006 00:29:37 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=74</guid>
		<description><![CDATA[Após a leitura do post do Henrique pude conhecer o novo CSS Validator do W3C e os novos recursos que ele oferece. O W3C o lançou no mesmo momento em que celebra os 10 anos das CSS. Olha que frase &#8230; <a href="http://leandrovieira.com/archive/lancado-o-novo-css-validator-do-w3c">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Após a leitura do <a href="http://www.revolucao.etc.br/archives/10-anos-de-css-e-o-novo-css-validator/">post do Henrique</a> pude conhecer o novo <a href="http://jigsaw.w3.org/css-validator/">CSS Validator</a> do <a href="http://www.w3.org/">W3C</a> e os novos recursos que ele oferece. O <a href="http://www.w3.org/">W3C</a> o lançou no mesmo momento em que celebra os 10 anos das CSS. Olha que frase linda &#8220;<strong>Cascading Style Sheets Have Changed the Face of the Web</strong>&#8220;.</p>
<p>Gostei muito da forma como o site do <a href="http://jigsaw.w3.org/css-validator/">CSS Validator</a> foi desenvolvida e principalmente a utilização de um simpático <a href="http://leandro.w3invent.com.br/tags/javascript/">javascript</a> não-obstrutivo. Entre no site com o javascript habilitado e desabilitado para observar que de uma forma ou de outra, você estará apto a utilizar todos os recursos oferecidos <img src='http://leandrovieira.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para mais informações sobre o <a href="http://jigsaw.w3.org/css-validator/">CSS Validator</a> do <a href="http://www.w3.org/">W3C</a> consulte: <a href="http://jigsaw.w3.org/css-validator/about.html">About the CSS Validator</a>. Foi disponibilizado também uma documentação sobre ele na página <a href="http://jigsaw.w3.org/css-validator/documentation.html">Documentation index for the CSS Validator</a>.</p>
<p>Além do mais, você poderá <a href="http://jigsaw.w3.org/css-validator/DOWNLOAD.html">baixá-lo</a> enviar seu <a href="http://jigsaw.w3.org/css-validator/Email.html">feedback</a> e visualizá-lo nas nove línguas disponíveis até o momento em que escrevo este post.</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/lancado-o-novo-css-validator-do-w3c/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Entrevista com a maior referência sobre as CSS no Brasil</title>
		<link>http://leandrovieira.com/archive/entrevista-com-a-maior-referencia-sobre-as-css-no-brasil</link>
		<comments>http://leandrovieira.com/archive/entrevista-com-a-maior-referencia-sobre-as-css-no-brasil#comments</comments>
		<pubDate>Mon, 27 Nov 2006 00:27:45 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[rapidinhas]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=28</guid>
		<description><![CDATA[Se você não sabe quem é a maior referência sobre as CSS no Brasil, conheça-a. Acabei de ler uma entrevista do iEvolution Fóruns com Maujor &#8211; referência sobre as CSS no Brasil. Nessa entrevista, Maujor fala sobre os padrões da &#8230; <a href="http://leandrovieira.com/archive/entrevista-com-a-maior-referencia-sobre-as-css-no-brasil">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Se você não sabe quem é a maior referência sobre as CSS no Brasil, <a href="http://maujor.com/">conheça-a</a>.</p>
<p>Acabei de ler uma entrevista do <a href="http://forum.ievolutionweb.com">iEvolution Fóruns</a> com <a href="http://maujor.com/">Maujor</a> &#8211; referência sobre as CSS no Brasil. Nessa entrevista, <a href="http://maujor.com/">Maujor</a> fala sobre os padrões da web, a nova &#8220;guerra entre os browsers&#8221; &#8211; <a href="http://www.mozilla.com/">Firefox</a> e <a href="http://www.microsoft.com/windows/ie/default.mspx">Internet Explorer</a> &#8211; qual o melhor caminho para iniciar nesse mundo dos padrões e muito mais. Recomendo a leitura.</p>
<p>Interessante também foi saber a origem de seu pseudônimo: Maujor. Algo que sempre tive a curiosidade.</p>
<p>Leia <a href="http://forum.ievolutionweb.com/index.php?showtopic=4890">entrevista com Mauricio Maujor</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/entrevista-com-a-maior-referencia-sobre-as-css-no-brasil/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Overlay para o body com JavaScript</title>
		<link>http://leandrovieira.com/archive/overlay-para-o-body-com-javascript</link>
		<comments>http://leandrovieira.com/archive/overlay-para-o-body-com-javascript#comments</comments>
		<pubDate>Sat, 25 Nov 2006 11:29:55 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=25</guid>
		<description><![CDATA[Veremos como é simples criar um overlay para o body com JavaScript, se você não sabe do que se trata, posso lhe explicar. Sabe aquele feito utilizado pelo Lightbox JS em que o body é revestido por completo, deixando-o translúcido? &#8230; <a href="http://leandrovieira.com/archive/overlay-para-o-body-com-javascript">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Veremos como é simples criar um overlay para o body com JavaScript, se você não sabe do que se trata, posso lhe explicar. Sabe aquele feito utilizado pelo <a href="http://www.huddletogether.com/projects/lightbox/">Lightbox JS</a> em que o body é revestido por completo, deixando-o translúcido? Então, veremos como produzir este efeito.</p>
<p>Bom, inicialmente, precisaremos da seguinte função:</p>
<pre lang="javascript">function getPageSize(){
var xScroll, yScroll;
if (window.innerHeight &#038;&#038; window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) {	// all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement &#038;&#038; document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}</pre>
<p>Para quem não a conheça, vou explicá-la. Esta função criada pelo <a href="http://www.quirksmode.org/">Peter-Paul Koch</a> retorna um array com quatro significantes informações na seguinte ordem: largura da página, altura da página, largura do <a href="http://www.google.com/search?complete=1&#038;hl=en&#038;q=define%3Aviewport&#038;btnG=Google+Search">viewport</a> e altura do <a href="http://www.google.com/search?complete=1&#038;hl=en&#038;q=define%3Aviewport&#038;btnG=Google+Search">viewport</a>.</p>
<p>Bom, com essas informações conseguiremos perfeitamente nosso objetivo - overlay para o body -  e iremos fazê-lo com esta simples função:</p>
<pre lang="javascript">function bodyOverlay() {
	var objBody = document.getElementsByTagName('body').item(0);
	var sizesPage = getPageSize();
	var bodyOverlay = document.createElement("div");
	bodyOverlay.setAttribute('id','bodyOverlay');
	bodyOverlay.style.height = arrayPageSize[1] + 'px'; // fundo com o tamanho total da página.
	if (!document.getElementById('bodyOverlay')) {
		objBody.insertBefore(bodyOverlay, objBody.firstChild);
	}
}</pre>
<p>Ou seja, "pegamos" a tag body, criamos uma tag div definindo dois atributos para ela - id="bodyOverlay" e style="height:tamanho-total-da-pagina" - e finalmente inserimos a tag div no body. Resultando no seguinte código:</p>
<pre lang="html">&lt;div style="height: 1179px;" id="w3BodyEncobridor"&gt;&lt;/div&gt;</pre>
<p>Para remover o overlay criado, você pode utilizar a seguinte função:</p>
<pre lang="javascript">function removerOverlay() {
	var bodyOverlay = document.getElementById('bodyOverlay');
	if (bodyOverlay) {
		bodyOverlay.parentNode.removeChild(bodyOverlay);
	}
}</pre>
<p>E para finalizar utilizamos estas declarações CSS:</p>
<pre lang="css">#bodyOverlay {
	background-color: #000;
	opacity: 0.8;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	filter:alpha(opacity=80); /* colando em um arquivo separado para o IE. */
}</pre>
<p>Façam os testes, e retorne com um feedback. Se tiver alguma dúvida não hesite em perguntar.</p>
<p><strong>[UPDATE]</strong> <a href="http://leandro.w3invent.com.br/apoio/demos/overlay-body-com-javascript-e-dom.htm">Veja um exemplo deste efeito</a> <strong>[/UPDATE]</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/overlay-para-o-body-com-javascript/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Camada de conteúdo &#8211; a(o) mãe(pai) de todas as outras</title>
		<link>http://leandrovieira.com/archive/camada-de-conteudo-a-o-mae-pai-de-todas-as-outras</link>
		<comments>http://leandrovieira.com/archive/camada-de-conteudo-a-o-mae-pai-de-todas-as-outras#comments</comments>
		<pubDate>Fri, 24 Nov 2006 00:25:14 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=24</guid>
		<description><![CDATA[Esta é a primeira e mais importante das camadas, a camada de conteúdo &#8211; ou estrutura / marcação como outros a chamam &#8211; é onde o conteúdo fica armazenado juntamente com as tags HTML que irão definir o que cada &#8230; <a href="http://leandrovieira.com/archive/camada-de-conteudo-a-o-mae-pai-de-todas-as-outras">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Esta é a primeira e mais importante das camadas, a camada de conteúdo &#8211; ou estrutura / marcação como outros a chamam &#8211; é onde o conteúdo fica armazenado juntamente com as tags HTML que irão definir o que cada parte do conteúdo significa, dando a ele um valor semântico.</p>
<p>Essa camada ainda é a responsável em intercalar as outras duas &#8211; de apresentação e comportamentos &#8211;  ou seja, ela faz uma ligação até essas duas camadas para que elas possam estar intercaladas entre si.</p>
<p>Para exemplificar visualmente, teríamos o seguinte:</p>
<p><img id="image19" class="imgConteudo" alt="Ligação entre camadas de desenvolvimento web - html - css - js" src="http://leandro.w3invent.com.br/wp-content/uploads/2006/11/ligacao-entre-camadas-de-desenvolvimento-html-css-js.jpg" /></p>
<p>Ou seja, a camada de conteúdo &#8211; HTML &#8211; fazendo uma ligação a camada de apresentação &#8211; CSS &#8211; e a camada de comportamento &#8211; JavaScript.</p>
<p>A forma como esta ligação é feita é super simples e acredito que você já conhece. Mas, mesmo assim, vejamos como isto acontece:</p>
<pre lang="html">
<head>
...
<link type="text/css" rel="stylesheet" href="camada-de-apresentacao"  />
<script type="text/javascript" src="camada-de-comportamento">
...
</head>
</pre>
<p>Ou seja, dentro da tag head do HTML utilizamos a tag link para vincularmos o HTML às CSS, ou melhor, a camada de conteúdo a de apresentação. E para anexar a camada de comportamento a de conteúdo, utilizamos a tag script.Bom, inicialmente é isto. Até o próximo.</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/camada-de-conteudo-a-o-mae-pai-de-todas-as-outras/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Desenvolvimento web em camadas &#8211; camada de comportamento</title>
		<link>http://leandrovieira.com/archive/desenvolvimento-web-em-camadas-camada-de-comportamento</link>
		<comments>http://leandrovieira.com/archive/desenvolvimento-web-em-camadas-camada-de-comportamento#comments</comments>
		<pubDate>Thu, 23 Nov 2006 18:09:06 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mtzlib]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=21</guid>
		<description><![CDATA[O desenvolvimento básico de um aplicativo web consiste em HTML para a marcação do conteúdo, das CSS para estilizá-lo e do JavaScript juntamente com o DOM para modificarmos/concedermos comportamentos aos elementos de uma página web. Você certamente já trabalha com &#8230; <a href="http://leandrovieira.com/archive/desenvolvimento-web-em-camadas-camada-de-comportamento">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O desenvolvimento básico de um aplicativo web consiste em <a title="HTML" href="http://leandro.w3invent.com.br/tags/html">HTML</a> para a marcação do conteúdo, das <a title="CSS" href="http://leandro.w3invent.com.br/tags/css/">CSS</a> para estilizá-lo e do <a title="JavaScript" href="http://leandro.w3invent.com.br/tags/javascript/">JavaScript</a> juntamente com o <a title="DOM" href="http://leandro.w3invent.com.br/tags/dom/">DOM</a> para modificarmos/concedermos comportamentos aos elementos de uma página web.</p>
<p>Você certamente já trabalha com as duas primeiras camadas citadas anteriormente. Mais por que ainda não trabalha com a terceira?</p>
<p>Acredito pelo fato deste assunto ser pouco discutido aqui no brasil. Encontramos <a title="Desenvolvimento web em camadas" href="http://angeruzzi.com/2006/11/15/desenvolvimento-em-3-camadas-na-web-visao-do-webdesigner/">um</a> ou <a title="Desenvolvimento web em camadas" href="http://obasicodaweb.com/arquivo/padroes-web-desenvolvimento-em-camadas-camada-de-comportamento">outro</a> falando sobre o assunto em blogs.</p>
<p>Em agosto deste ano, lançei um curso em parceria com o <a title="iMasters Shop" href="http://loja.imasters.com.br/">iMasters Shop</a> chamado <a title="Web Sites com Ajax" href="http://loja.imasters.com.br/detalhe_produto.php?produto=222">Web Sites Com Ajax</a> e nele falo de forma prática sobre a camada de comportamentos. Uma vez que o projeto final do curso é desenvolvido nessa lógica, ou seja, separar as camadas de desenvolvimento e trabalhar com JavaScript não-obstrutivo.</p>
<p>Vou abordar esse assunto por aqui, visto que o conteúdo relacionado a isto é vago (ainda). Mas com certeza tratarei de assuntos diferentes dos apresentados no curso, por respeito aqueles que adquiriram o curso (quem sabe o próximo possa ser você <img src='http://leandrovieira.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Aqui no meu blog farei uma abordagem do assunto utilizando a <a title="Mtzlib" href="http://metzen.com.br/mtzlib/">Mtzlib</a> e assim vocês verão como o nosso dia-a-dia pode ser mais produtivo, divertido e prazeroso ao se trabalhar com JavaScript e DOM através dessa biblioteca de JavaScript. Até lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/desenvolvimento-web-em-camadas-camada-de-comportamento/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Regras para o valor de um atributo ID</title>
		<link>http://leandrovieira.com/archive/regras-para-o-valor-de-um-atributo-id</link>
		<comments>http://leandrovieira.com/archive/regras-para-o-valor-de-um-atributo-id#comments</comments>
		<pubDate>Thu, 23 Nov 2006 13:40:50 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=19</guid>
		<description><![CDATA[Quem vive nesse mundo standards, tem a consicência que existe padrões para tudo e respeitá-los é importante para conseguirmos uma codificação satisfatória e válida. Para definirmos o valor de um atributo ID também precisamos seguir um regra. Como diz Zeffrey &#8230; <a href="http://leandrovieira.com/archive/regras-para-o-valor-de-um-atributo-id">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quem vive nesse mundo standards, tem a consicência que existe padrões para tudo e respeitá-los é importante para conseguirmos uma codificação satisfatória e válida.</p>
<p>Para definirmos o valor de um atributo ID também precisamos seguir um regra. Como diz <a title="Zeffrey Zeldman" href="http://www.zeldman.com/">Zeffrey Zeldman</a> em seu livro <a title="Projetando Web Sites compatíveis" href="http://afiliados.submarino.com.br/books_productdetails.asp?Query=ProductPage&#038;ProdTypeId=1&#038;ProdId=216872&#038;ST=SE&#038;franq=146955">Projetando Web Sites compatíveis</a> (recomendo a leitura).</p>
<blockquote><p>O valor de um atributo id deve começar com uma letra ou um sublinhado; não pode começar com um número.</p></blockquote>
<p>Então, se você precisa criar objetos em que eles precisarão ter uma seqüência numerada prefira algo do tipo: id=&#8221;obj1&#8243;, id=&#8221;obj2&#8243;, &#8230;</p>
<p>Ele também nos informa que &#8220;o serviço de validação W3C pode não detectar esse erro, mas um compilador XML detectará.&#8221;</p>
<p>Ao se trabalhar com <a title="JavaScript" href="http://leandro.w3invent.com.br/tags/javascript/">JavaScript</a> e ter a pretensão de</p>
<blockquote><p>&#8220;usar um id com JavaScript no formato document.idname.value, deve nomeá-lo como uma variável JavaScript válida; isto é, deve começar com uma letra ou com um sublinhado, seguido por letras, números e sublinhados. Nenhum espaço em branco e especialmente nenhum hífen são permitidos.&#8221;</p></blockquote>
<p>Outro alerta que o <a title="Zeffrey Zeldman" href="http://www.zeldman.com/">Zeldman</a> declara é quanto a utilização de sublinhados nos nomes de atributos <em>class</em> ou<em> id</em>, uma vez que segundo ele, isso é uma má idéia por causa das antigas limitações na CSS (e em alguns navegadores).</p>
<p>No livro <a title="Projetando Web Sites compatíveis" href="http://afiliados.submarino.com.br/books_productdetails.asp?Query=ProductPage&#038;ProdTypeId=1&#038;ProdId=216872&#038;ST=SE&#038;franq=146955">Projetando Web Sites compatíveis</a> tem outros alertas legais, como disse anteriormente, vale a pena a leitura.</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/regras-para-o-valor-de-um-atributo-id/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Declaração simplificada de padding e margin nas CSS</title>
		<link>http://leandrovieira.com/archive/declaracao-simplificada-de-padding-e-margin-nas-css</link>
		<comments>http://leandrovieira.com/archive/declaracao-simplificada-de-padding-e-margin-nas-css#comments</comments>
		<pubDate>Thu, 16 Nov 2006 02:01:54 +0000</pubDate>
		<dc:creator>Leandro Vieira Pinho</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://leandrovieira.com/?p=8</guid>
		<description><![CDATA[Outro dia conversando com um amigo pelo MSN, mostrei a ela a seguinte declaração CSS: #box { padding: 10px 50px 5px; } Consufo ele me questionou: está faltando um valor aí na declaração? Em seguida lhe respondi: está não, isto &#8230; <a href="http://leandrovieira.com/archive/declaracao-simplificada-de-padding-e-margin-nas-css">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Outro dia conversando com um amigo pelo MSN, mostrei a ela a seguinte declaração <strong>CSS</strong>:</p>
<pre lang="css">#box {
padding: 10px 50px 5px;
}</pre>
<p>Consufo ele me questionou: está faltando um valor aí na declaração? Em seguida lhe respondi: está não, isto é uma forma simplificada de declaração <strong>CSS</strong>, vou lhe explicar (e a você também).</p>
<p>Se você gosta de digitar códigos e tornar seu arquivo pesado, faça assim:</p>
<pre lang="css">#box {
padding-top: 10px;
padding-right: 50px;
padding-bottom: 5px;
padding-left: 50px;
}</pre>
<p>Lembre-se que a declaração utiliza o sentido horário, o que significa dizer que primeiro declaramos um valor para o topo, seguido da direita, embaixo e esquerda.</p>
<p>Como você não gosta de ficar digitando códigos desnecessários e preocupa-se com o tamanho do seu arquivo, veja algumas dicas para <strong>otimizar suas declarações CSS</strong>.</p>
<p>O exemplo acima, poderia ser reduzido de duas formas, veja:</p>
<pre lang="css">#box {
padding: 10px 50px 5px 50px;
}</pre>
<p>Ou seja, 10px para o topo, 50px para direita, 5px para baixo e 50px para esquerda. Como os valores das laterais (direita e esquerda) são iguais, podemos simplificar tal declaração da seguinte maneira:</p>
<pre lang="css">#box {
padding: 10px 50px 5px;
}</pre>
<p>Então, teríamos: 10px para o topo, 50px para direita e esquerda e 5px para baixo.</p>
<p>Simples e eficiente.</p>
<p>PS.: Mais sobre o assunto: <a title="http://www.imasters.com.br/artigo/4994/css/configurando_o_modo_como_o_dreamweaver_trabalha_com_as_css/" href="http://www.imasters.com.br/artigo/4994/css/configurando_o_modo_como_o_dreamweaver_trabalha_com_as_css/">Configurando o modo como o Dreamweaver trabalha com as CSS </a></p>
]]></content:encoded>
			<wfw:commentRss>http://leandrovieira.com/archive/declaracao-simplificada-de-padding-e-margin-nas-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

