<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2131723985492377822</id><updated>2024-08-28T02:30:35.559-03:00</updated><category term="desenvolvimento"/><category term="padrões"/><category term="web"/><category term="HTML"/><category term="css"/><category term="design"/><category term="tableless"/><category term="usabilidade"/><category term="xHTML"/><category term="codificação"/><title type='text'>euconectei web</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2131723985492377822.post-1070571389663126163</id><published>2011-04-09T11:46:00.003-03:00</published><updated>2011-04-09T12:50:13.814-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="tableless"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Criação de Layout: Expansível ou Fixo?</title><content type='html'>&lt;p&gt;Uma das primeiras perguntas que nos fazemos ao começar a pensar num layout é &lt;del&gt;será que dá pra desenvolver na praia?&lt;/del&gt; como disponibilizar as informações. Junto com essa pergunta vem uma outra: Layout Expansível (que ocupa toda a àrea do navegador) ou fixo (que fica &quot;preso&quot; a uma determinada àrea independente da resolução da tela)?&lt;/p&gt;&lt;p&gt;Esta é uma questão que somente você e seu cliente podem entrar em &lt;del&gt;guerra&lt;/del&gt; acordo.&lt;/p&gt;&lt;p&gt;Então para facilitar nossa vida, vou disponibilizar umas maneiras simples de montar cada um dos tipos. Vamos começar com &lt;em&gt;Layout Expansível&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Como sempre fazemos, vamos começar por partes, abaixo temos o &lt;em&gt;html&lt;/em&gt;:&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
  &amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;
  &amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;
  &amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;estilo.css&amp;quot; /&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;cabecalho&amp;quot;&amp;gt;
      &amp;lt;h1&amp;gt;Cabeçalho&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&amp;quot;conteudo&amp;quot;&amp;gt;
      &amp;lt;div id=&amp;quot;esquerda&amp;quot; class=&amp;quot;coluna&amp;quot;&amp;gt;
        &amp;lt;h2&amp;gt;Coluna Esquerda&amp;lt;/h2&amp;gt;
        &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd  adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&amp;quot;principal&amp;quot;&amp;gt;
        &amp;lt;h2&amp;gt;Coluna Principal&amp;lt;/h2&amp;gt;
        &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&amp;quot;direita&amp;quot; class=&amp;quot;coluna&amp;quot;&amp;gt;
        &amp;lt;h2&amp;gt;Coluna Direita&amp;lt;/h2&amp;gt;
        &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&amp;quot;rodape&amp;quot;&amp;gt;
      &amp;lt;address&amp;gt;Rua com Endereço, s/n - Lugar - UF&amp;lt;/address&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;p&gt;Feito o &lt;em&gt;html&lt;/em&gt;, chegou a hora de aplicar o css nele. Abaixo temos o CSS:&lt;/p&gt;&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;@charset &quot;utf-8&quot;;
/* CSS Document */

#cabecalho, #rodape {
 background-color:#00CCFF;
}

/* Modo Expansível */


#principal {
 margin: 0 200px;
}
#conteudo {
 position: relative;
 min-height: 300px;
}
.coluna {
 background-color:#CCCCCC;
 position: absolute;
 top:0;
 width: 190px;
}
#esquerda {
 left:0;
}
#direita {
 right: 0;
}

/* Modo Fixo */

#centralizador {
 margin: 0 auto;
 width: 900px;
}
#colesq, #coldir {
 float: left;
 width: 150px;
}
#centro {
 float:left;
 width: 600px;
}
#corpo {
 display: table;
}
&lt;/pre&gt;&lt;p&gt;Finalizando &lt;del&gt;com felicidade&lt;/del&gt; o &lt;em&gt;css&lt;/em&gt;, poderemos ver a página pronta&lt;/p&gt;&lt;p&gt;Chegou a hora de começarmos a mexer no &lt;em&gt;Layout Fixo&lt;/em&gt;, com isso veremos um diferença na criação da página. Segue o código &lt;em&gt;html&lt;/em&gt;:&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
  &amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;
  &amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;
  &amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;estilo.css&amp;quot; /&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&amp;quot;centralizador&amp;quot;&amp;gt;
      &amp;lt;div id=&amp;quot;cabecalho&amp;quot;&amp;gt;
        &amp;lt;h1&amp;gt;Cabeçalho&amp;lt;/h1&amp;gt;
        &amp;lt;ul id=&amp;quot;nav&amp;quot;&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Item5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&amp;quot;corpo&amp;quot;&amp;gt;
        &amp;lt;div id=&amp;quot;colesq&amp;quot;&amp;gt;
          &amp;lt;h2&amp;gt;Coluna Esquerda&amp;lt;/h2&amp;gt;
          &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div id=&amp;quot;centro&amp;quot;&amp;gt;
          &amp;lt;h2&amp;gt;Coluna Principal&amp;lt;/h2&amp;gt;
          &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div id=&amp;quot;coldir&amp;quot;&amp;gt;
          &amp;lt;h2&amp;gt;Coluna Direita&amp;lt;/h2&amp;gt;
          &amp;lt;p&amp;gt; asuidhiasdhiahd ahsdihaisdhaisdh da sdhisd adihasidiasdiasdhaisdads dasidhasdhads &amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&amp;quot;rodape&amp;quot;&amp;gt;
        &amp;lt;address&amp;gt;Rua com Endereço, s/n - Lugar - UF&amp;lt;/address&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;p&gt;Agora, vamos &lt;del&gt;a la playa&lt;/del&gt; ao &lt;em&gt;css&lt;/em&gt;:&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;@charset &quot;utf-8&quot;;
/* CSS Document */

#cabecalho, #rodape {
 background-color:#00CCFF;
}
/* Modo Fixo */

#centralizador {
 margin: 0 auto;
 width: 900px;
}
#colesq, #coldir {
 float: left;
 width: 150px;
}
#centro {
 float:left;
 width: 600px;
}
#corpo {
 display: table;
}

/* Menu Horizontal */

#nav {
 list-style:none;
 display:table;
 margin:0 auto;
 padding:0;
}
#nav li{
 float:left;
 margin:3px 2px;
}
#nav a {
 background-color:#FFFFFF;
 display:block;
 text-align:center;
 text-decoration:none;
 width:50px;
}
#nav a:hover {
 background-color:#333333;
}
&lt;/pre&gt;&lt;p&gt;Bons estudos e divirta-se ;-)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/1070571389663126163/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euconectei.blogspot.com/2011/04/criacao-de-layout-expansivel-ou-fixo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/1070571389663126163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/1070571389663126163'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/2011/04/criacao-de-layout-expansivel-ou-fixo.html' title='Criação de Layout: Expansível ou Fixo?'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2131723985492377822.post-3722486370853444151</id><published>2011-02-22T11:58:00.007-03:00</published><updated>2011-02-22T13:39:09.861-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="padrões"/><category scheme="http://www.blogger.com/atom/ns#" term="tableless"/><category scheme="http://www.blogger.com/atom/ns#" term="usabilidade"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="xHTML"/><title type='text'>Criando formulários com CSS</title><content type='html'>&lt;p&gt;Formatar um formulário semântico e com CSS não tem mistério.&lt;/p&gt;&lt;p&gt;Utilizaremos somente as tags próprias para o formulário. Sem a necessidade de &amp;lt;br&amp;gt;, ou &amp;lt;div&amp;gt;, ou qualquer outra tag que não seja própria do formulário.&lt;/p&gt;&lt;p&gt;Todo e qualquer estilo (tamanho, espaçamento, cores, etc) será dado pelo CSS.&lt;/p&gt;&lt;p&gt;Então vamos ao código:&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
     &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
  &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
  &amp;lt;head&amp;gt;
     &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;
     &amp;lt;title&amp;gt;Documento sem título&amp;lt;/title&amp;gt;
     &amp;lt;link href=&amp;quot;css/estilo.css&amp;quot; type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; /&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
     &amp;lt;form action=&amp;quot;&amp;quot;&amp;gt;
        &amp;lt;fieldset&amp;gt;
           &amp;lt;legend&amp;gt;Dados Pessoais&amp;lt;/legend&amp;gt;
           &amp;lt;label&amp;gt;Nome:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;nome&amp;quot; id=&amp;quot;nome&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Sobrenome:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;sobrenome&amp;quot; id=&amp;quot;sobrenome&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Data de Nascimento:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dtnasc&amp;quot; id=&amp;quot;dtnasc&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;CPF:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;cpf&amp;quot; id=&amp;quot;cpf&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
        &amp;lt;/fieldset&amp;gt;
        &amp;lt;fieldset&amp;gt;
           &amp;lt;legend&amp;gt;Endereço&amp;lt;/legend&amp;gt;
           &amp;lt;label&amp;gt;Logradouro:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;logradouro&amp;quot; id=&amp;quot;logradouro&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Número:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;numero&amp;quot; id=&amp;quot;numero&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Bairro:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;bairro&amp;quot; id=&amp;quot;bairro&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Cidade:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;cidade&amp;quot; id=&amp;quot;cidade&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;UF:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;uf&amp;quot; id=&amp;quot;uf&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
        &amp;lt;/fieldset&amp;gt;
        &amp;lt;fieldset&amp;gt;
           &amp;lt;legend&amp;gt;Mensagem&amp;lt;/legend&amp;gt;
           &amp;lt;label&amp;gt;Assunto:
              &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;assunto&amp;quot; id=&amp;quot;assunto&amp;quot; /&amp;gt;
           &amp;lt;/label&amp;gt;
           &amp;lt;label&amp;gt;Corpo:
              &amp;lt;textarea name=&amp;quot;corpo&amp;quot; id=&amp;quot;corpo&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;
           &amp;lt;/label&amp;gt;
        &amp;lt;/fieldset&amp;gt;
        &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Enviar&amp;quot; /&amp;gt;
        &amp;lt;input type=&amp;quot;reset&amp;quot; value=&amp;quot;Limpar&amp;quot; /&amp;gt;
     &amp;lt;/form&amp;gt;
  &amp;lt;/body&amp;gt;
  &amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;Com esse código pronto, temos agora um formulário básico &lt;del&gt;e desorganizado&lt;/del&gt;.&lt;/p&gt;&lt;p&gt;Começa entao, uma &lt;del&gt;batalha árdua&lt;/del&gt; nova fase de criação dos estilos. Como vemos abaixo:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-css&quot; style=&quot;white-space:pre;&quot;&gt;@charset &quot;utf-8&quot;;
/* CSS Document */

* {
 font:12px &quot;Trebuchet MS&quot;, Arial, Helvetica, sans-serif;
 margin:0;
 padding:0;
}
fieldset {
 border:1px dotted #CCC;
 margin:5px 0;
 padding:5px;
 width:200px;
}
input[type=reset] {
 background-color:#FC0;
 border:none;
 width:100px;
}
input[type=submit] {
 background-color:#0C0;
 border:none;
 margin:0 0 0 3px;
 width:100px;
}
legend {
 background-color:#333;
 color:#CCC;
 font-size:14px;
 padding:5px 10px;
}
label {
 display:block;
 width:200px;
}
label input {
 border:1px solid #AEAEAE;
 margin:0 5px;
 width: 190px;
}
label input:focus {
 border:1px solid #000;
}
textarea {
 border:1px solid #AEAEAE;
 margin:0 5px;
 height:100px;
 width:190px;
}
&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;Como final temos o seguinte &lt;del&gt;desastre&lt;/del&gt; resultado:&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-XxubyMMALHs1MjurT117ppxoPTGfldiY5dg56Rbqa_LKKbJALTk35iqKkV1JmxFgfUJt3pboc_vSztzcicSRx9HvseNj3rWSJhvD3La_nbs8Keirff658n8cTGifraV36HGY-SekaEA/s1600/form.pngg&quot; /&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Bons estudos e divirta-se! ;-)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/3722486370853444151/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euconectei.blogspot.com/2011/02/criando-formularios-com-css.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/3722486370853444151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/3722486370853444151'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/2011/02/criando-formularios-com-css.html' title='Criando formulários com CSS'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-XxubyMMALHs1MjurT117ppxoPTGfldiY5dg56Rbqa_LKKbJALTk35iqKkV1JmxFgfUJt3pboc_vSztzcicSRx9HvseNj3rWSJhvD3La_nbs8Keirff658n8cTGifraV36HGY-SekaEA/s72-c/form.pngg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2131723985492377822.post-6898576848058501943</id><published>2011-01-24T13:36:00.003-02:00</published><updated>2011-01-25T09:12:03.976-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="codificação"/><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="padrões"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="xHTML"/><title type='text'>Servindo HTML &amp; XHTML</title><content type='html'>Este artigo descreve de maneira sumária alguns aspectos de como os servidores enviam o XHTML para os agentes de usuário (p. ex.: um navegador), bem como a maneira como estes agentes processam a marcação recebida. Trata-se de uma descrição de itens específicos e não de uma norma do W3C.&lt;br /&gt;
&lt;br /&gt;
Os tópicos desse artigo se inspiram na FAQ &lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/International/questions/qa-html-encoding-declarations&quot;&gt;como declarar codificação de caracteres em um documento HTML ou XHTML&lt;/a&gt;.  As informações aqui contidas esclarecem também o porquê de certos aspectos da estilização via CSS não surtirem o efeito planejado, ou mesmo sofrer variações de um agente de usuário para outro.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;a id=&quot;mime&quot; name=&quot;mime&quot; href=&quot;#mime&quot;&gt;Tipos de &lt;acronym&gt;MIME&lt;/acronym&gt;&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;
Quando o servidor envia um documento para o navegador, envia também informações adicionais com o documento denominadas de &lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/International/articles/definitions-characters/#httpheader&quot; class=&quot;dfn&quot;&gt;Cabeçalho HTTP&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
O campo Content-Type do cabeçalho HTTP descreve o tipo de dado que está sendo enviado. Essa informação é passada em um rótulo definindo o tipo de MIME da mídia. Observe a seguir um cabeçalho HTTP para um arquivo HTML usando o tipo de MIME text/html. Notar que o campo Content-Type pode, também, expressar a codificação de caracteres do documento.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; style=&quot;white-space:pre;&quot;&gt;HTTP/1.1 200 OK
Date: Wed, 05 Nov 2003 10:46:04 GMT
Server: Apache/1.3.28 (Unix) PHP/4.2.3
Content-Location: CSS2-REC.en.html
Vary: negotiate,accept-language,accept-charset
TCN: choice
P3P: policyref=http://www.w3.org/2001/05/P3P/p3p.xml
Cache-Control: max-age=21600
Expires: Wed, 05 Nov 2003 16:46:04 GMT
Last-Modified: Tue, 12 May 1998 22:18:49 GMT
ETag: &quot;3558cac9;36f99e2b&quot;
Accept-Ranges: bytes
Content-Length: 10734
Connection: close
&lt;span style=&quot;border-bottom-color: rgb(255, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(255, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(255, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(255, 0, 0); border-top-style: solid; border-top-width: 1px;&quot;&gt;Content-Type: text/html; charset=utf-8&lt;/span&gt;
Content-Language: en
&lt;/pre&gt;&lt;p&gt;O tipo de MIME &lt;em&gt;text/html&lt;/em&gt; é a escolha natural para documentos HTML. Quando um navegador recebe um arquivo com esse tipo de MIME assume que a marcação segue a sintaxe HTML e &lt;em&gt;usa um parser HTML para interpretar a marcação&lt;/em&gt;. &lt;/p&gt;&lt;p&gt;Ao contrário da HTML a XHTML é uma linguagem de marcação baseada na XML. A sintaxe XML é diferente da sintaxe HTML e os processadores  XML são bem mais rigorosos no tratamento de erros de marcação.  Conteúdos desenvolvidos em conformidade com a XML devem ser bem formados e válidos além de estarem perfeitamente integrados aos mecanismos de leitura das ferramentas de processamento, de transporte de dados e automação existentes no mundo da XML. Muitos desenvolvedores preferem usar XHTML em função do rigor que a XML impõe à edição e processamento dos documentos.&lt;/p&gt;&lt;p&gt;Para servir marcação XHTML, ao navegador, como XML você deve usar um dos seguintes tipos de MIME: &lt;em&gt;application/xhtml+xml&lt;/em&gt;, &lt;em&gt;application/xml&lt;/em&gt; ou &lt;em&gt;text/xml&lt;/em&gt;. O W3C &lt;a href=&quot;http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801/&quot;&gt;recomenda&lt;/a&gt; que para servir XHTML como XML se use o primeiro dos tipos de MIME citados, ou seja, &lt;em&gt;application/xhtml+xml&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;O navegador lê XML &lt;em&gt;usando um parser XML e não um parser HTML&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Infelizmente o navegador Internet Explorer nas suas versões 8 e anteriores não suportam arquivos servidos como XML, embora muitos outros navegadores suportem. Para contornar o problema de suporte à XML pelos navegadores a maioria dos arquivos são servidos com uso do tipo de MIME &lt;em&gt;text/html&lt;/em&gt;. Nesses casos  &lt;em&gt;o agente de usuário trata os arquivos como se fossem HTML e usam um parser HTML&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Se o navegador tratar XML como HTML você deve estar atento às difereças de formato entre as duas marcações quando escrever XHTML para assegurar-se de que as diferenças entre a sintaxe XML e HTML não confundam o navegador. Essa atenção deve estar voltada também para as diferentes maneiras de codificação de caracteres  e declaração de idioma no documento.&lt;/p&gt;&lt;p&gt;O &lt;a href=&quot;http://www.maujor.com/w3c/xhtml10_2ed.html#guidelines&quot;&gt;Apêndice C&lt;/a&gt; da especificação para a XHTML recomenda algumas diretrizes de compatibilidade para servir XHTML como HTML. Elas são particularmente importantes para versões antigas de navegadores. Aquelas diretrizes recomendam, entre outras coisas, que se deixe um espaço em branco antes de &#39;/&amp;gt;&#39; no final de uma tag de fechamento (tais como, &lt;em&gt;img&lt;/em&gt;, &lt;em&gt;hr&lt;/em&gt; ou &lt;em&gt;br&lt;/em&gt;), que se use tanto a o atributo  &lt;em&gt;lang&lt;/em&gt; da HTML como o atributo &lt;em&gt;xml:lang&lt;/em&gt; da XML, que se use os atributos &lt;em&gt;id&lt;/em&gt; e &lt;em&gt;name&lt;/em&gt; para fragmentos identificadorees (âncoras), etc.&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;&lt;a id=&quot;quirks&quot; name=&quot;quirks&quot; href=&quot;#quirks&quot;&gt;Modo &#39;Standards&#39; versus modo &#39;Quirks&#39;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Os navegadores atuais estão aptos a apresentar um arquivo HTML tanto no &lt;dfn&gt;modo standards&lt;/dfn&gt; com no &lt;dfn&gt;modo quirks&lt;/dfn&gt;. Isso significa que diferentes regras são aplicadas para apresentar um documento, umas para comportamento segundo as recomendações do W3C e outras para comportamentos não standards para versões antigas de navegadores.&lt;/p&gt;&lt;p&gt;Nas versões mais recentes da maioria dos navegadores o modo standards é acionado pela presença da  &lt;dfn&gt;&lt;a href=&quot;http://www.w3.org/QA/2002/04/valid-dtd-list.html&quot; hreflang=&quot;en&quot;&gt;declaração do DOCTYPE&lt;/a&gt;&lt;/dfn&gt;. A ausência de um DOCTYPE pode resultar em diferentes renderizações de um navegador para outro.&lt;/p&gt;&lt;p&gt;As imagens a seguir mostram tais diferenças de renderização&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Documento renderizado em modo standards.&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/standards.html&quot;&gt;&lt;img src=&quot;http://www.w3.org/International/articles/serving-xhtml/images/standards-scan.png&quot; alt=&quot;Imagem da renderização de um arquivo em modo standards.&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;O mesmo documento renderizado em modo quirks.&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/quirks.html&quot;&gt;&lt;img src=&quot;http://www.w3.org/International/articles/serving-xhtml/images/quirks-scan.png&quot; alt=&quot;Imagem da renderização do mesmo arquivo em modo quirks.&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Clique as imagens para abrir a página HTML correspondente. Se você abrir as páginas no Internet Explorer vai constatar as diferenças mostradas nas imagens.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;As duas imagens mostram a renderização de duas páginas com marcação HTML e estilização CSS exatamente iguais.  A única diferença entre elas que a página mostrada na figura à esquerda tem no início da sua marcação uma declaração DOCTYPE  e a da direita não tem a declaração. Um arquivo marcado com uma declaração de DOCTYPE apropriada normalmente é renderizado em modo standards pela maioria dos navegadores mais recentes. A falta de um DOCTYPE na marcação causa renderização em modo quirks.&lt;/p&gt;&lt;p&gt;As diferenças visuais mostradas nas imagens resultam na adoção de critérios em desacordo com os Padrões Web para implementações de renderização em diferentes navegadores, tais como o Internet Explorer:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Em modo quirks a largura definida por regra CSS para o div não considera quaisquer acréscimos  de larguras definidas para padding e border e em modo standards essas larguras são somadas – essa é a razão porque o box mostrado na figura à esquerda (modo standars) e mais largo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Em modo quirks a tabela não herda a definição CSS de font size para o elemento body - essa é a razão porque o texto tem fonte maior nesse modo.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;A finalidade original do DOCTYPE é fornecer informações sobre a linguagem de marcação do documento.  Observe a seguir um exemplo mostrando a declaração de DOCTYPE no início da marcação (destaque com borda na cor &lt;span class=&quot;noprint&quot;&gt;vermelha &lt;/span&gt;).&lt;/p&gt;&lt;pre class=&quot;prettyprint&quot;&gt;&lt;span style=&quot;border:1px solid #F00;&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;&lt;/span&gt;
&amp;lt;html xml:lang=&quot;en&quot; lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt; 
&amp;lt;head&amp;gt; 
    &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&amp;gt; 
    &amp;lt;title&amp;gt;XHTML document&amp;lt;/title&amp;gt; 
    &amp;lt;style type=&quot;text/css&quot;&amp;gt;
    body { background: white; color: black; font-family: arial, sans-serif; font-size: 12px; }
    p { font-size: 100%; }
    h1 { font-size: 16px; }
    div { margin: 20px; width: 170px; padding: 50px; border: 6px solid teal; }
    table { border: 1px solid teal; }
    &amp;lt;/style&amp;gt; 
    &amp;lt;/head&amp;gt; 

&amp;lt;body&amp;gt; 
    &amp;lt;h1&amp;gt;Test file for Standards/Quirks&amp;lt;/h1&amp;gt; 
    &amp;lt;div&amp;gt;
        A div with CSS width:170px, margin:20px, padding:50px and border:6px.
        &amp;lt;/div&amp;gt; 
    &amp;lt;p&amp;gt;Text in a p element.&amp;lt;/p&amp;gt;
    &amp;lt;table&amp;gt; 
        &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Text in a table.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; 
        &amp;lt;/table&amp;gt;
    &amp;lt;/body&amp;gt; 
&amp;lt;/html&amp;gt; 
&lt;/pre&gt;&lt;p&gt;Diz-se que navegadores que se comportam de maneira diferente de acordo com o modo processam o &lt;dfn&gt;chaveamento do DOCTYPE &lt;/dfn&gt;.&lt;/p&gt;&lt;p&gt;A princípio é uma boa ideia servir suas páginas web em modo standards, isto é, declare sempre um DOCTYPE.&lt;/p&gt;&lt;h3&gt;&lt;a id=&quot;declaration&quot; name=&quot;declaration&quot; href=&quot;#declaration&quot;&gt;Os &lt;acronym&gt;DOCTYPEs&lt;/acronym&gt; e a declaração &lt;acronym&gt;XML&lt;/acronym&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Um aspecto relacionado ao uso de DOCTYPEs tem importância decisiva na declaração de caracteres e na correta aplicação de estilos.&lt;/p&gt;&lt;p&gt;Pelo fato que XHTML 1.0 é baseada em XML é possível inserir no início da marcação uma &lt;a class=&quot;dfn&quot; href=&quot;/International/questions/qa-html-encoding-declarations#xmldeclaration&quot;&gt;declaração XML&lt;/a&gt; ainda que o documento seja servido como HTML. Observe a inserção dessa declaração na marcação mostrada anteriormente (a declaração XML foi destacada em itálico e na cor vermelha.):&lt;/p&gt;&lt;blockquote&gt;&lt;pre class=&quot;prettyprint&quot;&gt;&lt;span style=&quot;border:1px solid #F00;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&amp;gt;&lt;/span&gt;
&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;
&amp;lt;html xml:lang=&quot;en&quot; lang=&quot;en&quot; xml‎ns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
&amp;lt;head&amp;gt;
...&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Em navegadores como os Internet Explorer 7, Firefox, Safari, Opera, Google Chrome e outros a presença ou não da declaração XML em uma marcação contendo um DOCTYPE causa a renderização em modo stanrd.&lt;/p&gt;&lt;p&gt;Contudo, no Internet Explorer 6 qualquer marcação, exceto  &lt;a href=&quot;/International/questions/qa-byte-order-mark&quot; class=&quot;dfn&quot;&gt;byte-order mark&lt;/a&gt;, inserida antes do DOCTYPE causa a renderização em modo quirks.&lt;/p&gt;&lt;p&gt;O Internet Explorer 6 ainda é muito usado é isso pode ser um problema. Se você quer se assegurar que suas páginas são renderizadas consistentemente nos demais navegadores standards você precisa saber lidar com isso.&lt;/p&gt;&lt;p&gt;É óbvio que se o seu documento foi criado com marcação que não é afetada pelas diferenças de renderização entre os modos standards e quirks isso não é um problema. Mas, se por outro lado a marcação pode causar renderizção inconsistente você precisa lançar mão de artifícios CSS para acabar com as diferenças ou então omitir a declaração XML.&lt;/p&gt;&lt;p&gt;Lembre-se que ao omitir a declaração XML você deverá optar por uma codificação de caracteres em UTF-8 ou UTF-16 para sua página. (Ver &lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/International/questions/qa-html-encoding-declarations&quot;&gt;&lt;cite&gt;Declaração de codificação de caracteres em HTML&lt;/cite&gt;&lt;/a&gt; para esclarecimentos sobre as consequências da declaração de caracteres.)&lt;/p&gt;&lt;br /&gt;
Fonte: &lt;a href=&quot;http://www.w3.org/International/articles/serving-xhtml/&quot; Title=&quot;W3C&quot; Alt=&quot;W3C&quot;&gt;W3C&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/6898576848058501943/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euconectei.blogspot.com/2011/01/servindo-html-xhtml.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/6898576848058501943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/6898576848058501943'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/2011/01/servindo-html-xhtml.html' title='Servindo HTML &amp; XHTML'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2131723985492377822.post-8377229764019352352</id><published>2011-01-21T11:12:00.005-02:00</published><updated>2011-01-24T14:42:34.997-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento"/><category scheme="http://www.blogger.com/atom/ns#" term="padrões"/><category scheme="http://www.blogger.com/atom/ns#" term="usabilidade"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Desenvolvimento Web: dicas e sermões</title><content type='html'>A web hoje é um fenômeno que está  crescendo a cada dia, e a medida que ela cresce, cresce também parte  daqueles que fazem a Web: os Web Designers, Web Master e por ai vai. O  que acontece é que muitos desses “profissionais”, aprendem a trabalhar  com duas ou até três ferramentas, e saem desenvolvendo sites e mais  sites que mais se parecem com um misturado de gambiarras sem sentido. &lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Este post irá reunir alguns tópicos  sobre o desenvolvimento Web em geral, abordando desde algumas dicas à  alguns sermões para os profissionais da Web.&lt;/div&gt;&lt;span id=&quot;more-5931&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;Use todos os seletores CSS avançados&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Você  realmente conhece a fundo o CSS? Nesta dica irei reunir algumas formas  avançadas de selecionar elementos para definir os estilos.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Attribute selectors&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nesse  tipo de seletor ele irá pegar um elemento baseado em algum atributo  definido no XHTML. No exemplo abaixo todos os elementos &lt;b&gt;img&lt;/b&gt; com a propriedade &lt;i&gt;alt&lt;/i&gt; definida serão afetados pelo estilo:&lt;/div&gt;&lt;pre class=&quot;prettyprint lang-css&quot;&gt;img[alt] {
   border: 1px dotted #999;
}
&lt;/pre&gt;Um outro exemplo é aplicar o estilo dependendo do conteúdo dos atributos:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-css&quot;&gt;p[class=&quot;title&quot;]{
   font-size:16px;
   color:green;
}
&lt;/pre&gt;Neste caso, todos os parágrafos que tenham a classe &lt;i&gt;title&lt;/i&gt; serão afetados pelo estilo.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Child selectors&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;Um &lt;i&gt;child selector&lt;/i&gt; atinge o filho “direto” de um elemento. Por exemplo, suponha que tenhamos a seguinte marcação:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-html&quot;&gt;&amp;lt;div&amp;gt;
   &amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Teste&amp;lt;/a&amp;gt;
   &amp;lt;ul&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;##&amp;quot;&amp;gt;Teste1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;##&amp;quot;&amp;gt;Teste2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;Perceba que somente o primeiro link é que é um filho direto da &lt;i&gt;div&lt;/i&gt;, os outros links são filhos diretos da lista e não da &lt;i&gt;div&lt;/i&gt;.&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-css&quot;&gt;div &gt; a {
   color: black;
}
&lt;/pre&gt;O estilo acima só irá afetar o primeiro link, uma vez que ele é filho direto da &lt;i&gt;div&lt;/i&gt;.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Adjacent sibling selectors&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Este tipo de seletor consiste em pegar o elemento que possui o mesmo pai e que esta imediatamente após outro seletor.&lt;/div&gt;&lt;pre class=&quot;prettyprint lang-html&quot;&gt;&amp;lt;h2&amp;gt;Título&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Este aqui será estilizado&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Este aqui não será estilizado&amp;lt;/p&amp;gt;
&lt;/pre&gt;&lt;div style=&quot;text-align: left;&quot;&gt;E com o seguinte CSS, somente o primeiro parágrafo será estilizado.&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-css&quot;&gt;h2 + p {
   color: red;
}
&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Existem  muitas outros seletores, não poderei abordar todos para não deixar o  post muito grande. Mas isso serve como um incentivo para vocês buscarem  conhecer mais. &lt;img alt=&quot;:D&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.iotecnologia.com.br/wp-includes/images/smilies/icon_biggrin.gif&quot; /&gt; &lt;/div&gt;&lt;h3&gt;Use convenções de nomes&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Quem aqui já desenvolveu um site e não  se preocupou muito com a organização, sabe a grande dor de cabeça que  isto dá, por isso, uma outra dica que eu dou é usar convenções de nomes  para os seus elementos. E claro, nunca misture inglês com português, use  somente um idioma.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Abaixo uma lista de convenções de nomes geralmente usadas (em inglês):&lt;/div&gt;&lt;ul&gt;&lt;li&gt;#branding&lt;/li&gt;
&lt;li&gt;#content_sub&lt;/li&gt;
&lt;li&gt;#content_main&lt;/li&gt;
&lt;li&gt;#content_supp&lt;/li&gt;
&lt;li&gt;#nav_main&lt;/li&gt;
&lt;li&gt;#nav_sub&lt;/li&gt;
&lt;li&gt;#site_info&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Instale as extensões Firebug e Web Developer&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Eu acredito que a grande maioria dos  desenvolvedores Web utilizam o Firefox para seu ambiente de produção.  Caso você não use, recomendo fortemente que o faça agora. O Firefox  possui duas extensões poderosas e que auxiliam e muito o desenvolvimento  de páginas web: Firebug e Web Developer.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Você pode baixá-las aqui: &lt;a href=&quot;http://getfirebug.com/&quot; target=&quot;_blank&quot;&gt;http://getfirebug.com/&lt;/a&gt; e &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/60/&quot; target=&quot;_blank&quot;&gt;https://addons.mozilla.org/en-US/firefox/addon/60/&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Quando você instala essas extensões, é  criada uma barra na parte superior do navegador, com diversas opções do  Web Developer. O Firebug fica no canto direito inferior da tela. Após  instalar o Firebug irá aparecer um ícone de um inseto que ao ser clicado  irá abrir o Firebug.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Com o Web Developer podemos editar o CSS  enquanto estamos visualizando a página no navegador e obter o resultado  na medida que fazemos as alterações. Podemos também ver diversas  informações da página. Uma função que eu gosto muito é a de exibir a  topografia. Vá em informações &amp;gt; Exibir topografia e veja o resultado.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Usando Firebug podemos facilmente  descobrir onde está determinado elemento ou a que elemento pai um  elemento filho pertence. Com o Firebug instalado e o Firefox aberto,  clique no ícone do inseto para abrir o Firebug.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;aligncenter size-full wp-image-5946&quot; height=&quot;193&quot; src=&quot;http://www.iotecnologia.com.br/wp-content/uploads/2011/01/firebug.jpg&quot; title=&quot;firebug&quot; width=&quot;681&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Clique agora no ícone da setinha azul, a  segunda opção da esquerda para a direita. Após fazer isso passe o mouse  por cima da página, você vai perceber que ele vai selecionando os  elementos, quando você clicar em algum elemento ele irá mostrar o XHTML e  o CSS daquele elemento.&lt;/div&gt;&lt;h3&gt;Separe o estilo do conteúdo&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Já se foi a época em que usávamos o HTML para definir o visual das páginas Web, hoje em dia  &lt;b&gt;devemos &lt;/b&gt;utilizar  o CSS para este fim. O XHTML é onde definimos a marcação e colocamos o  conteúdo, somente isso! Todo a estilização é feita via CSS. Uma forma  interessante de ver se você está fazendo a coisa certa é verificar como  sua página fica sem o CSS. Se ela ainda possuir fontes customizadas,  fontes coloridas, backgrounds  e etc, isso é um mal sinal, pois você  está usando o XHTML para estilizar sua página. Com o Web Developer é  possível verificar como a página fica sem o CSS.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para fazer isso vá em “Nenhum erro de  CSS &amp;gt; Desativar estilos &amp;gt; Todos os estilos”, após fazer isso o CSS  será desativado e o navegador só ira renderizar o XHTML.&lt;/div&gt;&lt;h3&gt;Teste em todos os navegadores&lt;/h3&gt;Um outro ponto de  suma importância: teste o site em todos os navegadores, não há nada mais  desagradável do que ver um site funcionar perfeitamente em um navegador  mas em outro navegador ele está com erros. Um exemplo é o site da &lt;a href=&quot;http://wizard.com.br/&quot; target=&quot;_blank&quot;&gt;Wizard&lt;/a&gt; . Até o presente momento ele está com o layout quebrado no &lt;a href=&quot;http://www.iotecnologia.com.br/o-google-e-seus-nmeros/&quot; title=&quot;Google&quot;&gt;Google&lt;/a&gt; Chrome.&lt;br /&gt;
&lt;h3&gt;Preze pela acessibilidade&lt;/h3&gt;Você sabe o que é  acessibilidade? Você sabe as técnicas utilizadas para prover uma  acessibilidade? Se você não sabe responder essas perguntas,  provavelmente seus sites são bastantes inacessíveis.&lt;br /&gt;
Propriedades como &lt;i&gt;alt&lt;/i&gt; e &lt;i&gt;title&lt;/i&gt; são essenciais para  uma boa acessibilidade. Imagine que você tem uma imagem como um link, um  internauta cego, logicamente não vai conseguir ver a sua página, então  ele usa um leitor de tela.&lt;br /&gt;
Quando o leitor de tela vê uma imagem, ele procura por propriedades como &lt;i&gt;alt&lt;/i&gt; e &lt;i&gt;title&lt;/i&gt;,  que descrevem o que é aquilo. Dessa forma um internauta cego  conseguiria saber do que se trata aquele link. Se não houver um atributo  deste tipo, provavelmente o leitor de tela irá ler o destino do link. O  que não seria nada esclarecedor para o internauta.&lt;br /&gt;
Agora vamos mudar de situação, imagine um internauta que não consiga  usar o mouse, ou que tenhas dificuldades de usar o mouse, então ele usa  na maior parte do tempo o teclado para trabalhar no computador. Imagine  aqueles famosos menus que quando passamos o mouse em cima aparece o  submenu, como o deficiente iria conseguir imaginar que ali tem submenus?&lt;br /&gt;
Outra dificuldade seria navegar pela página, navegar pelos links  utilizando apenas o teclado. Para problemas desse tipo existe o &lt;i&gt;tabindex&lt;/i&gt;,  uma propriedade que define a “prioridade” de cada elemento. Ou seja  quando pressionarmos a tecla TAB os elementos serão selecionados de  acordo com a prioridade definida pela propriedade &lt;i&gt;tabindex&lt;/i&gt;.&lt;br /&gt;
Você pode estar sentindo falta de um apelo anti-flash, mas isso é  assunto para um post inteiro, então para finalizar deixo esses vídeos  que falam&amp;nbsp; muito sobre acessibilidade, é um pouco grande mas vale muito a  pena assistir. Espero que após verem esses vídeos, seus sites sejam  mais acessíveis.&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;youtube-player&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/NfF8KBy9U6I&quot; title=&quot;YouTube video player&quot; type=&quot;text/html&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;youtube-player&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/OWgtRerb2Xc&quot; title=&quot;YouTube video player&quot; type=&quot;text/html&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte: &lt;a alt=&quot;I/O Tecnologia&quot; href=&quot;http://www.iotecnologia.com.br/desenvolvimento-web-dicas-e-sermoes&quot; title=&quot;I/O Tecnologia&quot;&gt;I/O Tecnologia&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/8377229764019352352/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euconectei.blogspot.com/2011/01/desenvolvimento-web-dicas-e-sermoes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/8377229764019352352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/8377229764019352352'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/2011/01/desenvolvimento-web-dicas-e-sermoes.html' title='Desenvolvimento Web: dicas e sermões'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/NfF8KBy9U6I/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2131723985492377822.post-5966849489743490358</id><published>2011-01-21T10:26:00.000-02:00</published><updated>2011-01-21T11:27:41.524-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento"/><category scheme="http://www.blogger.com/atom/ns#" term="padrões"/><title type='text'>Padrões de Projeto: o que são e por que usá-los</title><content type='html'>&lt;div align=&quot;justify&quot;&gt;Se você estuda, simpatiza ou trabalha em alguma área  relacionada ao desenvolvimento de software, talvez já tenha ouvido falar  em Padrões de Projeto, ou pelo menos já tenha esbarrado por aí com o  termo Design Pattern. Nesse post explicarei o que são, para que servem e  citar algumas vantagens do uso de tais padrões no desenvolvimento de  softwares orientados a objetos.&lt;/div&gt;&lt;span id=&quot;more-6010&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;&lt;b&gt;O que é um Padrão de Projeto?&lt;/b&gt;&lt;br /&gt;
A definição clássica dos padrões estabelece que um padrão é uma forma de &lt;i&gt;“descrever  soluções para problemas recorrentes no desenvolvimento de sistemas de  software orientados a objetos. Um padrão de projeto estabelece um nome e  define o problema, a solução, quando aplicar esta solução e suas  conseqüências”&lt;/i&gt;.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Trocando em miúdos, os padrões estabelecem algumas  técnicas genéricas que podem ser utilizadas para resolver algum tipo de  problema de desenvolvimento. Como ninguém gosta de “reinventar a roda”,  surgiram os primeiros padrões de projeto, que acabaram auxiliando os  demais desenvolvedores em seus problemas semelhantes.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Imagine que você está escrevendo uma classe que só  poderá ser instanciada uma única vez, como você fará isso? E se você  quiser encapsular as chamadas ao banco de dados? E se você precisar  encontrar uma maneira para alterar o comportamento dos seus objetos em  tempo de execução? E se você quiser encapsular a criação de objetos? E  se você quiser que o seu web site tenha todos os seus componentes  separados por responsabilidades? Num primeiro momento, você talvez  quebre um pouco a cabeça e acabe bolando uma maneira de resolver todos  esses problemas, porém se você já tivesse conhecimento sobre os padrões &lt;i&gt;&lt;b&gt;DAO, Singleton, Strategy, Factory&lt;/b&gt;&lt;/i&gt; e o conjunto de padrões do &lt;i&gt;&lt;b&gt;MVC&lt;/b&gt;&lt;/i&gt; talvez você não tivesse tanta dor de cabeça e não teria gasto tanto tempo &lt;del&gt;reinventando a roda&lt;/del&gt;.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Perceba que um padrão não lhe dará o código da sua  classe prontinho, ao invés disso ele lhe servirá para lhe elucidar em  relação a solução do problema. O fato que prova isto é que raramente os  desenvolvedores irão seguir “à risca” o que sugere o padrão, fazendo  algumas adaptações acerca da sugestão original.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Um ponto que muita gente se engana, é quando alguém diz que &lt;i&gt;“padrões são coisas do Java ou do PHP”&lt;/i&gt;.  Perceba que no inicio do post eu falei que os padrões estabelecem  técnicas genéricas, portanto estas não estão ligadas a nenhuma linguagem  específica, e sim aos problemas de desenvolvimento de softwares OO.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;b&gt;&lt;br /&gt;
Por que usar os Padrões de Projeto?&lt;/b&gt;&lt;br /&gt;
Além de evitar que você &lt;strike&gt;perda&lt;/strike&gt; perca tempo reinventando a roda, os padrões lhe  sugerem uma solução bacana do ponto de vista OO. O que pretendo dizer é  que o uso deles nos ajudam a desenvolver um projeto com bom nível de  coesão e reusabilidade, o que facilita o processo de &lt;a href=&quot;http://www.iotecnologia.com.br/categoria/manutencao&quot; title=&quot;manutenção&quot;&gt;manutenção&lt;/a&gt;  do software. Lembre-se que a manutenção é justamente o que toma o maior  período do tempo de vida de qualquer projeto de desenvolvimento.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Outro ponto, não menos importante, é que muitas vezes  você não está desenvolvendo um projeto sozinho. Se toda a equipe está  familiarizada com os Patterns você poderá economizar bastante tempo caso  seja necessário explicar como você desenvolveu uma funcionalidade  qualquer, fazendo com que você não precise ‘baixar o nível’. Ao invés de  dizer &lt;i&gt;“fiz com que o construtor da classe não pudesse ser visível  às demais e coloquei um método getInstance pra retornar a única  instância da classe”&lt;/i&gt;, você simplesmente diz: &lt;i&gt;“usei o Singleton”&lt;/i&gt;.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;A partir do momento que você sabe utilizar os Design  Patterns de forma coerente, podemos dizer que você é, de fato, um bom  desenvolvedor OO.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;b&gt;&lt;br /&gt;
Quero saber qual caminho seguir pra estudar sobre o assunto&lt;/b&gt;&lt;br /&gt;
Uma forma é buscar as definições dos padrões no &lt;a href=&quot;http://www.iotecnologia.com.br/o-google-e-seus-nmeros/&quot; title=&quot;Google&quot;&gt;Google&lt;/a&gt;,  principalmente pelas definições “oficiais”. Os principais padrões são  os do GoF (Gang Of Four) e os J2EE (voltados para projetos  empresariais). Recomendo estudá-los nesta ordem e depois buscar outros  padrões de acordo com a sua necessidade.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Se você prefere um estudo mais formal, recomendo os livros:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Design Patterns: Elements of Reusable Object-Oriented Software (mais completo)&lt;/li&gt;
&lt;li&gt;Head First: Design Patterns ou Use a Cabeça: Padrões de Projeto (pra quem gosta da série)&lt;/li&gt;
&lt;/ul&gt;Infelizmente não achei o primeiro livro em nenhuma loja, apenas sua versão traduzida que encontrei &lt;a href=&quot;http://www.submarino.com.br/produto/1/93924/?franq=282801&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;. Já o segundo livro eu encontrei &lt;a href=&quot;http://www.submarino.com.br/produto/9/303805/?franq=282801&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt; e sua versão traduzida &lt;a href=&quot;http://www.livrariasaraiva.com.br/produto/1995765&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;. &lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;Bom gente, é isso… Qualquer dúvida, crítica ou  sugestão que vocês tenham, deixem nos comentários! Espero que o post  tenha ajudado a vocês a ter uma noção geral sobre Design Patterns. Até a  próxima!&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Fonte:&lt;a alt=&quot;I/O Tecnologia&quot; href=&quot;http://www.iotecnologia.com.br/padroes-de-projeto-o-que-sao-por-que-usar&quot; title=&quot;I/O Tecnologia&quot;&gt;I/O Tecnologia&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euconectei.blogspot.com/feeds/5966849489743490358/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euconectei.blogspot.com/2011/01/padroes-de-projeto-o-que-sao-e-por-que.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/5966849489743490358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2131723985492377822/posts/default/5966849489743490358'/><link rel='alternate' type='text/html' href='http://euconectei.blogspot.com/2011/01/padroes-de-projeto-o-que-sao-e-por-que.html' title='Padrões de Projeto: o que são e por que usá-los'/><author><name>euconectei</name><uri>http://www.blogger.com/profile/01936583778988136651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-f4ZDUybNHhBnt9JBdP6Cg2vlun6p5uVkj7VgagI-kckaV49J_NEgoZPl3sSpiKSZPz37sf-MmztXUl7T4YAlUw6Vv2gIp1kuJuxdm1pF7S9wWWPfFlMKSqT7T_wCpM/s220/eu.jpg'/></author><thr:total>0</thr:total></entry></feed>