<?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>PTTutoriais &#187; CSS</title>
	<atom:link href="http://www.pttutoriais.com/category/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.pttutoriais.com</link>
	<description>Tutoriais no mundo web</description>
	<lastBuildDate>Fri, 24 Dec 2010 19:01:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Barra de navegação em CSS3 e jQuery</title>
		<link>http://www.pttutoriais.com/507/barra-de-navegacao-em-css3-e-jquery</link>
		<comments>http://www.pttutoriais.com/507/barra-de-navegacao-em-css3-e-jquery#comments</comments>
		<pubDate>Fri, 17 Dec 2010 07:42:22 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.pttutoriais.com/?p=507</guid>
		<description><![CDATA[<p>Depois da publicação de um excelente pacote em Photoshop de barras de navegação pelo o Eduardo, fiquei a pensar será que consigo fazer o mesmo sem usar imagens?</p>]]></description>
			<content:encoded><![CDATA[<p>O objectivo é simples, fazer um menu de navegação o mais parecido possível ao pacote de navegação em Photoshop que o Eduardo <a href="http://www.pttutoriais.com/490/pacote-barras-de-navegacao" title="Pacote de barras de navegação">publicou</a>.</p>
<p>Mas não posso usar nenhuma imagem. Nada, zero, nothing!</p>
<p>Claro podia subir a parada e dizer que tem que ser compatível com todos os navegadores! Mas não, vamos deixar esse pequeno detalhe de lado, porque iria ser um pouco mais difícil.</p>
<p>Neste tutorial vamos usar CSS3, por isso qualquer navegador que suporte CSS3 deve funcionar como deve ser. Eu testei esta solução em:</p>

<ul>
  <li>Firefox</li>
  <li>Google Chrome</li>
</ul>

<p>Agora que já sabemos o que queremos fazer, vamos pôr mãos à obra.</p>

<h2>HTML</h2>

<p>Vamos começar pelo o nosso HTML.</p>

<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;Navegacao&quot;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Página Inicial&quot;&gt;Página Inicial&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Sobre&quot;&gt;Sobre&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Contactos&quot;&gt;Contactos&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Negócios&quot; class=&quot;selecionado&quot;&gt;Negócios&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Suporte&quot;&gt;Suporte&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#undefined&quot; title=&quot;Link Muito Grandeeeeeeeeeeeeeeee&quot;&gt;Link Muito Grandeeeeee&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;div id=&quot;Caixa&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>

<div class="exemplo">
<ul>
    <li><a href="#undefined" title="Página Inicial">Página Inicial</a></li>
    <li><a href="#undefined" title="Sobre">Sobre</a></li>
    <li><a href="#undefined" title="Contactos">Contactos</a></li>
    <li><a href="#undefined" title="Negócios" class="selecionadoEx">Negócios</a></li>
    <li><a href="#undefined" title="Suporte">Suporte</a></li>
    <li><a href="#undefined" title="Link Muito Grandeeeeeeeeeeeeeeee">Link Muito Grandeeeeee</a></li>
  </ul>
</div>
<p>Nada de complicado, como podemos ver é um markup bastante simples e correcto.</p>

<p>Temos um <span class="c_html">div</span> com o <span class="c_html">ID</span><span class="c_nota">Navegacao</span> vai servir de contentor para a barra de navegação.</p>

<p>Temos uma lista com links, e por fim temos um <span class="c_html">div</span> com o <span class="c_html">ID</span><span class="c_nota">Caixa</span> que vai servir para criar uns quantos efeitos que vamos ver mais tarde.</p>

<p>Se repararem no design do Edumicro podem ver que o link que esta seleccionado tem uma cor de fundo diferente, para tentarmos criar o mesmo efeito vamos usar o <span class="c_nota">Caixa</span>.</p>

<p>Mas antes de começarmos a pensar em funcionalidade, vamos tentar criar esta barra de navegaçãoa mais parecida possível ao design do Edumicro, para tal começamos com CSS.</p>

<h2>Explicar um pouco o CSS</h2>

<p>No design em Photoshop podemos ver que certos detalhes são um pouco mais difíceis em CSS, mas mesmo assim possíveis, mesmo sem ter o mesmo resultado final podemos quase imitar o original.</p>

<p>Cantos redondos, com o CSS3 já é possível conseguir sem ter que recorrer a grandes truques ou a imagens para tal usamos <span class="c_css">border-radius</span>.</p>

<img src="http://www.pttutoriais.com/wp-content/uploads/2010/12/borderradius.jpg" alt="Border Radius" title="Border Radius" width="563" height="217" class="size-full wp-image-564" />

<p>Gradientes também já é possível, apesar de ainda ser necessário usar uns quantos truques, e o resultado final não ser bem igual para todos os navegadores.</p>
<p>Especialmente porque temos que criar o efeito em três formas diferentes para suportar cada navegador ( FF / Motor Webkit / IE).</p>

<p>Para o firefox usamos:</p>

<pre class="brush: css; title: ; notranslate">
  background: -moz-linear-gradient(top, #2E6FC0 0%, #4491D6 50%, #3A86CA 51%, #2D6FBE 100%); 
</pre>

<p>O <span class="c_css">top</span> é usado para indicar onde queremos começar, o ponto de partida do nosso gradiente.</p>
<p>O resto usamos para indicar as cores dos gradientes, as posições que começam e acabam.</p>

<img src="http://www.pttutoriais.com/wp-content/uploads/2010/12/ffgradiente.jpg" alt="Gradientes no firefox" title="Gradientes no firefox" width="169" height="300" class="size-full wp-image-566" />

<p>Para mais informações visitar <a href="https://developer.mozilla.org/en/CSS/-moz-linear-gradient" title="Centro do Mozilla">Mozilla</a>.</p>

<p>Para navegadores baseados no motor WebKit (Safari por exemplo), usamos:</p>

<pre class="brush: css; title: ; notranslate">
  -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2E6FC0), color-stop(50%,#4491D6), color-stop(51%,#3A86CA), color-stop(100%,#2D6FBE)); 
</pre>

<p>O primeiro argumento é o tipo de gradiente e pode ser <span class="c_css">linear</span> ou <span class="c_css">radial</span>.</p>

<p>O segundo e o terceiro argumento é a posição, e por fim as cores onde começam e onde acabam.</p>

<img src="http://www.pttutoriais.com/wp-content/uploads/2010/12/webkitgradiente.jpg" alt="WebKit" title="WebKit" width="178" height="300" class="size-full wp-image-568" />

<p>Para mais informações visitar o <a href="http://webkit.org/blog/175/introducing-css-gradients/" title="WebKit">WebKit</a>.</p>

<p>Por fim temos a solução para o Internet Explorer, que mais uma vez não corresponde aos standards, mas para também não ser tão mauzinho, acho que o Internet Explorer já suporta gradientes desde a versão 5.5.</p>

<pre class="brush: css; title: ; notranslate">
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2E6FC0', endColorstr='#2D6FBE',GradientType=0 );
</pre>

<p>Como podemos ver o IE não suporta a possibilidade de controlarmos as posições onde queremos começar uma cor e acabar com outra cor.</p>

<p>Temos também o <span class="c_css">GradientType</span>, que pode ser 0 para vertical e 1 para horizontal.</p>

<img src="http://www.pttutoriais.com/wp-content/uploads/2010/12/iegradiente.jpg" alt="IE" title="IE" width="104" height="300" class="size-full wp-image-569" />

<p>Para mais informações visitar o site da <a href="http://msdn.microsoft.com/en-us/library/ms532997(VS.85,loband).aspx" title="Microsoft">Microsoft</a>.</p>

<p>Uma forma mais fácil de fazeres os gradientes é através do site <a href="http://www.colorzilla.com/gradient-editor/" title="Colorzilla">Colorzilla</a>.</p>

<p>Vamos então construir o CSS.</p>

<h2>CSS</h2>

<pre class="brush: css; title: ; notranslate">
#Navegacao{
  border: 1px solid #004FAA;
  padding: 15px 30px 15px 30px;
  font-family: arial, serif;
  font-size: 18px;
  
  /* Cantos redondos */
  -moz-border-radius: 6px; 
  border-radius: 6px;
				
  /* A posicao e o z-index queremos que a nossa caixa esteja por baixo da barra de navegacao */
  position:absolute;
  z-index: 2;
				
  /* Gradiente */
  /* browsers antigos */
  background: #2E6FC0; 
  /* firefox */
  background: -moz-linear-gradient(top, #2E6FC0 0%, #4491D6 50%, #3A86CA 51%, #2D6FBE 100%); 
  /* webkit */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2E6FC0), color-stop(50%,#4491D6), color-stop(51%,#3A86CA), color-stop(100%,#2D6FBE)); 
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2E6FC0', endColorstr='#2D6FBE',GradientType=0 ); /* ie */
				
}

#Navegacao ul{
  list-style-type: none;
  padding:0;
  margin:0;
}
			
#Navegacao ul li{
  display: block;
  float:left;
  padding-right:20px;
}
			
#Navegacao a:link{
  text-decoration: none;
  color: #FFFFFF;	
}

#Navegacao a:visited{
  color: #FFFFFF;	
}
		
#Caixa{
  /* z-index para a caixa estar por baixo da navegacao */
  position: absolute;
  z-index:-1;
  border:1px solid #265FB1;
  background: #2E6FC0; /* browsers antigos */
  background: -moz-linear-gradient(top, #3374C5 0%, #7CB3E2 50%, #74ABDA 51%, #6396CF 100%); /* firefox */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3374C5), color-stop(50%,#7CB3E2), color-stop(51%,#74ABDA), color-stop(100%,#6396CF));
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3374C5', endColorstr='#7CB3E2',GradientType=0 ); /* ie */
  padding:20px 10px 20px 10px;
  /* Cantos redondos */
  -moz-border-radius: 3px; 
  border-radius: 3px;
}

</pre>
<div class="clear"></div>
<div class="exemplo" style="height:70px; display:block;">
  <div id="NavegacaoEx">
    <ul>
      <li><a href="#undefined" title="Página Inicial">Página Inicial</a></li>
      <li><a href="#undefined" title="Sobre">Sobre</a></li>
      <li><a href="#undefined" title="Contactos">Contactos</a></li>
      <li><a href="#undefined" title="Negócios" class="selecionadoEx">Negócios</a></li>
      <li><a href="#undefined" title="Suporte">Suporte</a></li>
      <li><a href="#undefined" title="Link Muito Grandeeeeeeeeeeeeeeee">Link Muito Grandeeeeee</a></li>
    </ul>
    <div id="CaixaEx"></div>
  </div>
</div>
<div class="clear"></div>

<p>Podemos notar que em termos de estilo a barra de navegação está completa, mas o efeito que foi dado na <span class="c_nota">Caixa</span> de momento não faz sentido.</p>

<p>Para tal vamos usar javascript com ajuda do jQuery, para criar uma animação. Basicamente queremos que a <span class="c_nota">Caixa</span> se mova conforme o rato do usuário.</p>

<p>Se o o usuário passar com o rato pelo o link "Negócios" então queremos que a nossa <span class="c_nota">Caixa</span> se mova até esse link.</p>

<p>Queremos também que a posição inicial da <span class="c_nota">Caixa</span> seja o link que tenha a referência à classe <span class="c_css">selecionado</span></p>

<p>Um pequeno aviso, o javascript que vou apresentar é bom já terem um pouco de conhecimento de jQuery.</p>

<p>Vamos então começar o nosso Javascript.</p>

<h2>Javascript</h2>

<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() { // Documento esta pronto
  $(&quot;#Navegacao ul li&quot;).mouseenter(function(evento) { // O usuario passa com o rato nos nossos links
    // Cache
    var elemento = $(this);
    // Posicao e tamanho do elemento
    var Largura = $(elemento).width(); // Largura do li
    var PosicaoEsquerda = $(elemento).position().left - 10; // Posicao do li menos 10, pois estamos a adicionar no padding no CSS
    var PosicaoTop = $(elemento).position().top - 10; // Posicao do li menos 10, pois estamos a adicionar no padding no CSS 
    // Animacao
    $(&quot;#Caixa&quot;).stop().animate({ &quot;top&quot;: PosicaoTop + &quot;px&quot;, &quot;left&quot;: PosicaoEsquerda + &quot;px&quot;, &quot;width&quot;: Largura + &quot;px&quot; }, &quot;slow&quot;);
  });

  // Se o rato sair da barra de navegacao entao chamar a nossa funcao PosicaoSelecionado
  $(&quot;#Navegacao&quot;).mouseleave(function(evento) {
    PosicaoSelecionado(false);
  });

  // Para quando a pagina arranca pela a primeira vez ou o usuario tira o rato da nossa barra de navegacao
  function PosicaoSelecionado(PrimeiraVez) {
    // cache o elemento selecionado
    var Selecionado = $(&quot;.selecionado&quot;);
    //Mover para essa posicao
    var PosicaoEsquerda = $(Selecionado).position().left - 10;
    var PosicaoTop = $(Selecionado).position().top - 10;
    var Largura = $(Selecionado).width();

    // Se for a primeira vez que o script arranca então mudar logo para essa posição, senão usar uma animação
    if (PrimeiraVez == true) {
      $(&quot;#Caixa&quot;).css({ &quot;top&quot;: PosicaoTop + &quot;px&quot;, &quot;left&quot;: PosicaoEsquerda + &quot;px&quot;, &quot;width&quot;: Largura + &quot;px&quot; });
    } else {
      $(&quot;#Caixa&quot;).stop().animate({ &quot;top&quot;: PosicaoTop + &quot;px&quot;, &quot;left&quot;: PosicaoEsquerda + &quot;px&quot;, &quot;width&quot;: Largura + &quot;px&quot; }, &quot;slow&quot;);
   }
  }

  // Quando a pagina arranca pela a primeira vez e queremos a nossa caixa no link correcto
  PosicaoSelecionado(true);

});
</pre>

<div class="clear"></div>
<div class="exemplo" style="height:70px; display:block;">
  <div id="Navegacao">
    <ul>
      <li><a href="#undefined" title="Página Inicial">Página Inicial</a></li>
      <li><a href="#undefined" title="Sobre">Sobre</a></li>
      <li><a href="#undefined" title="Contactos">Contactos</a></li>
      <li><a href="#undefined" title="Negócios" class="selecionado">Negócios</a></li>
      <li><a href="#undefined" title="Suporte">Suporte</a></li>
      <li><a href="#undefined" title="Link Muito Grandeeeeeeeeeeeeeeee">Link Muito Grandeeeeee</a></li>
    </ul>
    <div id="Caixa"></div>
  </div>
</div>
<div class="clear"></div>



<h2>Conclusão</h2>

<p>Estou contente com o resultado final, mas a verdade tem que ser dita e existe vários pormenores que não consegui igual ao pacote que o Eduardo publicou.</p>
<p>Os gradientes no Photoshop resultam melhor, e os detalhes que o Eduardo deu nas barras de navegação são difíceis de replicar na minha solução.</p>
<p>Porém foi um desafio interessante, fiquei a saber um pouco mais de gradientes em CSS3.</p>
<p>Para uma solução mais realista, acho que se misturarmos este tutorial com o pacote de barras de navegação, acho que é mesmo a melhor solução.</p>
<p>Espero que tenham gostado deste tutorial.</p>

<div class="clear"></div>
<a title="Download" href="http://www.pttutoriais.com/index.php?sdmon=DownloadsTut/BarraDeNavegacaoHTMLjQuery.zip" target="_blank">
<img src="http://www.pttutoriais.com/wp-content/themes/PTT1/images/download.jpg" alt="Download Exemplo" width="277" height="81" />
</a>
]]></content:encoded>
			<wfw:commentRss>http://www.pttutoriais.com/507/barra-de-navegacao-em-css3-e-jquery/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS 3 &#8211; Brincar com fontes</title>
		<link>http://www.pttutoriais.com/315/css-3-brincar-com-fontes</link>
		<comments>http://www.pttutoriais.com/315/css-3-brincar-com-fontes#comments</comments>
		<pubDate>Wed, 27 Oct 2010 16:56:52 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.pttutoriais.com/?p=315</guid>
		<description><![CDATA[<p>Neste tutorial vou brincar um pouco com fontes, como integrar fontes no nosso site. Introduzir alguns serviços de fontes como o do google e por fim brincar um bocado com os novos métodos do CSS3.</p>]]></description>
			<content:encoded><![CDATA[<p>Gosto muito da área de design, mas a verdade seja dita não existe muito jeito para a coisa. Dou uns toques "aqui e acolá" mas considero-me mais um programador, do que um designer.</p>

<p>Mas seja em que tipo de design for uma das partes mais importantes é o texto, e todos os que trabalham na web à alguns anos sabem a dificuldade que é em usar fontes específicas na web.</p>

<p>Como todos sabemos a maneira mais fácil para garantir que todos os visitantes do nosso site vejam o texto correctamente é usando uma fonte segura, uma fonte que normalmente já está instalada no computador do visitante. Para tal as fontes mais seguras costumam ser o Arial, Verdana, Courier New, Comic Sans e mais algumas.</p>

<p>Mas sendo a fonte uma parte importante nos Websites começou a surgir várias soluções para tentar dar volta ao problema. Desde Javascript, a Flash, a PHP, existem soluções para todo o tipo. Mas nenhuma delas é simples de usar.</p>

<p>Na minha opinião todos os navegadores deveriam suportar a solução apresentada usando CSS, o que acredito que mais cedo ou mais tarde aconteça.</p>

<p>Existe o <a title="Image Replacement" href="http://css-tricks.com/css-image-replacement/">Image Replacement</a> onde é uma aventura com CSS.</p>

<p>Temos também o <a title="Cufon" href="http://cufon.shoqolate.com/generate/">cufon</a>, penso eu que é uma das soluções mais usadas hoje em dia.</p>

<p>E para quem gosta de PHP temos o <a title="Facelift" href="http://facelift.mawhorter.net/">facelift</a>.</p>

<p>Não vou falar de nenhuma dessas técnicas, porque mais ano menos ano acredito que não vá ser necessário e também porque não é o objectivo deste tutorial.</p>

<p>Neste momento vários navegadores já a suportam alguns dos novos métodos em CSS 3, e por já vai sendo possível fazer umas coisas engraçadas com fontes.</p>

<h2>Como introduzir novas fontes</h2>

<p>O método que usamos para introduzirmos fontes específicas no CSS e <span class="c_css">@font-face</span>.</p>

<pre class="brush: css; title: ; notranslate">
  @font-face {
    font-family: NOMEDAFONTE;
    src: url('ONDE SE ENCONTRA');
  }
</pre>

<p>Basicamente tens que colocar o nome da fonte, e a sua localização.</p>

<p>Mais simples acho que era difícil, agora claro o famoso Internet Explorer tinha que ter umas surpresas, mas uma delas e o factor de suportar (+/-) o <span class="c_css">@font-face</span> desde 2004.</p>

<p>O problema é que só suporta fontes .otf (OpenType), mas para tal podes usar um <a href="http://www.kirsle.net/wizards/ttf2eot.cgi">conversor online de fontes .ttf (TrueType) para .otf</a>.</p>

<p>Então como suportar quase todos os navegadores:</p>

<pre class="brush: css; title: ; notranslate">
  @font-face {
    font-family: NOMEDAFONTE;
    src: url(&quot;ONDE/SE/ENCONTRA/FONTE/FICHEIROFONTE.eot&quot;);
    src: local(&quot;NOMEDAFONTE&quot;), url(&quot;ONDE/SE/ENCONTRA/FONTE/FICHEIROFONTE.ttf&quot;) format(&quot;truetype&quot;);
  }
</pre>

<p>O <span class="c_css">local</span>, diz ao navegador para tentar encontrar a fonte no seu sistema antes de fazer o download.</p>
<h2>Mas o melhor...</h2>
<p>O melhor é os novos serviços de fontes que começam a aparecer na web. Acabam por ser ainda mais fácil do que teres que te preocupar com os diferentes navegadores.</p>

<p>Neste tutorial vou usar o <a title="Google Fontes" href="http://code.google.com/webfonts">Google Fontes</a>. Pode não ser a fonte super específica que querias, mas para quem está habituado a usar apenas um leque de 10 fontes, isto é uma maravilha.</p>

<p>Outro dos serviços que encontrei recentemente é o <a title="Awesome Fontstacks" href="http://awesome-fontstacks.com/">Awesome Fontstacks</a>, mas ainda não usei, mas acredito que funcione da mesma forma que o Google fontes.</p>

<p>Para usar o Google fontes é super fácil, neste tutorial vamos usar o <a href="http://code.google.com/webfonts/family?family=Yanone+Kaffeesatz&amp;subset=latin">Yanone Kaffeesatz</a> fonte, para tal basta adicionar o link para o CSS da Google.</p>

<pre class="brush: xml; title: ; notranslate">
  &lt;head&gt;
    &lt;title&gt;Fontes&lt;/title&gt;
    &lt;link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz&amp;subset=latin' rel='stylesheet' type='text/css'&gt;
  &lt;/head&gt;
</pre>

<p>Simplesmente não tens que te preocupar com mais nada, o Google fontes é inteligente suficientemente para destingir o IE de outros navegadores e enviar a fonte correcta e de tratar da declaração correcta para o IE.</p>
<h2>Vamos brincar</h2>
<p>Antes demais vamos usar a fonte na sua forma mais simples:</p>
<div style="font-family: 'Yanone Kaffeesatz', arial, serif; font-size: 72px;">PT Tutoriais</div>
<p>Sem muito por dizer, apenas declaramos o tamanho e a fonte.</p>

<pre class="brush: css; title: ; notranslate">
  font-family: 'Yanone Kaffeesatz', arial, serif;
  font-size:72px;
</pre>

<p>Vamos dizer que queremos uma sombra, todos nós gostamos do efeito sombra no texto quando estamos a criar um logótipo no Photoshop.</p>
<div style="font-family: 'Yanone Kaffeesatz', arial, serif; font-size: 72px; text-shadow: #999999 5px 5px 3px;">PT Tutoriais</div>
<p>Já tem um pouco de mais piada. Para tal usamos o novo método <span class="css">text-shadow</span>.</p>

<pre class="brush: css; title: ; notranslate">
  font-family: 'Yanone Kaffeesatz', arial, serif;
  font-size:72px;
  /* COR | TOP PIXEIS EM RELAÇÃO A POSIÇÃO DA FONTE | ESQUERDA PIXEIS EM RELAÇÃO A POSIÇÃO DA FONTE | BLUR */
  text-shadow: #999999 5px 5px 3px;
</pre>

<p>Podemos também usar o efeito <span class="c_css">stroke</span>.</p>
<div style="font-family: 'Yanone Kaffeesatz', arial, serif; font-size: 72px; text-shadow: #999999 5px 5px 3px; -webkit-text-stroke-color: #000000; -webkit-text-stroke-width: 1.50px;">PT Tutoriais</div>
<pre class="brush: css; title: ; notranslate">
  font-family: 'Yanone Kaffeesatz', arial, serif;
  font-size:72px;
  text-shadow: #999999 5px 5px 3px;
  -webkit-text-stroke-color: #000000;
  -webkit-text-stroke-width: 1.50px;
</pre>

<p>Ou criar uma tentativa de logótipo:</p>

<div style="font-family: 'Yanone Kaffeesatz', arial, serif; font-size: 72px;">
  <div style="-webkit-transform: rotate(-90deg); float: left; font-size: 36px; padding: 25px; background-color: #000000; color: #ffffff; margin-right: 15px;">PT</div>
  <div style="float: left; padding-top: 25px;">Tutoriais</div>
</div>

<div class="clear"></div>

<p>O HTML</p>

<pre class="brush: xml; title: ; notranslate">
 &lt;div class=&quot;Caixa&quot;&gt;
   &lt;div class=&quot;PT&quot;&gt;PT&lt;/div&gt;
   &lt;div class=&quot;Tutoriais&quot;&gt;Tutoriais&lt;/div&gt;
 &lt;/div&gt;
</pre>

<p>O CSS</p>

<pre class="brush: css; title: ; notranslate">
 .Caixa{
   font-family: 'Yanone Kaffeesatz', arial, serif;
   font-size:72px;
 }

 .PT{
   -webkit-transform: rotate(-90deg); /* Rodar 90 graus */
   -moz-transform: rotate(-90deg); /* Rodar 90 graus - FF */
   float:left;
   font-size:36px;
   padding:25px;
   background-color:#000000;
   color:#FFFFFF;
   margin-right:15px;
 }

 .Tutoriais{
   float:left;
   padding-top:25px;
 }
</pre>
<h2>Conclusão</h2>
<p>Neste tutorial espero que tenha conseguido explicar algumas das novas funcionalidades oferecidas pelo o CSS 3, sabendo perfeitamente que não vai ser um substituto nenhum ao Photoshop ou outros programas de tratamento de imagens.</p>

<p>Mesmo assim acho que tem a sua utilidade, especialmente quando queremos misturar design com conteúdo dinâmico de um web site.</p>]]></content:encoded>
			<wfw:commentRss>http://www.pttutoriais.com/315/css-3-brincar-com-fontes/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Usar o width e height em CSS</title>
		<link>http://www.pttutoriais.com/18/usar-o-width-e-height-em-css</link>
		<comments>http://www.pttutoriais.com/18/usar-o-width-e-height-em-css#comments</comments>
		<pubDate>Sat, 23 Aug 2008 20:28:02 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.pttutoriais.com/?p=18</guid>
		<description><![CDATA[Width e Height é bastante usado em CSS, e traz bastante vantagens na construção de layouts para a web. Um pequeno artigo onde se fala em como usar.]]></description>
			<content:encoded><![CDATA[<h2>Width e Height</h2>
<p>O <span class="c_css">width</span> e <span class="c_css">height</span> é bastante usado em CSS, e traz bastantes vantagens na construção de layouts para a web.</p>
<h2>Width</h2>
<p>O <span class="c_css">width</span> define a largura de um elemento em HTML, e pode tomar valores em pixeis, percentagens, inches, centímetros, milímetros, pontos, e picas.</p>
<ul>
<li>Inches: 1 inch é igual a 2.54 centímetros</li>
<li>Pontos: é usado em CSS2 são iguais a 1/72 de uma inch</li>
<li>Picas: 1 pica é igual a 12 pontos</li>
<li>Milímetros</li>
<li>Centímetros</li>
</ul>
<h2>Como usar o widht</h2>
<p>Usando o <span class="c_css">width</span> no elemento <span class="c_html">&lt;p&gt;</span>.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;p style=&quot;width: 200px;&quot;&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque blandit ligula convallis.&lt;/p&gt;
</pre>
<p>Como podemos ver o texto fica contido, assim que chegar aos 200px o restante texto muda de linha.</p>
<p>Podemos também usar os valores em percentagens, sendo assim, o bloco irá ocupar uma percentagem disponível na janela do browser.</p>
<p>Por exemplo quando a janela do browser está á utilizar o ecrã inteiro ou está apenas a utilizar metade do ecrã é considerado sempre 100%.</p>
<p><a href="http://www.pttutoriais.com/wp-content/uploads/2008/08/cemum.jpg"><img class="aligncenter size-full wp-image-19" title="Exemplo um" src="http://www.pttutoriais.com/wp-content/uploads/2008/08/cemum.jpg" alt="" width="500" height="375" /></a></p>
<p>Usando apenas uma parte:</p>
<p><a href="http://www.pttutoriais.com/wp-content/uploads/2008/08/cemdois.jpg"><img class="aligncenter size-full wp-image-20" title="Exemplo 50 porcento" src="http://www.pttutoriais.com/wp-content/uploads/2008/08/cemdois.jpg" alt="" width="500" height="359" /></a></p>
<p>Quando usamos os valores em percentagens, o elemento apenas usará a percentagem disponível no ecrã.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;p style=&quot;width: 50%;&quot;&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque blandit ligula convallis.&lt;/p&gt;
</pre>
<p>Neste exemplo experimenta-mos modificar o tamanho da janela para veres que o elemento usa sempre 50% do espaço disponível.</p>
<h2>Height</h2>
<p>O height é usado da mesma forma que o <span class="c_css">width</span> a diferença é que, específicas a altura do elemento.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;p style=&quot;height: 200px;&quot;&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque blandit ligula convallis.&lt;/p&gt;
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque posuere dignissim. Donec mattis.
</pre>
<p>Como podemos ver, o próximo paragrafo só começa 200px depois.</p>
<p>O <span class="c_css">height</span> também pode ser usado com percentagem e tem o mesmo efeito que o <span class="c_css">width</span>.</p>
<h2>Conclusão</h2>
<p>Este tutorial serve apenas para ver como usar, e os resultados do <span class="c_css">width</span> e <span class="c_css">height</span> em CSS.</p>
<p>Neste exemplo apenas usamos o elemento <span class="c_html">&lt;p&gt;</span> mas o <span class="c_css">width</span> e o <span class="c_css">height</span> pode ser usado praticamente em todos os elementos de HTML.</p>
<p>Usar valores em percentagem dá uma vantagem de criar layouts &#8216;elásticos&#8217; que se modificam através do tamanho disponível do ecrã.</p>
<p>Usar valores fixos tem a vantagem de controlares melhor o layout e saberes sempre que tudo encaixa perfeitamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pttutoriais.com/18/usar-o-width-e-height-em-css/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tabelas vrs CSS</title>
		<link>http://www.pttutoriais.com/16/tabelas-vrs-css</link>
		<comments>http://www.pttutoriais.com/16/tabelas-vrs-css#comments</comments>
		<pubDate>Sat, 23 Aug 2008 18:18:31 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.pttutoriais.com/?p=16</guid>
		<description><![CDATA[No inicio só existia HTML e com o simples objectivo de partilhar informação na internet. Nunca houve a intenção de HTML servir para layout de web sites. Neste artigo vamos discutir as vantagens de usar CSS e de deslargar as tabelas por divs.]]></description>
			<content:encoded><![CDATA[<h2>HTML, Hyper Text Markup Language</h2>

<p>No inicio só existia HTML e com o simples objectivo de partilhar informação na Internet. Nunca houve a intenção de HTML servir para layout de web sites.
Apesar de tudo, no dia em que no HTML surge <span class="c_html">&lt;table&gt;</span> as coisas mudaram, pois foi possível designers começarem a criar layouts, senso assim o HTML usado para mais do que a simples partilha de informação.</p>

<p>A <span class="c_html">&lt;table&gt;</span> ajudou muito para a evolução dos websites, por fim existia uma maneira de designers puderem colocar os elementos e imagens no sítio que desejavam.<p>

<p>Mesmo assim criar layouts usando <span class="c_html">&lt;table&gt;</span> pode ser um processo doloroso, <span class="c_html">&lt;table&gt;</span> dentro de <span class="c_html">&lt;table&gt;</span> cria um código pesado e deselegante.</p>

<h2>CSS, Cascading Style Sheets</h2>

<p>O CSS veio ajudar o "coitadinho" do HTML, e com inúmeras vantagens.</p>

<p>Não só o factor &lt;table&gt; mas, simplesmente o processo todo de dividir código com layout. Com CSS é possível atribuir um <span class="c_termo">ID</span> ou uma <span class="c_termo">classe</span> a qualquer <span class="c_termo">tag</span> em HTML e simplesmente criar o layout ou estilo para essa mesma <span class="c_termo">tag</span> usando CSS.</p>

<p>Este artigo não tem como objectivo entrar em pormenores, mas sim ajudar a mudança e deixar de uma vez por todas <span class="c_html">&lt;table&gt;</span>.</p>

<h2>Exemplo &lt;table&gt; layout</h2>
<p>Vamos começar com um simples exemplo de um design de três colunas usando tabelas.</p>

<pre class="brush: xml; title: ; notranslate">
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;20%&quot;&gt;Layout lado esquerdo&lt;/td&gt;
&lt;td width=&quot;60%&quot;&gt;Layout centro&lt;/td&gt;
&lt;td width=&quot;20%&quot;&gt;Layout lado direito&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</pre>

<p>Simples não é? Pois bem, sem duvida que até é simples, mas será CSS ainda mais simples?</p>
<h2>A maneira CSS</h2>
<p>Então e como será em CSS? Mantendo o mesmo layout.</p>

<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;ladoesquerdo&quot;&gt;Lado Esquerdo Layout&lt;/div&gt;
&lt;div id=&quot;ladocentro&quot;&gt;Centro Layout&lt;/div&gt;
&lt;div id=&quot;ladodireito&quot;&gt;Lado Direito Layout&lt;/div&gt;
</pre>

<p>Hmm só três linhas? Parece simples, mas onde esta o truque?</p>

<p>Pois bem como disse no inicio CSS da vantagem de separar o código do layout e por isso existe umas linhas extras.</p>

<p>Existem três formas de inserir código CSS.</p>
<ul>
	<li>Entre as tags <span class="c_html">&lt;head&gt;</span></li>
	<li>Directamente na tag que queremos modificar usando <span class="c_html">&lt;style&gt;</span></li>
	<li>Ou criar um link para um ficheiro css</li>
</ul>
<p>Neste exemplo inserimos entre as <span class="c_html">tags &lt;head&gt;</span>.</p>

<pre class="brush: css; title: ; notranslate">
#ladoesquerdo {width:19%; float:left; border:1px solid &quot;666;}
#ladocentro {width:60%; float:left; border:1px solid &quot;666;}
#ladodireito {width:19%; float:left; border:1px solid &quot;666;}
</pre>
<h2>Então e as vantagens?</h2>
<p>Pois bem, existe várias vantagens:</p>
<ul>
	<li>O código está separado, qualquer mudança no layout pode ser feito só no CSS e não existe necessidade de mexer no HTML.</li>
	<li>Search Engines adoram CSS, pois normalmente a dimensão do ficheiro fica mais pequeno, e também porque a percentagem de conteúdo tem mais hipóteses de ser superior ao código.</li>
</ul>
<p>Mas claro também existe as suas desvantagens:</p>
<ul>
	<li>CSS ainda não tem o suporte total de todos os browsers no mercado.</li>
	<li>Por vezes o que se vê num browser (IE) e diferente noutros (Firefox / Opera).</li>
</ul>
<p>Mas com os web standards estão cada vez mais a puxar os browsers para a mesma forma de mostrar os resultados, CSS parece ter um futuro garantido.</p>
<h2>Mostra mais</h2>
<p>Então e que tal mostrar um pouco mais das vantagens do CSS.</p>

<p>Ok, vamos então dar um espaço entre as caixas, mudar a cor de cada caixa, as cores das fontes, isto tudo sem tocar no código HTML.</p>

<pre class="brush: css; title: ; notranslate">
#ladoesquerdo {width:15%; float:left; border:1px solid #666; background-color:#000099; margin-right:4%; color:#FFFFFF;}
#ladocentro {width:60%; float:left; border:1px solid #666; background-color:#3366FF;margin-right:4%;}
#ladodireito {width:15%; float:left; border:1px solid #666; background-color:#000099; color:#FFFFFF;}
</pre>

<p>Hmmm ok, mas ainda não me convenceram. Mudar cores, mudar os tamanhos, bastava apenas acrescentar mais uns elementos na tabela.</p>
<p>Então e mudar o layout sem mexer no código? Por exemplo, ter só um layout de duas colunas?</p>

<pre class="brush: css; title: ; notranslate">
#ladoesquerdo {width:20%; height:100px; float:left; border:1px solid #666;
background-color:#000099; margin-right:4%; color:#FFFFFF;}
#ladocentro {width:75%; height:50px; float:right; border:1px solid #666; background-color:#3366FF; }
#ladodireito {width:75%; height:50px; float:right; border:1px solid #666; background-color:#000099; color:#FFFFFF;clear:right;}
</pre>

<p>Ok ok, ainda não tocamos no código, ok ok já estou a ver as vantagens.</p>
<h2>Conclusão</h2>
<p>Espero que este artigo tenha ajudado para perceber algumas das vantagens de CSS, e claro não quero passar a ideia errada, tabelas são um aspecto importante e deve ser usado, mas no sítio correcto como longos formulários, para mostrar extensos resultados de base de dados, mas como uma maneira de criar o layout geral para um web site espero ter demonstrado as vantagens de CSS.</p>]]></content:encoded>
			<wfw:commentRss>http://www.pttutoriais.com/16/tabelas-vrs-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

