SlideShare une entreprise Scribd logo
1  sur  42
XHTML/CSS<br />InMeta Agência Digital<br />Conteúdo TOC  quot;
1-3quot;
    Módulo 1 (HTML) PAGEREF _Toc261013594  3História PAGEREF _Toc261013595  3Conceito PAGEREF _Toc261013596  3HTML PAGEREF _Toc261013597  3XHTML PAGEREF _Toc261013598  4Tags PAGEREF _Toc261013599  4Regras Básicas do uso de Tags PAGEREF _Toc261013600  5XHTML (Conceitos Básicos) PAGEREF _Toc261013601  5Strict PAGEREF _Toc261013602  6Transitional PAGEREF _Toc261013603  6Frameset PAGEREF _Toc261013604  6Página XHTML PAGEREF _Toc261013605  7Cabeçalho (<head>) PAGEREF _Toc261013606  7Corpo (<body>) PAGEREF _Toc261013607  7Links PAGEREF _Toc261013608  14Indentação PAGEREF _Toc261013609  24SEO + XHTML PAGEREF _Toc261013610  24Módulo 2 (CSS) PAGEREF _Toc261013611  27História PAGEREF _Toc261013612  27Como Surgiu PAGEREF _Toc261013613  27Como Está hoje PAGEREF _Toc261013614  27Conceito PAGEREF _Toc261013615  27Estrutura PAGEREF _Toc261013616  28Inserção de CSS no HTML PAGEREF _Toc261013617  28Seletores PAGEREF _Toc261013618  29Sintaxe PAGEREF _Toc261013619  29A importância do float: left; PAGEREF _Toc261013620  30Estruturando uma página PAGEREF _Toc261013621  32Diferença entre Browsers PAGEREF _Toc261013622  36Módulo 3 (Imagens) PAGEREF _Toc261013623  37Para que servem as imagens? PAGEREF _Toc261013624  37Começando do começo PAGEREF _Toc261013625  37Exemplos PAGEREF _Toc261013626  38Referência PAGEREF _Toc261013627  42<br />Módulo 1 (HTML)<br />História<br />Tim Berners-Lee criou o HTML original (e outros protocolos  associados como o HTTP) em uma estação NeXTcube usando o ambiente de desenvolvimento NeXTSTEP. Na época a linguagem não era uma especificação, mas uma coleção de ferramentas para resolver um problema de Tim: a comunicação e disseminação das pesquisas entre ele e seu grupo de colegas. Sua solução, combinada com a então emergente internet pública (que tornaria-se a Internet) ganhou atenção mundial.<br />As primeiras versões do HTML foram definidas com regras sintáticas flexíveis, o que ajudou aqueles sem familiaridade com a publicação na Web. Atualmente a sintaxe do HTML é muito mais rígida, permitindo um código mais preciso. Através do tempo, a utilização de ferramentas para autoria de HTML aumentou, assim como a tendência em tornar a sintaxe cada vez mais rígida. Apesar disso, por questões históricas (retrocompatibilidade), os navegadores ainda hoje conseguem interpretar páginas web que estão longe de ser um código HTML válido.<br />A linguagem foi definida em especificações formais na década de 1990, inspiradas nas propostas originais de Tim Berners-Lee em criar uma linguagem baseada em SGML para a Internet. A primeira publicação foi esboçada por Berners-Lee e Dan Connolly, e publicada em 1993 na IETF como uma aplicação formal para o SGML (com uma DTD em SGML definindo a gramática). A IETF criou um grupo de trabalho para o HTML no ano seguinte, e publicou o HTML 2.0 em 1995. Desde 1996, as especificações HTML vêm sendo mantidas, com o auxílio de fabricantes de software, pela World Wide Web Consortium (W3C). Apesar disso, em 2000 a linguagem tornou-se também uma norma internacional (ISO/IEC 15445:2000). A última especificação HTML lançada pela W3C foi a recomendação HTML 4.01, publicada no final de 1999. Uma errata ainda foi lançada em 2001.<br />Desde a publicação do HTML 3.5 no final de 1997, o grupo de trabalho da W3C tem cada vez mais — e de 2002 a 2006, de forma exclusiva — focado no desenvolvimento do XHTML, uma especificação HTML baseada em XML que é considerada pela W3C como um sucessor do HTML.O XHTML faz uso de uma sintaxe mais rigorosa e menos ambígua para tornar o HTML mais simples de ser processado e estendido.<br />Conceito<br />HTML<br />HTML significa Hyper Text Markup Language em português linguagem de marcação de hipertexto, ou seja, é a linguagem na qual são escritas as páginas da Web.<br />Toda página é transferida de um computador remoto para o usuário, onde o browser faz o trabalho de interpretação dos códigos daquele documento e mostra a página que o usuário vê. <br />XHTML<br />XHTML é a sigla em inglês para EXtensible HyperText Markup Language que em português resulta em Linguagem de Marcação para Hipertexto Extensível, uma aplicação XML, escrita para substituir o HTML e nada mais é do que um HTML quot;
padronizado, claro e limpoquot;
.<br />XHTML surgiu quando o HTML sofreu o que parece ser sua maior evolução com a adição de aplicações da meta-linguagem XML (EXtensible Markup Language).<br />XHTML é uma linguagem de marcação bastante familiar para quem conhece HTML e a transformação de um documento existente de HTML para XHTML é uma tarefa bem simples na maioria dos casos.<br />Quais as vantagens de se usar XHTML<br />Tempo de carregamento da página<br />Uma página XHTML é mais rápida pois os browsers tem a interpretar uma página limpa sem ter que decidir sobre renderização de erros de código;<br />Portabilidade<br />Uma página XHTML é mais acessível a aplicações do usuário, incrementando a interoperabilidade e a portabilidade dos documentos web;<br />Web Standard<br />XHTML 1.0 é uma recomendação da W3C. Isto significa que trata-se de uma linguagem estável, oficialmente especificada pela W3C, tendo sido projetada e revisada pelos seus membros.<br />Tags<br />Os comandos HTML são chamados de TAGs, compreendem de marcas padrões que são utilizadas para fazer indicações a um browser.<br />Assim como em outras linguagens, os comandos têm uma sintaxe própria, e seguem algumas regras:<br />As TAGs aparecem sempre entre sinais de “menor que” (<) e “maior que” (>);<br />Geralmente são utilizadas aos pares, sendo que a TAG de finalização de um comando qualquer é finalizada com a precedência de uma barra (/).<br />Existe uma exceção onde a abertura e o fechamento se dá na mesma tag.<br />Essas tags contém comandos que não necessitam de conteúdo para serem processadas.<br /><br /><br />Código  SEQ Código  ARABIC 1 - Exemplo de tag que não necessita conteúdo<br /><p> curso xhtml InMeta </p><br />Código  SEQ Código  ARABIC 2 - Exemplo de tag que necessita de conteúdo<br />Regras Básicas do uso de Tags<br />Seguem alguns exemplos diferenciando a correta utilização do HTML (com fundo verde) da incorreta utilização do HTML (fundo vermelho).<br />Todas tags dever ser fechada.<br /><span>Exemplo com tags</span><br><br /><span>Exemplo com tags</span><br /><br />Todas tags devem estar convenientemente aninhadas.<br /><div><span>Exemplo com tags</div></span><br /><div><span>Exemplo com tags</span></div><br />Devem ser usadas letras minúsculas tanto para tags como para seu atributos.<br /><A HREF=quot;
http://www.inmeta.com.brquot;
 TITLE=quot;
InMetaquot;
>InMeta Agência Digital</A><br /><a href=quot;
http://www.inmeta.com.brquot;
 title=quot;
InMetaquot;
>InMeta Agência Digital</a><br />Todo valor de atributo XHTML devem conter quot;
ASPASquot;
.<br /><div id=cursos> … </div><br /><div id=quot;
cursosquot;
> … </div><br />Todo atributo deve conter um valor. “Erro muito comum no HTML em casos que o atributo representa o valor de si mesmo.”<br /><input checked …<br /><input readonly ...<br /><input checked=quot;
checkedquot;
 …<br /><input readonly=quot;
readonlyquot;
 ...<br />XHTML (Conceitos Básicos)<br />Todos os documentos XHTML são divididos em duas partes básicas: o cabeçalho e o corpo; e necessitam informar a versão e o tipo do documento.<br />A declaração da versão não é obrigatória para documento com encoding UFT-8, mas o uso é uma das recomendações do W3C. É declarado sempre no inicio do documento XHTML:<br /><?xml version=quot;
1.0quot;
 encoding=quot;
UTF-8quot;
?><br />Código  SEQ Código  ARABIC 3 - Cabeçalho de arquivo XML<br />A declaração do tipo é feita pelo DOCTYPE, lembrando que ele não faz parte da marcação XHTML e como tal não é um elemento, razão pela qual não há necessidade de tag de fechamento.<br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Strict//ENquot;
      quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;
><br />Código  SEQ Código  ARABIC 4 - Declaração de DTD (Document Type Definition)<br />O Doctype (Document Type Definition, vulgo DTD) serve para informar ao browser o tipo de documento a ser visualizado. Existem 3 tipos básicos:<br />Strict<br />Esta é a mais rígida das declarações. Exige um documento XHTML segundo as recomendações do W3C.<br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Strict//ENquot;
      quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;
><br />Código  SEQ Código  ARABIC 5 - Exemplo de DTD Strict<br />Transitional<br />Esta declaração permite uma maior flexibilidade e é indicada para documentos que ainda utilizem elementos em desuso (quot;
deprecatedquot;
).<br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Transitional//ENquot;
      quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdquot;
><br />Código  SEQ Código  ARABIC 6 - Exemplo de DTD Transitional<br />Frameset<br />Esta declaração permite tudo da declaração transational e mais os elementos especificos para frames. <br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Frameset//ENquot;
     quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtdquot;
><br />Código  SEQ Código  ARABIC 7 - Exemplo de DTD Frameset<br />Página XHTML<br />Cabeçalho (<head>)<br />O cabeçalho possui informações sobre o documento em si, seus principais componentes são:<br />ElementoDescriçãoObrigatório<title></title>Deve ser o primeiro elemento do cabeçalho, informa o texto que aparece na barra de título do navegador.SIM<meta />Contem informações sobre o conteúdo do documento.NÃO<link />Elemento utilizado para realizar a ligação entre os documentos e as páginas contendo as folhas de estilo.NÃO<style></style>Informações sobre as folhas de estilo usadas em um determinado documento.NÃO<object></object><script></script>Espaço utilizado para inserção de código, por exemplo: javascript.NÃO<base />Especifica o endereço do documento XHMTL.NÃO<br />Corpo (<body>)<br />Como já foi dito o corpo do documento XHTML é formado pelas tags de formatação, utilizadas estruturação das informações a serem exibidas.<br />Elementos de bloco<br />Elementos de bloco são marcadores destinados tanto a estruturação quanto ao estilo da página:<br />ElementoNomeDescrição<p></p>ParágrafoSua representação depende do navegador, mas normalmente é representado por um espaço antes e depois do parágrafo.<div></div>DivisãoUtilizado com folhas de estilo na especificação de blocos<h1></h1> a <h6></h6>TítulosIntroduzem títulos no documento, podem ser de seis níneis (1 até 6), seu tamanho de fonte varia de 24 à 10 ptos<blockquote> </blockquote>CitaçõesUtilizados para criação de citações, que inserem uma linha antes e depois do texto, assim como um nível de edentação.<pre></pre>PreserveUtilizado para preservar a formatação do texto, não interpretando seu conteúdo.<br /><?xml version=quot;
1.0quot;
 encoding=quot;
UTF-8quot;
?><br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Strict//ENquot;
        quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;
><br /><html xmlns=quot;
http://www.w3.org/1999/xhtmlquot;
 xml:lang=quot;
enquot;
 lang=quot;
enquot;
><br />  <head><br />    <title>Exemplo Títulos</title><br />  </head><br />  <body><br />    <h1>Exemplo com H1</h1><br />    <h2>Exemplo com H2</h2><br />    <h3>Exemplo com H3</h3><br />    <h4>Exemplo com H4</h4><br />    <h5>Exemplo com H5</h5><br />    <h6>Exemplo com H6</h6><br />  </body><br /></html><br />Código  SEQ Código  ARABIC 8 - Exemplo de títulos<br />Figura  SEQ Figura  ARABIC 1 - Resultado do exemplo de títulos<br /><?xml version=quot;
1.0quot;
 encoding=quot;
UTF-8quot;
?><br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Strict//ENquot;
<br /> quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;
><br /><html xmlns=quot;
http://www.w3.org/1999/xhtmlquot;
 xml:lang=quot;
enquot;
 lang=quot;
enquot;
><br />  <head><br />    <title>Exemplo Títulos</title><br />  </head><br />  <body><br />    <p> Isto é um parágrafo</p><br />    <div> Primeira div </div><br />    <div> Segunda div </div><br />    <p> E outro parágrafo</p><br />    <blockquote><br />        quot;
Este agora é um bloco de citação, pequeno mas é<br />    </blockquote><br />  </body><br /></html><br />Código  SEQ Código  ARABIC 9 - Exemplo de blocos<br />Figura  SEQ Figura  ARABIC 2 - Resultado do exemplo de blocos<br />Elementos inline (descritivos de linha)<br />Elementos inline são marcadores destinados geralmente para armazenagem de textos.<br />Em destaque temos o elemento <span></span> o qual é o elemento inline mais usando em documentos xhtml.<br />Também podemos observar o conjunto de elementos voltados a decoração “inline”:<br />ElementoNomeDescrição<strong></strong>NegritoFonte em negrito.<em></em>ÊnfaseFonte em itálico.<small></small>PequenaFonte menor que o padrão.<big></big>GrandeFonte maior que o padrão.<code></code>CódigoFonte formato código.<dfn></dfn>DefiniçãoFonte em itálico em negrito.<kbd></kbd>TecladoTexto nono-espaçado, como se tivesse sido escrito na máquina de escrever.<cite></cite>CitaçãoFonte em itálico.<br /><?xml version=quot;
1.0quot;
 encoding=quot;
UTF-8quot;
?><br /><!DOCTYPE html PUBLIC quot;
-//W3C//DTD XHTML 1.0 Strict//ENquot;
<br /> quot;
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;
><br /><html xmlns=quot;
http://www.w3.org/1999/xhtmlquot;
 xml:lang=quot;
enquot;
 lang=quot;
enquot;
><br />  <head><br />    <title>Exemplo de decoração quot;
inlinequot;
</title><br />  </head><br />  <body><br />    <p>Fonte em <strong>negrito</strong>.</p><br />    <p>Fonte em <em>ênfase</em>.</p><br />    <p>Fonte <small>menor</small> que o padrão.</p><br />    <p>Fonte <big>maior</big> que o padrão.</p><br />    <p>Fonte <code>formato código</code>.</p><br />    <p>Fonte em <dfn>itálico em negrito</dfn>.</p><br />    <p>Texto <kbd>nono-espaçado</kbd>.</p><br />    <p>Fonte em <cite>citação</cite>.</p><br />  </body><br /></html><br />Código  SEQ Código  ARABIC 10 - Exemplo de elementos inline<br />Figura  SEQ Figura  ARABIC 3 - Resultado do exemplo de elementos inline<br />Listas<br />O XHTML dá suporte a três tipos de listas: ordenadas, não ordenada e de definição. <br />As listas não ordenadas são criadas fazendo-se uso do marcador <ul></ul>, e dos elementos <li></li>. Assim como pode possuir vários níveis, ou seja, uma lista dentro da outra.<br />As listas ordenadas possuem elementos que são “numerados”, o marcador utilizado é o <ol> </ol> e para definição de cada sub-elemento é o <li> </li>.<br />Já as listas de definição podem ser utilizadas na definição de termos, o marcador utilizado é o <dl></dl>, o marcador a ser utilizado no texto é o <dt> </dt> e na definição do texto <dd> </dd>.<br /><body><br />    <ol><br />        <li>São Paulo<br />            <ol><br />            <li>Campinas</li><br />            </ol><br />        </li><br />        <li>Santa Catarina<br />            <ol><br />                <li>Blumenau</li><br />            </ol><br />        </li><br />        <li>Rio Grande do Sul<br />            <ol><br />        <li>Porto Alegre</li><br />            </ol><br />        </li>            <br />        <li>Rio de Janeiro</li><br />    </ol><br /></body><br />Código  SEQ Código  ARABIC 11 - Exemplo de lista ordenada<br />Figura  SEQ Figura  ARABIC 4 - Resultado do exemplo de lista ordenada<br /><body><br />    <ul><br />        <li>Item 1<br />            <ul><br />                <li>Item 1.1</li><br />            </ul><br />        </li><br />        <li>Item 2<br />            <ul><br />                <li>Item 2.1</li><br />            </ul><br />        </li><br />        <li>Item 3<br />            <ul><br />                <li>Item 3.1</li><br />            </ul><br />        </li><br />    </ul><br /></body><br />Código  SEQ Código  ARABIC 12 - Exemplo de lista não ordenada<br />Figura  SEQ Figura  ARABIC 5 - Resultado do exemplo de lista não ordenada<br /><body><br />  <dl><br />      <dt>Item 1.1</dt><br />      <dd>Descrição 1.1</dd><br />      <dt>Item 1.2</dt><br />      <dd>Descrição 1.2</dd><br />      <dt>Item 2.1</dt><br />      <dd>Descrição 2.1</dd><br />  </dl><br /></body><br />Código  SEQ Código  ARABIC 13 - Exemplo de lista descritiva<br />Figura  SEQ Figura  ARABIC 6 - Resultado de exemplo de lista descritiva<br />Atributos<br />Os atributos são utilizados para complementar um elemento html, seja com relação a seu comportamento ou quanto a sua apresentação. Estes atributos são inseridos sempre nos marcadores de abertura e os valores atribuídos a eles devem estar entre aspas duplas.<br />Dentre os atributos podemos destacar os “atributos universais”, os quais podem ser utilizados por qualquer marcador existente na linguagem.<br />AtributoDescriçãoidIdentifica unicamente os elementos dentro dos documentos XHTML;classEspecifica a classe a que um elemento pertence;titleEspecifica um título que pode ser utilizados para nomear o elemento;styleEspecifica o estilo de exibição do elemento.<br />Links<br />Hyperlinks ou simplesmente links são elos que ligam uma página a outra ou a si mesma.<br />O segredo de toda interatividade de uma página XHTML está no link, pois ele nos quot;
transportaquot;
 até outra página, pode servir de âncora, levando-nos a algum trecho do texto ou pode conter alguma ação programada, por exemplo, em JavaScript que proporciona maior dinamismo e animação à página.<br />O link é definido pela tag <a>. Esta tag possui uma referência quando for um link ou um nome quando for uma âncora.<br />Âncoras<br />Âncoras são marcações que criamos em nosso documento que são invisíveis ao leitor, mas são identificados pelo browser.<br />Para criarmos uma âncora, basta usar a tag <a> na linha que deseja marcar e dar um nome a está tag para identificá-la. Vejamos o exemplo:<br /><body><br />   <p><br />      <a name=quot;
inmetaquot;
></a><br />   </p><br /></body><br />Código  SEQ Código  ARABIC 14 - Exemplo de âncora<br />Link para a âncora<br />Para criarmos o link para a âncora usamos o atributo de referência HREF. A âncora é sempre identificada pelo símbolo tralha ou sharp (#) mais o seu nome. Um fato importante é que em um caminho URL a âncora sempre virá no final. Como vimos, no exemplo acima foi criado uma âncora no início de nessa  pagina chamado inicio, se quisermos ir até este ponto basta usarmos o atributo HREF da própria tag <a>.<br /><a href=quot;
#inmetaquot;
>topo</a><br />Código  SEQ Código  ARABIC 15 - Exemplo de link para âncora<br />Links entre páginas<br />A função principal de um link é a ligação entre páginas, para fazermos tal ligação, usamos o atributo HREF e nele indicamos o caminho da outra página.<br />Por exemplo, abaixo está um exemplo de um link absoluto que nos leva a página inicial do site da InMeta.<br /><a href=quot;
http://www.inmeta.com.brquot;
>InMeta Agência Digital</a><br />Código  SEQ Código  ARABIC 16 - Exemplo de link absoluto<br />Exemplo de um link relativo<br /><a href=quot;
../home.phpquot;
>Home</a><br />Código  SEQ Código  ARABIC 17 - Exemplo de link relativo<br />Links para Email<br />Para fazer um link para email, nós colocamos a palavra mailto, seguido de dois pontos (:), seguido do email ao qual vai ser enviada a mensagem, caso o usuário clique.<br /><a href=quot;
mailto:contato@inmeta.com.brquot;
>Enviar email</a><br />Código  SEQ Código  ARABIC 18 - Exemplo de link para e-mail<br />IMAGENS<br />Atualmente temos três formatos de figuras bem difundidos: GIF, JPEG e PNG, que podem ser incluídas nas páginas através do elemento <img />. Este elemento possui o atributo “alt”, que deve ser utilizado para fornecer um texto alternativo quando a imagem não puder ser visualizada, já o atributo “src” deve ser utilizado para indicar a localização da imagem.<br />O elemento “img” possui os seguintes atributos que podem ser usados no xhtml:<br />AtributoDescriçãowidthDefine o comprimento da imagemheightDefine o altura de imagem<br /><img src=quot;
imagens/inmeta.jpgquot;
 alt=quot;
InMeta Logoquot;
 /><br />Código  SEQ Código  ARABIC 19 - Exemplo de tag de imagem<br />Figura  SEQ Figura  ARABIC 7 - Resultado da tag img<br /><img src=quot;
inmeta.jpgquot;
 alt=quot;
InMeta Logoquot;
 width=quot;
100quot;
 height=quot;
60pxquot;
 /><br />Código  SEQ Código  ARABIC 20 - Exemplo de tag de imagem customizada<br />Figura  SEQ Figura  ARABIC 8 - Resultado da tag img customizada<br />Podemos também inserir um titulo a imagem onde será exibida ao deixar o mouse sobre ela;<br /><img src=quot;
inmeta.jpgquot;
 alt=quot;
InMeta Logoquot;
 title=quot;
Titulo imagem - InMetaquot;
 /><br />Código  SEQ Código  ARABIC 21 - Exemplo de imagem com title (título)<br />Figura  SEQ Figura  ARABIC 9 - Resultado da tag img com title (título)<br />Tabela<br />Em XHTML todas as tabelas devem possuir um título, cabeçalho, corpo e roda-pé. O elemento “<table> </table>” é o responsável pela manutenção das tabelas nesta linguagem. Na construção de uma tabela podemos utilizar os seguintes elementos para definir suas partes:<br />AtributoDescrição<table></table>Delimita o tabela e seus elementos<caption></caption>Elemento opcional que indica o título da tabela<thead> </thead>Delimita o cabeçalho da tabela<tfoot> </tfoot>Delimita o roda-pé da tabela<tbody> </tbody>Delimita o corpo da tabela<tr> </tr>Delimita as linhas da tabela<td> </td>Delimita as colunas da tabela<th></th>Delimita as colunas da tabela como título<br />Uma célula pode se estender por mais de uma coluna, para isto deve ser utilizado o atributo “colspan” seguido do número de colunas que a célula deve se expandir. Caso a célula tenha de ocupar mais de uma linha o atributo a ser utilizado é o “rowspan”, ambos os atributos devem ser inseridos dentro de uma declaração <td> </td>.<br />Exemplo: <br />…<br />    <body><br />        <div><br />            <table><br />                <tr><br />                    <td>Linha 1 Coluna 1</td><br />                    <td>Linha 1 Coluna 2</td><br />                    <td>Linha 1 Coluna 3</td><br />                </tr><br />                <tr><br />                    <td>Linha 2 Coluna 1</td><br />                    <td>Linha 2 Coluna 2</td><br />                    <td>Linha 2 Coluna 3</td><br />                </tr><br />                <tr><br />                    <td>Linha 3 Coluna 1</td><br />                    <td>Linha 3 Coluna 2</td><br />                    <td>Linha 3 Coluna 3</td><br />                </tr><br />            </table><br />        </div><br />    </body><br />…<br />Código  SEQ Código  ARABIC 22 - Exemplo de tabela simples<br />Figura  SEQ Figura  ARABIC 10 - Exemplo de tabela simples<br />Exemplo usando tbody, thead, tfoot:<br />…<br />    <body><br />        <div><br />            <table><br />                <thead><br />                    <tr><br />                        <th>Nome</th><br />                        <th>Pontos</th><br />                    </tr><br />                </thead><br />                <tfoot><br />                    <tr><br />                        <th>-</th><br />                        <th>15</th><br />                    </tr><br />                </tfoot><br />                <tbody><br />                    <tr><br />                        <td>T. Sexton</td><br />                        <td>10</td><br />                    </tr><br />                    <tr><br />                        <td>J. Dinnen</td><br />                        <td>5</td><br />                    </tr><br />                </tbody><br />            </table><br />        </div><br />    </body><br />…<br />Código  SEQ Código  ARABIC 23 - Exemplo de tabela com cabeçalho, corpo e rodapé<br />Figura  SEQ Figura  ARABIC 11 - Exemplo de tabela com cabeçalho, corpo e rodapé<br />Exemplo de uso de tabelas com união de células:<br />…<br />     <body><br />        <div><br />            <table><br />                <tr><br />                    <td colspan=quot;
2quot;
>Linha 1 Coluna 1</td><br />                    <td>Linha 1 Coluna 3</td><br />                </tr><br />                <tr><br />                    <td>Linha 2 Coluna 1</td><br />                    <td>Linha 2 Coluna 2</td><br />                    <td rowspan=quot;
2quot;
>Linha 2 Coluna 3</td><br />                </tr><br />                <tr><br />                    <td>Linha 3 Coluna 1</td><br />                    <td>Linha 3 Coluna 2</td><br />                </tr><br />            </table><br />        </div><br />    </body><br />…<br />Código  SEQ Código  ARABIC 24 - Exemplo de tabela com células mescladas<br />Figura  SEQ Figura  ARABIC 12 - Exemplo de tabela com células mescladas<br />Formulário<br />Um formulário serve para o usuário interagir de alguma forma com o site, enviando informações, escolhendo ou selecionando certas funções do site ou entrar em contato com o criador ou dono do site.<br />O uso básico para construção de um formulário XHTML semântico é composto da sua tag <form>, mais o atributo da ação (action) que é utilizado para executar a própria ação, como por exemplo a ação que envia dados do formulário preenchido, utilizando o método (method) “post”.<br />Exemplo:<br />…<br /><div>            <br />    <form action=quot;
postar.phpquot;
 method=quot;
postquot;
><br />        <fieldset><br />            <legend>Dados Pessoais</legend><br />            <p><br />                <label for=quot;
txtNomequot;
>Nome</label><br />                <input type=quot;
textquot;
 id=quot;
txtNomequot;
 /><br />            </p><br />            <p><br />                <label for=quot;
txtEmailquot;
>Email</label><br />                <input type=quot;
textquot;
 id=quot;
txtEmailquot;
 /><br />            </p><br />        </fieldset><br />        <fieldset><br />            <legend>Dados Profissionais</legend><br />            <p><br />                <label for=quot;
txtEmpresaquot;
>Empresa</label><br />                <input type=quot;
textquot;
 id=quot;
txtEmpresaquot;
 /><br />            </p><br />            <p><br />                <label for=quot;
txtCargoquot;
>Cargo</label><br />                <input type=quot;
textquot;
 id=quot;
txtCargoquot;
 /><br />            </p><br />        </fieldset><br />        <p><input type=quot;
submitquot;
 value=quot;
Enviarquot;
 /></p><br />    </form><br /></div><br />…<br />Código  SEQ Código  ARABIC 25 - Exemplo de formulário<br />Figura  SEQ Figura  ARABIC 13 - Exemplo de formulário<br />Os elementos internos de um formulário xhtml podem ser divididos em 7 tipos: input, button, select, textarea, label, fieldset e legend:<br />Fieldset & Legend<br />O elemento fieldset tem a função de denominar áreas ao formulário, como exemplo área de inserção de dados pessoais, logo outro fieldset para área de informações comerciais. A Legenda serve para descrever em texto algo que identifique o fieldset.<br />Label<br />Serve para descrever ou associar a um elemento, utilizando o atributo “for” que serve para criar uma ligação entre os dois elementos, quando o label for clicado o foco passara para o outro elemento da ligação.<br />Exemplo:<br /><label for=quot;
nomequot;
>Nome:</label><br /><input id=quot;
nomequot;
 type=quot;
textquot;
 /><br />Código  SEQ Código  ARABIC 26 - Exemplo de label (título para campos de um formulário)<br />Input<br />O elemento input é um elemento de formulário, onde ao atributo type se agregam vários outros valores que definem outros tipos de inputs, são eles:<br />radio - Seleção de uma única alternativa<br />checkbox – Seleção de múltiplas alternativas<br />submit – Elemento que envia informações de um formulário<br />image – Elemento que envia informações de um formulário através de um botão gráfico<br />text – Caixa que recebe valores simples de texto<br />hidden – Envia dados ocultos<br />password – Entrada de linha de texto com informações ocultas em ****.<br />reset – Botão que limpa os dados adicionados pelo usuário<br />file – Seleciona arquivos para um tipo de envio.<br />button – Botão evento, semelhante ao input mas aceita conteúdo<br />Select<br />O elemento select é destinado a exibir uma lista de opções onde muitas vezes essa lista é extensa, o elemento exibe somente uma opção e esconde todas as restantes.As opções são exibidas onde definimos a tag option.<br />Textarea<br />Este elemento é semelhante ao input type=”text”, com a diferença de ter a possibilidade de inserção de múltiplas linhas de texto. Onde em cols é definida a quantidade de colunas e rows de linhas que são exibidas antes do scroll se ativar.<br />Validação W3C<br />W3C Markup Validation Service<br />O serviço de  Markup Validatior da W3C, é um serviço gratuito, que ajuda a analisar documentos web usando as linguagens HTML ou XHTM.<br />Estas linguagens estão definidas por especificações técnicas. A validação de documentos web, é um importante passo, que pode ajudar a melhorar drasticamente a qualidade de um website, permitindo poupar tempo e dinheiro. Esta ferramenta de análise, além de identificar os eventuais erros da página também identifica a possível solução para o problema.<br />Existem dois tipos de ferramentas: uma para análise dos ficheiros HTML e para os ficheiros CSS. Estas ferramentas estão disponíveis no website da W3C ou então nos links listados abaixo:<br />HTML Validator - http://validator.w3.org/<br />CSS Validator  - http://jigsaw.w3.org/css-validator<br />Para mais informações pode visitar a documentação disponível no website da W3C em http://validator.w3.org/about.html ou em http://www.w3.org<br />Indentação<br />A indentação é fundamental para uma boa compreensão do documento XHTML.<br />O quadro vermelho exibe um código errado, sem indentação.<br />O quadro verde exibe um código correto, com indentação.<br /><body><br /><fieldset><br /><ul><br /><li><br /><span>E-Mail</span><br /><div><br /><a href=quot;
mailto:contato@inmeta.com.brquot;
 title=quot;
emailquot;
>contato@inmeta.com.br</a><br /></div><br /></li><br /></ul><br /></fieldset><br /></body><br /><body><br />    <fieldset><br />        <ul><br />              <li><br />                    <span>E-Mail</span><br />                    <div><br />                          <a href=quot;
mailto:contato@inmeta.com.brquot;
 title=quot;
emailquot;
>contato@inmeta.com.br</a><br />                    </div><br />              </li><br />        </ul><br />    </fieldset><br /></body><br />SEO + XHTML<br />As meta tags importantes para o SEO são:<br />Title tag (<title></title>)<br />Meta description<br />Meta keywords<br />h1 a h6<br />Title<br />1. Use o nome da página em todas title tag!<br />Mas mude o título de acordo com o conteúdo:<br />“Mestre SEO – Artigos”<br />“Mestre SEO – Black Hat”<br />“Mestre SEO – Link Building”<br />2. Não ultrapassar 60~70 caracteres.<br />Isso porque não vai aparecer mais do que 70 caracteres nos resultados de busca para o título de uma página…<br />3. Use palavras-chave (mas dentro de um contexto):<br />Atenção! Não vale keyword spamming! “mestre seo, dicas de seo, tudo sobre seo, tutorial de seo, black hat seo, meta description seo, …”<br />Use as palavras-chave mas com algum sentido: “Mestre SEO – Tudo sobre SEO” <br />4. Se for usar frases, que sejam relevantes<br />“Mestre SEO – 10 Motivos para não usar Black Hat” <br />“Mestre SEO – Bom dia, hoje eu acordei pensando em novas técnicas de SEO..”<br />5. Separador de frases: deixe a frase separada do resto do título<br />“Mestre SEO – Artigos | SEO na Title Tag”<br />6. O que a página oferece?<br />Um título para uma página deve seguir a sua oferta e procura. Quando a página oferece um browsing ou pesquisa, recomenda-se um título descritivo. Porém, quando se está vendendo ou oferecendo um download, deve-se deixar claro no título que a compra, download ou qualquer outra ação, pode ser feita no site. “Mestre SEO – Faça Download de e-Books sobre SEO”, ou “Mestre SEO – Pesquise os melhores livros de SEO”.<br />7. Mantenha um padrão<br />Estabeleça um padrão para o Título e siga-o.<br />“Mestre SEO – Artigos”<br />“Mestre SEO – Downloads”<br />“Mestre SEO – Artigos”<br />“Faça downloads Mestre SEO”<br />“compre livros – dicas de seo”<br />8. Use o Título dentro da página<br />Repita o título da página na h1 da página, ou algo que o valha, assim o usuário vai ter certeza que chegou onde queria e que seu site oferece o que ele precisa. Para não falar que o buscador vai adorar encontrar no conteúdo da página o que a title tag diz que tem!  <br />Meta Description Tags<br />Meta Description Tags são tags que não aparecem no browser do usuário quando ele carrega uma página do site. Elas contêm informações voltadas principalmente para os motores de busca, mas não somente.<br />Usos:<br />Descrever o conteúdo da página com precisão e sucintamente<br />Servir de uma pequena propaganda para atrair tráfego orgânico<br />Para disponibilizar as palavras-chave para os buscadores<br />Boas meta descriptions não são sempre fáceis de escrever, mas quando se tem a origem de tráfego nos motores de busca, elas são essenciais para o sucesso de um site. Elas tem uma importância ainda maior quando os termos usados na busca indicam uma ação do usuário.<br />Tag – keywords <br />Deverá sempre ser mantida abaixo dos 255 caracteres no total, incluindo letras e espaços. O motivo é técnico mas simples: Este é o valor “por defeito” do tamanho máximo de alguns campos na maioria das bases de dados. Logo pela força dos números existe uma fortíssima probabilidade de só os primeiros 255 caracteres das suas meta-tags serem guardados, o que torna as excepções pontuais e confortavelmente negligenciáveis.<br />Idealmente devem ser utilizadas de 3 a 12 keywords ou frases chave simples. A utilização de mais do que 20 keywords pode ser considerada “spamindexing” e levar a que o site seja banido ou ignorado pelos motores de busca. Alem de que um grande número de keywords diminui a densidade das palavras-chave relevantes, e levam a que o site surja, ao escrutínio dos motores de busca, como de menos relevância nesse contexto. Isto na prática significa perda drástica de posições nas listagens, uma vez que as posições iniciais de listagem seguem um padrão exponencial, pelos efeitos da forte concorrência com outros websites similares.<br />H1 a H2<br />Essas tags mostram a relevância do seu texto para o buscador. H1 deve ser o nível principal, com o titulo do texto (normalmente o mesmo que a tag de título ), H2 deve ser um complemento (sub tópico) do H1 e e por ai vai até H6.<br />Módulo 2 (CSS)<br />História<br />Como Surgiu<br />Formatar informação dos sites não é algo novo. Por volta de 1970, no começo da trajetória do SGML, já se falava em algo parecido.<br />Quando o HTML foi criado, a intenção não era de forma alguma, formatar informação. A medida que o HTML foi se popularizando e evoluindo, foram incluídas em suas qualidades, o domínio de controlar algumas aparências para o documento. Isso fez com que a linguagem ficasse muito complexa, mais dificil para entender e manter. Outro problema era que os browsers tinham diferenças de implementações, o que dificultava a visualização dos sites, trazendo menos controle na navegação pela web.<br />Por esse tempo apareceu o salvador da pátria. Håkon Wium Lie, vendo toda essa dificuldade, resolveu criar um jeito mais fácil para formatar a informação. Foi aí que ele propôs a criação do CSS ou Cascading Style Sheets… Esse era o ano de 1994. Aceitando o convite feito pelo próprio Håkon, Bert Bos – que naquele tempo estava trabalhando em um browser chamado Argo – começou a trabalhar no projeto. Os dois então, trabalharam juntamente no começo do desenvolvimento do CSS.<br />Em 1995 eles apresentaram sua proposta e finalmente, o W3C – World Wide Web Consortium – que estava acabando de nascer, se interessou pelo projeto e resolveu criar uma equipe, obviamente liderada por Håkon e Bert Bos. O resultado apareceu logo, em 1996, eles lançaram a recomendação oficial pelo W3C do CSS Level 1 (CSS 1). Dois anos depois, no dia 12 de Maio de 1998, eles lançaram a recomendação do CSS de nível 2. A segunda versão das Folhas de Estilo para web.<br />Como Está hoje<br />O nível 3 do CSS ainda está em desenvolvimento. Mas, sabemos que as facilidades serão muitas, como por exemplo, criar bordas arredondadas sem o uso de imagens, ou definir duas imagens como background de um mesmo objeto.<br />Do jeito que as coisas vão indo, o CSS 3 não demorará tanto quanto as outras. Os browsers estão mais compatíveis, os desenvolvedores mais espertos. A comunidade em si está muito mais madura e rigorosa sobre esses assuntos.<br />Conceito<br />CSS é a sigla em inglês para Cascading Style Sheet que em português foi traduzido para folha de estilo em cascata e é definida como quot;
Folha de estilo em cascata é um mecanismo simples para adicionar estilos (p.ex., fontes, cores, espaçamentos) aos documentos Web.quot;
<br />Estrutura<br />Inserção de CSS no HTML<br />Folhas de estilos podem ser aplicadas de três formas em arquivos HTML:<br />Folha de estilos externa<br />Um documento separado das tags HTML<br />Folha de estilos interna<br />No próprio documento que contem as tags HTML<br />Folha de estilos inline<br />Na própria tag que se deseja formatar.<br />Exemplo de inserção de folhas de estilo externa, ou seja, em arquivos separados:<br />h1 { <br />  color: red;<br />}<br />Código  SEQ Código  ARABIC 27 - Exemplo de arquivo de CSS<br /><head><br />  <link rel=quot;
stylesheetquot;
 type=quot;
text/cssquot;
 href=quot;
style.cssquot;
 /><br /></head><br />Código  SEQ Código  ARABIC 28 - Exemplo de folha de estilo externa<br />No exemplo acima foi usado uma folha de estilos externa onde a tag link importa o arquivo referenciado no atributo href. O atributo type indica o tipo de arquivo a ser importado e o atributo rel indica a relação do arquivo atual (HTML) com o arquivo a ser importado (CSS).<br /><head><br />  <style type=quot;
text/cssquot;
><br />    h2 {color: blue;}<br />    p {margin-left: 20px;}<br />    body {background-image:url(quot;
fundo.gifquot;
);}<br />  </style><br /></head><br />Código  SEQ Código  ARABIC 29 - Exemplo de folha de estilo interna<br />Ao inserir folhas de estilos em um arquivo HTML é possível fazê-lo semelhante a um arquivo CSS externo. A diferença é a adição da tag style que deve ser inserida dentro das tag head.<br /><div style=quot;
width:400px; height:250px; background-color:#F00quot;
></div><br />Código  SEQ Código  ARABIC 30 - Exemplo de folha de estilo inline<br />O código acima exibe o uso de folha de estilo inline, ou seja, as propriedades e valores estão dentro do atributo style que está dentro do elemento. Nesse caso a aplicação do estilo é valida somente para o elemento que tem o atributo style.<br />Seletores<br />Existem três modos básicos de selecionar elementos para formatação usando CSS:<br />Elemento HTML<br />Exemplo: h1, h2...h6, div, span, p<br />Atributo quot;
classquot;
 de um elemento HTML<br />Exemplo: class=”texto”<br />Atributo quot;
idquot;
 de um elemento HTML<br />Exemplo: id=”conteudo”<br />Sintaxe<br />Uma regra CSS tem duas partes principais: um seletor e uma ou mais declarações:<br />h1 { <br />    color: red;<br />}<br />Código  SEQ Código  ARABIC 31 - Exemplo de uso de estilo em elementos<br />No exemplo acima foi usado o elemento <h1> e aplicado o estilo color que é a propriedade e red que é o valor. Nesse caso todos os elementos <h1> das páginas que contem essa folha de estilos terão a aplicação do estilo.<br />.texto { <br />    font-size: 11px;<br />}<br />Código  SEQ Código  ARABIC 32 - Exemplo de uso de estilo em elementos que possuem classe<br />No exemplo acima foi usado a classe texto e aplicado o estilo font-size (tamanho da fonte) que é a propriedade e 12px que é o valor. Todos os elementos que possuírem a classe texto receberão o estilo.<br />#conteudo { <br />    width: 300px;<br />}<br />Código  SEQ Código  ARABIC 33 - Exemplo de uso de estilo em um elemento com identificador único<br />No exemplo acima foi usado o elemento cuja identificação (id) é conteudo e aplicado o estilo width (largura) que é a propriedade e 300px que é o valor. Como o id de um elemento não pode ser usado mais de uma vez na mesma página então apenas um elemento, aquele que tiver o id conteudo, terá a aplicação do estilo.<br />A importância do float: left;<br />Entender o correto funcionamento e a dinâmica da propriedade CSS “float” é fundamental para o desenvolvimento e estruturação de bons layouts para web. Saber usar corretamente float em web sites e projetos web, em geral, é de extrema importância, já que, basicamente, é através das regras CSS que utilizam float que é possível compor layouts sem o uso de tabelas (tableless), o que traz inúmeros benefícios, como economia no tempo de carregamento, adequação às normas W3C e, consequentemente, um aumento de performance, em geral.<br />O que é “Float”?<br />Float é uma propriedade CSS de posicionamento!<br />propriedade Float na prática<br />Para todos os exemplos de folha de estilos usaremos o mesmo código HTML que segue.<br /><body><br />    <div id=quot;
geralquot;
><br />        <div id=quot;
esquerdaquot;
></div><br />        <div id=quot;
direitaquot;
></div><br />    </div><br /></body><br />Código  SEQ Código  ARABIC 34 - Propriedade FLOAT (código HTML base) <br />Inicialmente nada aparecerá no navegador pois os elementos não tem forma e estão vazios.<br />Insira o código CSS a seguir.<br />#geral {<br />background:#EEE; /* cinza */<br />height:600px;<br />width:800px;<br />}<br />Código  SEQ Código  ARABIC 35 - Propriedade FLOAT (#geral)<br />Uma divisão de 800px por 600px e um fundo cinza foram criados cuja identificação é “geral”. Será possível verificar o posicionamento dos demais elementos ao inserir estilos neles. Essa primeira divisão foi criada somente para facilitar a visualização dos elementos internos.<br />Adicione o código CSS ao código criado anteriormente.<br />#esquerda {<br />background:#F00; /* vermelho */<br />height:100px;<br />width:300px;<br />}<br />#direita {<br />background:#00F; /* azul */<br />height:200px;<br />width:200px;<br />}<br />Código  SEQ Código  ARABIC 36 - Propriedade FLOAT (#esquerda e #direita)<br />A imagem ao lado ilustra o resultado obtido da aplicação do CSS acima. Os elementos HTML são posicionados um abaixo do outro. Para posicionar os elementos um ao lado do outro usamos a propriedade de posicionamento: FLOAT!Aplica-se a propriedade aos dois elementos identificados de #esquerda e #direita.<br />#esquerda {<br />background:#F00; /* vermelho */<br />float:left;<br />height:100px;<br />width:300px;<br />}<br />#direita {<br />background:#00F; /* azul */<br />float:left;<br />height:200px;<br />width:200px;<br />}<br />Código  SEQ Código  ARABIC 37 - Propriedade FLOAT (#esquerda e #direita com float:left)<br />A figura ao lado exibe a aplicação da propriedade float (propriedade de posicionamento) com valor left (esquerdo), conforme o código CSS acima.Os elementos cujo estilo float: left é aplicado assume o espaço superior e esquerdo do elemento pai. Nesse caso o elemento pai é a <div> com identificação #geral.A propriedade float possui ainda o valor right (direita).<br />Caso seja necessário inserir um elemento HTML abaixo do outro é importante que se use a propriedade float e no elemento que ficará abaixo (nesse caso #direita) basta inserir a propriedade clear com valor left. O resultado é semelhante ao exemplo que não foi usado o float: left.<br />Então por que utilizar as propriedades float e clear quando podemos não utilizar e gerar os mesmos resultados?<br />Simples: controle dos elementos HTML e garantia que os elementos ficarão exatamente onde são esperados!<br />Aqui temos exemplos com pouco código, porém ao criar páginas HTML os arquivos CSS podem ficar grandes (2000 linhas, por exemplo) somado ao arquivo HTML (com mais 500 linhas) fica fácil se perder. <br />Na imagem ao lado a propriedade float teve seu valor alterado de left para right no elemento <div> com identificação #direita.Nesse caso o elemento assume o posicionamento mais próximo do canto direito e superior do elemento pai (#geral).<br />Desvantagem da propriedade float<br />Em nosso exemplo a tag <div> com identificação #geral tem 800px de largura.<br />A tag <div> com identificação #esquerda tem 300px de largura e a tag <div> com identificação #direita tem 200px de largura. A soma das divisões filhas gera 500px sendo menor que a divisão pai que tem 800px.  <br />Ao aumentar a largura da tag <div> com identificação #esquerda de 300px para 650px de largura e somar as larguras das divisões filhas o resultado será de 850px que é maior que a divisão pai (800px).Nesse caso o segundo elemento é empurrado para baixo.Por isso é importante planejar como será feito o CSS antes de começar a codificar! O planejamento ajuda a evitar esse tipo de erros.<br />Estruturando uma página<br />Para estruturar uma página usa-se a tag <div> e acrescenta-se folha de estilos conforme a necessidade.<br />O modelo a estruturar é o site da InMeta Agência Digital.<br />Figura  SEQ Figura  ARABIC 14 - Website da InMeta Agência Digital<br />É importante ter os passos bem definidos para saber o que fazer, portanto o primeiro passo é visualizar o site em partes, ou seja, dividindo em blocos, grupos de informações. Inicie a divisão em blocos grande. Veja o exemplo a seguir:<br />A primeira divisão foi entre a parte de cima e a parte de baixo. A parte de cima terá todas as informações do site, exceto o rodapé que estará na parte de baixo. Essa divisão é feita para que a utilização de imagens de fundo sejam bem aproveitadas. Segue um exemplo que define como fazer essa divisão.<br /><body><br />    <div id=quot;
parte_cimaquot;
></div><br />    <div id=quot;
parte_baixoquot;
></div><br /></body><br />Código  SEQ Código  ARABIC 38 - Estrutura HTML (parte de cima e parte de baixo)<br />#parte_cima {<br />background:#EEE;<br />float:left;<br />min-height:600px;<br />width:100%;<br />}<br />#parte_baixo {<br />background:#6F0;<br />float:left;<br />min-height:200px;<br />width:100%;<br />}<br />Código  SEQ Código  ARABIC 39 - Estrutura CSS (parte de cima e parte de baixo)<br />A imagem ao lado exibe o resultado da aplicação da folha de estilo acima no HTML. O exemplo usou dois identificadores (id); um para cada tag <div>. O arquivo CSS apresenta a propriedade background utilizada para inserir cor ou imagem no fundo de um elemento, a propriedade float já estudada, a propriedade min-height (altura mínima) é usada nesse primeiro momento para que seja possível a visualização do elemento com o estilo que foi aplicado e a propriedade width que é a largura.<br />O próximo passo é continuar a divisão. Como o site tem seu conteúdo centralizado à próxima divisão será somente um elemento para definir os limites do conteúdo.<br /><body><br />    <div id=quot;
parte_cimaquot;
><br />    <div id=quot;
geralquot;
></div><br />    </div><br />    <div id=quot;
parte_baixoquot;
></div><br /></body><br />Código  SEQ Código  ARABIC 40 - Estrutura HTML (geral)<br />#parte_cima {<br />background:#EEE;<br />float:left;<br />min-height:600px;<br />width:100%;<br />}<br />#parte_baixo {<br />background:#6F0;<br />float:left;<br />min-height:200px;<br />width:100%;<br />}<br />#geral {<br />background:#999;<br />margin:0 auto;<br />min-height:600px;<br />width:1000px;<br />}<br />Código  SEQ Código  ARABIC 41 - Estrutura CSS (geral)<br />A imagem ao lado ilustra o resultado da aplicação do CCS e HTML acima. Aqui foi usado a propriedade margin que aceita os valores para margin-top, margin-right, margin-bottom, margin-left (exatamente nessa sequência: superior, direita, inferior e esquerda). As margens inferior e esquerda são opcionais e caso não tenham valores estas assumem os valores de superior e direita, respectivamente, conforme exemplo do CSS acima. Resumindo “0 auto” é igual a “0 auto 0 auto”, onde o valor “0” não precisa de unidade de medida (px, % etc) e “auto” significa que o elemento terá sua margem adaptada conforme o espaço que lhe sobrar em relação ao elemento pai. Nesse caso o elemento pai é #parte_cima e o elemento filho é #geral.Observação: perceba que o estilo de #parte_cima não necessita mais de min-height pois o elemento filho tem uma altura.<br />Dica: para lembrar o uso de margin relacione com o sentido horário (assim como em um relógio) onde a aplicação de valores inicia no top (12) e termina na esquerda (9).<br />Assim como #geral foi criado para #parte_cima, #rodape pode ser criado para #parte_baixo.<br />E continue dividindo a imagem em partes menores.<br />É importante salientar que inicialmente usamos identificadores (id) pois esses elementos não repetirão. Nessa mesma tela existe uma área de notícias onde os elementos html repetem. Nesse caso deve-se usar classes (class) para criar a folha de estilos.<br />Diferença entre Browsers<br />Existem vários navegadores disponíveis para os usuários de internet e isso pode ser interpretado em dificuldades no momento de aplicar folhas de estilos no HTML.<br />Entre todos os navegadores o Internet Explorer (IE) é o vilão! As versões mais antigas são as que geram mais trabalho principalmente por falta de suporte e bugs.<br />Um erro muito comum acontece com margens. No IE6 as margens têm seus tamanhos duplicados, ou seja, se o valor da margem é 5px em todos os navegadores funciona perfeitamente com 5px e no IE6 pode aparecer com 10px. Uma opção para corrigir esse bug é usar a propriedade display com valor inline.<br />Módulo 3 (Imagens)<br />Para que servem as imagens?<br />Começando do começo<br />Primeiramente vamos relembrar alguns elementos que dão forma a uma página HTML. Inicialmente vamos usar a tag <div> entender o uso das imagens.<br />Como já sabemos, a tag <div> serve para a delimitação de um espaço na página, por isso o nome DIV, que é uma abreviação de DIVISION, ou, divisão.<br />Quando estamos desenvolvendo uma página, em vários momentos usaremos esta tag, para delimitar os espaços dentro dela.<br />Alguns desses espaços, devido ao design, necessitam de um estilo com algum desenho ou ilustração ao fundo para alcançar o efeito desejado, como no exemplo a seguir:<br />E é principalmente para isso que servem as imagens.<br />E então? Vamos aprender como usar as imagens a nosso favor, usando a propriedade background do CSS.<br />a propriedade background do css<br />A propriedade background define as características (os valores na regra CSS) do fundo dos elementos HTML.<br />As propriedades background são as listadas abaixo:<br />background-color.......... cor do fundo;<br />background-image.......... imagem de fundo;<br />background-repeat......... maneira como a imagem de fundo é posicionada;<br />background-attachment..... se a imagem de fundo quot;
rolaquot;
 ou não com a tela;<br />background-position....... como e onde a imagem de fundo é posicionada;<br />background................ maneira abreviada para todas as propriedades;<br />Os valores válidos para estas propriedades são:<br />background-color:<br />    código hexadecimal: #FFFFFF<br />    código rgb: rgb(255,235,0)<br />    nome da cor: red, blue, green...etc<br />    transparente: transparent<br />background-image: <br />    URL: url(caminho/imagem.gif)<br />background-repeat:<br />    não repete: no-repeat<br />    repete vertical e horizontal: repeat<br />    repete vertical: repeat-y<br />    repete horizontal: repeat-x<br />background-attachment:<br />     imagem fixa na tela: fixed<br />    imagem quot;
rolaquot;
 com a tela: scroll<br />background-position:<br />    x-pos y-pos<br />    x-% y-%<br />    top left<br />    top center<br />    top right<br />    center left<br />    center center<br />    center right<br />    bottom left<br />    bottom center<br />    bottom right<br />Exemplos<br />Usando uma imagem como fundo da tag <body> da página:<br /><html><br />  <head><br />    <style type=quot;
text/cssquot;
><br />    <!--<br />      body { <br />        background-image: url(quot;
/images/css.gifquot;
);<br />      }<br />    --><br />    </style><br />  </head><br />  <body><br />  </body><br /></html><br />Resultado:<br />Repetir verticalmente a imagem de fundo:<br /><html><br />  <head><br />    <style type=quot;
text/cssquot;
><br />    <!--<br />      body {<br />        background-image: url(quot;
/images/css.gifquot;
);<br />        background-repeat: repeat-y;<br />      }<br />    --><br />    </style><br />  </head><br />  <body><br />  </body><br /></html><br />Resultado:<br />Repetir horizontalmente uma imagem de fundo:<br /><html><br />  <head><br />    <style type=quot;
text/cssquot;
><br />    <!--<br />    body {<br />      background-image: url(quot;
/images/css.gifquot;
);<br />      background-repeat: repeat-x;<br />    }<br />    --><br />    </style<br />  </head><br />  <body><br />  </body><br /></html><br />Resultado:<br />Posicionando uma imagem de fundo + Tornando ela fixa (estilo twitter.com/RafaelDalpra):<br /><html><br />  <head><br />    <style type=quot;
text/cssquot;
><br />    <!--<br />      body {<br />        background-image: url(quot;
/images/css.gifquot;
);<br />        background-repeat: no-repeat;<br />        background-position: 200px 70px; <br />      /*Para tornar a imagem fixa*/<br />        background-attachment: fixed;<br />      }<br />    --><br />    </style><br />  </head><br />  <body><br />  </body><br /></html><br />Este é o efeito da folha de estilo acima: a imagem esta posicionada a 200 pixel da margem esquerda e 70 pixel da margem superior:<br />Referência<br />http://www.tableless.com.br (HTML5, CSS3, Padrões WEB, Tableless […] e muito mais…)<br />http://www.w3schools.com (Full Web Building Tutorials)<br />http://maujor.com (CSS, Padrões WEB, Acessibilidade)<br />http://pt-br.html.net/tutorials/html/default.asp (HTML e CSS - Construa seu website)<br />http://www.profissionaisdeweb.com (Feito para profissionais)<br />http://www.mestreseo.com.br (SEO sem limites)<br />
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css
Apostila curso xhtml css

Contenu connexe

Tendances

Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAndré Constantino da Silva
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)Devmedia
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Webigorpimentel
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Jose Augusto Cintra
 
Desenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosDesenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosVinicius Rocha Olivieri
 
HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlTiago Luiz Ribeiro da Silva
 
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Uni Buscapé Company
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Renato Bongiorno Bonfanti
 

Tendances (20)

Css tutorial
Css tutorialCss tutorial
Css tutorial
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
 
HTML5 CSS3
HTML5 CSS3HTML5 CSS3
HTML5 CSS3
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Web
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5
 
Desenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosDesenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nos
 
HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
 
Html
HtmlHtml
Html
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Html
HtmlHtml
Html
 
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
 
Html5 Aula 4
Html5 Aula 4Html5 Aula 4
Html5 Aula 4
 
Html5 aula 02
Html5 aula 02Html5 aula 02
Html5 aula 02
 
Html 5 e Css3
Html 5 e Css3Html 5 e Css3
Html 5 e Css3
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
W3C Web Standards HTML
W3C Web Standards HTMLW3C Web Standards HTML
W3C Web Standards HTML
 
Html manual
Html manualHtml manual
Html manual
 

En vedette

Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server FacesJoão Longo
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Eder Samaniego
 
Criando sites com Wordpress
Criando sites com WordpressCriando sites com Wordpress
Criando sites com WordpressSérgio Vilar
 
Curso online wordpress aula 1
Curso online wordpress aula 1Curso online wordpress aula 1
Curso online wordpress aula 1Vasco Marques
 

En vedette (7)

Introdução a jQuery
Introdução a jQueryIntrodução a jQuery
Introdução a jQuery
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server Faces
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
 
Criando sites com Wordpress
Criando sites com WordpressCriando sites com Wordpress
Criando sites com Wordpress
 
Mini Curso Wordpress
Mini Curso WordpressMini Curso Wordpress
Mini Curso Wordpress
 
Curso online wordpress aula 1
Curso online wordpress aula 1Curso online wordpress aula 1
Curso online wordpress aula 1
 
Curso de WordPress
Curso de WordPressCurso de WordPress
Curso de WordPress
 

Similaire à Apostila curso xhtml css (20)

Aula html
Aula htmlAula html
Aula html
 
Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica Trabalho
 
Desenvolvimento para a Internet - Aula 02
Desenvolvimento para a Internet - Aula 02Desenvolvimento para a Internet - Aula 02
Desenvolvimento para a Internet - Aula 02
 
Xhtml
XhtmlXhtml
Xhtml
 
Html slide
Html slideHtml slide
Html slide
 
Html slide
Html slideHtml slide
Html slide
 
Html slide
Html slideHtml slide
Html slide
 
Html slide
Html slideHtml slide
Html slide
 
XHTML
XHTMLXHTML
XHTML
 
HTML HardCore Parte 1 - Conceitos
HTML HardCore Parte 1 - ConceitosHTML HardCore Parte 1 - Conceitos
HTML HardCore Parte 1 - Conceitos
 
I.h aula 6 7 8 9 10 11 12
I.h aula 6 7 8 9 10 11 12I.h aula 6 7 8 9 10 11 12
I.h aula 6 7 8 9 10 11 12
 
HTML5 - (02) Estrutura Básica - DOCTYPE e Charsets
HTML5 - (02) Estrutura Básica - DOCTYPE e CharsetsHTML5 - (02) Estrutura Básica - DOCTYPE e Charsets
HTML5 - (02) Estrutura Básica - DOCTYPE e Charsets
 
ebook-material-didatico-sistemas-para-internet.pdf
ebook-material-didatico-sistemas-para-internet.pdfebook-material-didatico-sistemas-para-internet.pdf
ebook-material-didatico-sistemas-para-internet.pdf
 
Xhtml 2011 - atualizado
Xhtml   2011 - atualizadoXhtml   2011 - atualizado
Xhtml 2011 - atualizado
 
Benef&iacute;cios dos WebStandards
Benef&iacute;cios dos WebStandardsBenef&iacute;cios dos WebStandards
Benef&iacute;cios dos WebStandards
 
Técnicas e processos - HTML / CSS - aula 1
Técnicas e processos - HTML / CSS - aula 1Técnicas e processos - HTML / CSS - aula 1
Técnicas e processos - HTML / CSS - aula 1
 
HTML HardCore Parte 2 - XHTML
HTML HardCore Parte 2 - XHTMLHTML HardCore Parte 2 - XHTML
HTML HardCore Parte 2 - XHTML
 
T.I. - Tecnologia 3D
T.I. - Tecnologia 3DT.I. - Tecnologia 3D
T.I. - Tecnologia 3D
 
Padroes Web
Padroes WebPadroes Web
Padroes Web
 
Html5 - Notas de aula
Html5 - Notas de aulaHtml5 - Notas de aula
Html5 - Notas de aula
 

Plus de Seekr Gestão e Monitoramento de Marcas em Mídias Sociais (6)

Planejando Ações de Impacto nas Mídias Sociais
 Planejando Ações de Impacto nas Mídias Sociais Planejando Ações de Impacto nas Mídias Sociais
Planejando Ações de Impacto nas Mídias Sociais
 
Palestra
PalestraPalestra
Palestra
 
Como montar um projeto de usabilidade
Como montar um projeto de usabilidadeComo montar um projeto de usabilidade
Como montar um projeto de usabilidade
 
Mercado das Mídias Sociais
Mercado das Mídias SociaisMercado das Mídias Sociais
Mercado das Mídias Sociais
 
Palestra sobre comunicação interna e externa InMeta
Palestra sobre comunicação interna e externa InMetaPalestra sobre comunicação interna e externa InMeta
Palestra sobre comunicação interna e externa InMeta
 
Palestra sobre comunicação interna e externa InMeta
Palestra sobre comunicação interna e externa InMetaPalestra sobre comunicação interna e externa InMeta
Palestra sobre comunicação interna e externa InMeta
 

Apostila curso xhtml css

  • 1. XHTML/CSS<br />InMeta Agência Digital<br />Conteúdo TOC quot; 1-3quot; Módulo 1 (HTML) PAGEREF _Toc261013594 3História PAGEREF _Toc261013595 3Conceito PAGEREF _Toc261013596 3HTML PAGEREF _Toc261013597 3XHTML PAGEREF _Toc261013598 4Tags PAGEREF _Toc261013599 4Regras Básicas do uso de Tags PAGEREF _Toc261013600 5XHTML (Conceitos Básicos) PAGEREF _Toc261013601 5Strict PAGEREF _Toc261013602 6Transitional PAGEREF _Toc261013603 6Frameset PAGEREF _Toc261013604 6Página XHTML PAGEREF _Toc261013605 7Cabeçalho (<head>) PAGEREF _Toc261013606 7Corpo (<body>) PAGEREF _Toc261013607 7Links PAGEREF _Toc261013608 14Indentação PAGEREF _Toc261013609 24SEO + XHTML PAGEREF _Toc261013610 24Módulo 2 (CSS) PAGEREF _Toc261013611 27História PAGEREF _Toc261013612 27Como Surgiu PAGEREF _Toc261013613 27Como Está hoje PAGEREF _Toc261013614 27Conceito PAGEREF _Toc261013615 27Estrutura PAGEREF _Toc261013616 28Inserção de CSS no HTML PAGEREF _Toc261013617 28Seletores PAGEREF _Toc261013618 29Sintaxe PAGEREF _Toc261013619 29A importância do float: left; PAGEREF _Toc261013620 30Estruturando uma página PAGEREF _Toc261013621 32Diferença entre Browsers PAGEREF _Toc261013622 36Módulo 3 (Imagens) PAGEREF _Toc261013623 37Para que servem as imagens? PAGEREF _Toc261013624 37Começando do começo PAGEREF _Toc261013625 37Exemplos PAGEREF _Toc261013626 38Referência PAGEREF _Toc261013627 42<br />Módulo 1 (HTML)<br />História<br />Tim Berners-Lee criou o HTML original (e outros protocolos associados como o HTTP) em uma estação NeXTcube usando o ambiente de desenvolvimento NeXTSTEP. Na época a linguagem não era uma especificação, mas uma coleção de ferramentas para resolver um problema de Tim: a comunicação e disseminação das pesquisas entre ele e seu grupo de colegas. Sua solução, combinada com a então emergente internet pública (que tornaria-se a Internet) ganhou atenção mundial.<br />As primeiras versões do HTML foram definidas com regras sintáticas flexíveis, o que ajudou aqueles sem familiaridade com a publicação na Web. Atualmente a sintaxe do HTML é muito mais rígida, permitindo um código mais preciso. Através do tempo, a utilização de ferramentas para autoria de HTML aumentou, assim como a tendência em tornar a sintaxe cada vez mais rígida. Apesar disso, por questões históricas (retrocompatibilidade), os navegadores ainda hoje conseguem interpretar páginas web que estão longe de ser um código HTML válido.<br />A linguagem foi definida em especificações formais na década de 1990, inspiradas nas propostas originais de Tim Berners-Lee em criar uma linguagem baseada em SGML para a Internet. A primeira publicação foi esboçada por Berners-Lee e Dan Connolly, e publicada em 1993 na IETF como uma aplicação formal para o SGML (com uma DTD em SGML definindo a gramática). A IETF criou um grupo de trabalho para o HTML no ano seguinte, e publicou o HTML 2.0 em 1995. Desde 1996, as especificações HTML vêm sendo mantidas, com o auxílio de fabricantes de software, pela World Wide Web Consortium (W3C). Apesar disso, em 2000 a linguagem tornou-se também uma norma internacional (ISO/IEC 15445:2000). A última especificação HTML lançada pela W3C foi a recomendação HTML 4.01, publicada no final de 1999. Uma errata ainda foi lançada em 2001.<br />Desde a publicação do HTML 3.5 no final de 1997, o grupo de trabalho da W3C tem cada vez mais — e de 2002 a 2006, de forma exclusiva — focado no desenvolvimento do XHTML, uma especificação HTML baseada em XML que é considerada pela W3C como um sucessor do HTML.O XHTML faz uso de uma sintaxe mais rigorosa e menos ambígua para tornar o HTML mais simples de ser processado e estendido.<br />Conceito<br />HTML<br />HTML significa Hyper Text Markup Language em português linguagem de marcação de hipertexto, ou seja, é a linguagem na qual são escritas as páginas da Web.<br />Toda página é transferida de um computador remoto para o usuário, onde o browser faz o trabalho de interpretação dos códigos daquele documento e mostra a página que o usuário vê. <br />XHTML<br />XHTML é a sigla em inglês para EXtensible HyperText Markup Language que em português resulta em Linguagem de Marcação para Hipertexto Extensível, uma aplicação XML, escrita para substituir o HTML e nada mais é do que um HTML quot; padronizado, claro e limpoquot; .<br />XHTML surgiu quando o HTML sofreu o que parece ser sua maior evolução com a adição de aplicações da meta-linguagem XML (EXtensible Markup Language).<br />XHTML é uma linguagem de marcação bastante familiar para quem conhece HTML e a transformação de um documento existente de HTML para XHTML é uma tarefa bem simples na maioria dos casos.<br />Quais as vantagens de se usar XHTML<br />Tempo de carregamento da página<br />Uma página XHTML é mais rápida pois os browsers tem a interpretar uma página limpa sem ter que decidir sobre renderização de erros de código;<br />Portabilidade<br />Uma página XHTML é mais acessível a aplicações do usuário, incrementando a interoperabilidade e a portabilidade dos documentos web;<br />Web Standard<br />XHTML 1.0 é uma recomendação da W3C. Isto significa que trata-se de uma linguagem estável, oficialmente especificada pela W3C, tendo sido projetada e revisada pelos seus membros.<br />Tags<br />Os comandos HTML são chamados de TAGs, compreendem de marcas padrões que são utilizadas para fazer indicações a um browser.<br />Assim como em outras linguagens, os comandos têm uma sintaxe própria, e seguem algumas regras:<br />As TAGs aparecem sempre entre sinais de “menor que” (<) e “maior que” (>);<br />Geralmente são utilizadas aos pares, sendo que a TAG de finalização de um comando qualquer é finalizada com a precedência de uma barra (/).<br />Existe uma exceção onde a abertura e o fechamento se dá na mesma tag.<br />Essas tags contém comandos que não necessitam de conteúdo para serem processadas.<br /><br /><br />Código SEQ Código ARABIC 1 - Exemplo de tag que não necessita conteúdo<br /><p> curso xhtml InMeta </p><br />Código SEQ Código ARABIC 2 - Exemplo de tag que necessita de conteúdo<br />Regras Básicas do uso de Tags<br />Seguem alguns exemplos diferenciando a correta utilização do HTML (com fundo verde) da incorreta utilização do HTML (fundo vermelho).<br />Todas tags dever ser fechada.<br /><span>Exemplo com tags</span><br><br /><span>Exemplo com tags</span><br /><br />Todas tags devem estar convenientemente aninhadas.<br /><div><span>Exemplo com tags</div></span><br /><div><span>Exemplo com tags</span></div><br />Devem ser usadas letras minúsculas tanto para tags como para seu atributos.<br /><A HREF=quot; http://www.inmeta.com.brquot; TITLE=quot; InMetaquot; >InMeta Agência Digital</A><br /><a href=quot; http://www.inmeta.com.brquot; title=quot; InMetaquot; >InMeta Agência Digital</a><br />Todo valor de atributo XHTML devem conter quot; ASPASquot; .<br /><div id=cursos> … </div><br /><div id=quot; cursosquot; > … </div><br />Todo atributo deve conter um valor. “Erro muito comum no HTML em casos que o atributo representa o valor de si mesmo.”<br /><input checked …<br /><input readonly ...<br /><input checked=quot; checkedquot; …<br /><input readonly=quot; readonlyquot; ...<br />XHTML (Conceitos Básicos)<br />Todos os documentos XHTML são divididos em duas partes básicas: o cabeçalho e o corpo; e necessitam informar a versão e o tipo do documento.<br />A declaração da versão não é obrigatória para documento com encoding UFT-8, mas o uso é uma das recomendações do W3C. É declarado sempre no inicio do documento XHTML:<br /><?xml version=quot; 1.0quot; encoding=quot; UTF-8quot; ?><br />Código SEQ Código ARABIC 3 - Cabeçalho de arquivo XML<br />A declaração do tipo é feita pelo DOCTYPE, lembrando que ele não faz parte da marcação XHTML e como tal não é um elemento, razão pela qual não há necessidade de tag de fechamento.<br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Strict//ENquot; quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot; ><br />Código SEQ Código ARABIC 4 - Declaração de DTD (Document Type Definition)<br />O Doctype (Document Type Definition, vulgo DTD) serve para informar ao browser o tipo de documento a ser visualizado. Existem 3 tipos básicos:<br />Strict<br />Esta é a mais rígida das declarações. Exige um documento XHTML segundo as recomendações do W3C.<br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Strict//ENquot; quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot; ><br />Código SEQ Código ARABIC 5 - Exemplo de DTD Strict<br />Transitional<br />Esta declaração permite uma maior flexibilidade e é indicada para documentos que ainda utilizem elementos em desuso (quot; deprecatedquot; ).<br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Transitional//ENquot; quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdquot; ><br />Código SEQ Código ARABIC 6 - Exemplo de DTD Transitional<br />Frameset<br />Esta declaração permite tudo da declaração transational e mais os elementos especificos para frames. <br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Frameset//ENquot; quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtdquot; ><br />Código SEQ Código ARABIC 7 - Exemplo de DTD Frameset<br />Página XHTML<br />Cabeçalho (<head>)<br />O cabeçalho possui informações sobre o documento em si, seus principais componentes são:<br />ElementoDescriçãoObrigatório<title></title>Deve ser o primeiro elemento do cabeçalho, informa o texto que aparece na barra de título do navegador.SIM<meta />Contem informações sobre o conteúdo do documento.NÃO<link />Elemento utilizado para realizar a ligação entre os documentos e as páginas contendo as folhas de estilo.NÃO<style></style>Informações sobre as folhas de estilo usadas em um determinado documento.NÃO<object></object><script></script>Espaço utilizado para inserção de código, por exemplo: javascript.NÃO<base />Especifica o endereço do documento XHMTL.NÃO<br />Corpo (<body>)<br />Como já foi dito o corpo do documento XHTML é formado pelas tags de formatação, utilizadas estruturação das informações a serem exibidas.<br />Elementos de bloco<br />Elementos de bloco são marcadores destinados tanto a estruturação quanto ao estilo da página:<br />ElementoNomeDescrição<p></p>ParágrafoSua representação depende do navegador, mas normalmente é representado por um espaço antes e depois do parágrafo.<div></div>DivisãoUtilizado com folhas de estilo na especificação de blocos<h1></h1> a <h6></h6>TítulosIntroduzem títulos no documento, podem ser de seis níneis (1 até 6), seu tamanho de fonte varia de 24 à 10 ptos<blockquote> </blockquote>CitaçõesUtilizados para criação de citações, que inserem uma linha antes e depois do texto, assim como um nível de edentação.<pre></pre>PreserveUtilizado para preservar a formatação do texto, não interpretando seu conteúdo.<br /><?xml version=quot; 1.0quot; encoding=quot; UTF-8quot; ?><br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Strict//ENquot; quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot; ><br /><html xmlns=quot; http://www.w3.org/1999/xhtmlquot; xml:lang=quot; enquot; lang=quot; enquot; ><br /> <head><br /> <title>Exemplo Títulos</title><br /> </head><br /> <body><br /> <h1>Exemplo com H1</h1><br /> <h2>Exemplo com H2</h2><br /> <h3>Exemplo com H3</h3><br /> <h4>Exemplo com H4</h4><br /> <h5>Exemplo com H5</h5><br /> <h6>Exemplo com H6</h6><br /> </body><br /></html><br />Código SEQ Código ARABIC 8 - Exemplo de títulos<br />Figura SEQ Figura ARABIC 1 - Resultado do exemplo de títulos<br /><?xml version=quot; 1.0quot; encoding=quot; UTF-8quot; ?><br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Strict//ENquot; <br /> quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot; ><br /><html xmlns=quot; http://www.w3.org/1999/xhtmlquot; xml:lang=quot; enquot; lang=quot; enquot; ><br /> <head><br /> <title>Exemplo Títulos</title><br /> </head><br /> <body><br /> <p> Isto é um parágrafo</p><br /> <div> Primeira div </div><br /> <div> Segunda div </div><br /> <p> E outro parágrafo</p><br /> <blockquote><br /> quot; Este agora é um bloco de citação, pequeno mas é<br /> </blockquote><br /> </body><br /></html><br />Código SEQ Código ARABIC 9 - Exemplo de blocos<br />Figura SEQ Figura ARABIC 2 - Resultado do exemplo de blocos<br />Elementos inline (descritivos de linha)<br />Elementos inline são marcadores destinados geralmente para armazenagem de textos.<br />Em destaque temos o elemento <span></span> o qual é o elemento inline mais usando em documentos xhtml.<br />Também podemos observar o conjunto de elementos voltados a decoração “inline”:<br />ElementoNomeDescrição<strong></strong>NegritoFonte em negrito.<em></em>ÊnfaseFonte em itálico.<small></small>PequenaFonte menor que o padrão.<big></big>GrandeFonte maior que o padrão.<code></code>CódigoFonte formato código.<dfn></dfn>DefiniçãoFonte em itálico em negrito.<kbd></kbd>TecladoTexto nono-espaçado, como se tivesse sido escrito na máquina de escrever.<cite></cite>CitaçãoFonte em itálico.<br /><?xml version=quot; 1.0quot; encoding=quot; UTF-8quot; ?><br /><!DOCTYPE html PUBLIC quot; -//W3C//DTD XHTML 1.0 Strict//ENquot; <br /> quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot; ><br /><html xmlns=quot; http://www.w3.org/1999/xhtmlquot; xml:lang=quot; enquot; lang=quot; enquot; ><br /> <head><br /> <title>Exemplo de decoração quot; inlinequot; </title><br /> </head><br /> <body><br /> <p>Fonte em <strong>negrito</strong>.</p><br /> <p>Fonte em <em>ênfase</em>.</p><br /> <p>Fonte <small>menor</small> que o padrão.</p><br /> <p>Fonte <big>maior</big> que o padrão.</p><br /> <p>Fonte <code>formato código</code>.</p><br /> <p>Fonte em <dfn>itálico em negrito</dfn>.</p><br /> <p>Texto <kbd>nono-espaçado</kbd>.</p><br /> <p>Fonte em <cite>citação</cite>.</p><br /> </body><br /></html><br />Código SEQ Código ARABIC 10 - Exemplo de elementos inline<br />Figura SEQ Figura ARABIC 3 - Resultado do exemplo de elementos inline<br />Listas<br />O XHTML dá suporte a três tipos de listas: ordenadas, não ordenada e de definição. <br />As listas não ordenadas são criadas fazendo-se uso do marcador <ul></ul>, e dos elementos <li></li>. Assim como pode possuir vários níveis, ou seja, uma lista dentro da outra.<br />As listas ordenadas possuem elementos que são “numerados”, o marcador utilizado é o <ol> </ol> e para definição de cada sub-elemento é o <li> </li>.<br />Já as listas de definição podem ser utilizadas na definição de termos, o marcador utilizado é o <dl></dl>, o marcador a ser utilizado no texto é o <dt> </dt> e na definição do texto <dd> </dd>.<br /><body><br /> <ol><br /> <li>São Paulo<br /> <ol><br /> <li>Campinas</li><br /> </ol><br /> </li><br /> <li>Santa Catarina<br /> <ol><br /> <li>Blumenau</li><br /> </ol><br /> </li><br /> <li>Rio Grande do Sul<br /> <ol><br /> <li>Porto Alegre</li><br /> </ol><br /> </li> <br /> <li>Rio de Janeiro</li><br /> </ol><br /></body><br />Código SEQ Código ARABIC 11 - Exemplo de lista ordenada<br />Figura SEQ Figura ARABIC 4 - Resultado do exemplo de lista ordenada<br /><body><br /> <ul><br /> <li>Item 1<br /> <ul><br /> <li>Item 1.1</li><br /> </ul><br /> </li><br /> <li>Item 2<br /> <ul><br /> <li>Item 2.1</li><br /> </ul><br /> </li><br /> <li>Item 3<br /> <ul><br /> <li>Item 3.1</li><br /> </ul><br /> </li><br /> </ul><br /></body><br />Código SEQ Código ARABIC 12 - Exemplo de lista não ordenada<br />Figura SEQ Figura ARABIC 5 - Resultado do exemplo de lista não ordenada<br /><body><br /> <dl><br /> <dt>Item 1.1</dt><br /> <dd>Descrição 1.1</dd><br /> <dt>Item 1.2</dt><br /> <dd>Descrição 1.2</dd><br /> <dt>Item 2.1</dt><br /> <dd>Descrição 2.1</dd><br /> </dl><br /></body><br />Código SEQ Código ARABIC 13 - Exemplo de lista descritiva<br />Figura SEQ Figura ARABIC 6 - Resultado de exemplo de lista descritiva<br />Atributos<br />Os atributos são utilizados para complementar um elemento html, seja com relação a seu comportamento ou quanto a sua apresentação. Estes atributos são inseridos sempre nos marcadores de abertura e os valores atribuídos a eles devem estar entre aspas duplas.<br />Dentre os atributos podemos destacar os “atributos universais”, os quais podem ser utilizados por qualquer marcador existente na linguagem.<br />AtributoDescriçãoidIdentifica unicamente os elementos dentro dos documentos XHTML;classEspecifica a classe a que um elemento pertence;titleEspecifica um título que pode ser utilizados para nomear o elemento;styleEspecifica o estilo de exibição do elemento.<br />Links<br />Hyperlinks ou simplesmente links são elos que ligam uma página a outra ou a si mesma.<br />O segredo de toda interatividade de uma página XHTML está no link, pois ele nos quot; transportaquot; até outra página, pode servir de âncora, levando-nos a algum trecho do texto ou pode conter alguma ação programada, por exemplo, em JavaScript que proporciona maior dinamismo e animação à página.<br />O link é definido pela tag <a>. Esta tag possui uma referência quando for um link ou um nome quando for uma âncora.<br />Âncoras<br />Âncoras são marcações que criamos em nosso documento que são invisíveis ao leitor, mas são identificados pelo browser.<br />Para criarmos uma âncora, basta usar a tag <a> na linha que deseja marcar e dar um nome a está tag para identificá-la. Vejamos o exemplo:<br /><body><br /> <p><br /> <a name=quot; inmetaquot; ></a><br /> </p><br /></body><br />Código SEQ Código ARABIC 14 - Exemplo de âncora<br />Link para a âncora<br />Para criarmos o link para a âncora usamos o atributo de referência HREF. A âncora é sempre identificada pelo símbolo tralha ou sharp (#) mais o seu nome. Um fato importante é que em um caminho URL a âncora sempre virá no final. Como vimos, no exemplo acima foi criado uma âncora no início de nessa pagina chamado inicio, se quisermos ir até este ponto basta usarmos o atributo HREF da própria tag <a>.<br /><a href=quot; #inmetaquot; >topo</a><br />Código SEQ Código ARABIC 15 - Exemplo de link para âncora<br />Links entre páginas<br />A função principal de um link é a ligação entre páginas, para fazermos tal ligação, usamos o atributo HREF e nele indicamos o caminho da outra página.<br />Por exemplo, abaixo está um exemplo de um link absoluto que nos leva a página inicial do site da InMeta.<br /><a href=quot; http://www.inmeta.com.brquot; >InMeta Agência Digital</a><br />Código SEQ Código ARABIC 16 - Exemplo de link absoluto<br />Exemplo de um link relativo<br /><a href=quot; ../home.phpquot; >Home</a><br />Código SEQ Código ARABIC 17 - Exemplo de link relativo<br />Links para Email<br />Para fazer um link para email, nós colocamos a palavra mailto, seguido de dois pontos (:), seguido do email ao qual vai ser enviada a mensagem, caso o usuário clique.<br /><a href=quot; mailto:contato@inmeta.com.brquot; >Enviar email</a><br />Código SEQ Código ARABIC 18 - Exemplo de link para e-mail<br />IMAGENS<br />Atualmente temos três formatos de figuras bem difundidos: GIF, JPEG e PNG, que podem ser incluídas nas páginas através do elemento <img />. Este elemento possui o atributo “alt”, que deve ser utilizado para fornecer um texto alternativo quando a imagem não puder ser visualizada, já o atributo “src” deve ser utilizado para indicar a localização da imagem.<br />O elemento “img” possui os seguintes atributos que podem ser usados no xhtml:<br />AtributoDescriçãowidthDefine o comprimento da imagemheightDefine o altura de imagem<br /><img src=quot; imagens/inmeta.jpgquot; alt=quot; InMeta Logoquot; /><br />Código SEQ Código ARABIC 19 - Exemplo de tag de imagem<br />Figura SEQ Figura ARABIC 7 - Resultado da tag img<br /><img src=quot; inmeta.jpgquot; alt=quot; InMeta Logoquot; width=quot; 100quot; height=quot; 60pxquot; /><br />Código SEQ Código ARABIC 20 - Exemplo de tag de imagem customizada<br />Figura SEQ Figura ARABIC 8 - Resultado da tag img customizada<br />Podemos também inserir um titulo a imagem onde será exibida ao deixar o mouse sobre ela;<br /><img src=quot; inmeta.jpgquot; alt=quot; InMeta Logoquot; title=quot; Titulo imagem - InMetaquot; /><br />Código SEQ Código ARABIC 21 - Exemplo de imagem com title (título)<br />Figura SEQ Figura ARABIC 9 - Resultado da tag img com title (título)<br />Tabela<br />Em XHTML todas as tabelas devem possuir um título, cabeçalho, corpo e roda-pé. O elemento “<table> </table>” é o responsável pela manutenção das tabelas nesta linguagem. Na construção de uma tabela podemos utilizar os seguintes elementos para definir suas partes:<br />AtributoDescrição<table></table>Delimita o tabela e seus elementos<caption></caption>Elemento opcional que indica o título da tabela<thead> </thead>Delimita o cabeçalho da tabela<tfoot> </tfoot>Delimita o roda-pé da tabela<tbody> </tbody>Delimita o corpo da tabela<tr> </tr>Delimita as linhas da tabela<td> </td>Delimita as colunas da tabela<th></th>Delimita as colunas da tabela como título<br />Uma célula pode se estender por mais de uma coluna, para isto deve ser utilizado o atributo “colspan” seguido do número de colunas que a célula deve se expandir. Caso a célula tenha de ocupar mais de uma linha o atributo a ser utilizado é o “rowspan”, ambos os atributos devem ser inseridos dentro de uma declaração <td> </td>.<br />Exemplo: <br />…<br /> <body><br /> <div><br /> <table><br /> <tr><br /> <td>Linha 1 Coluna 1</td><br /> <td>Linha 1 Coluna 2</td><br /> <td>Linha 1 Coluna 3</td><br /> </tr><br /> <tr><br /> <td>Linha 2 Coluna 1</td><br /> <td>Linha 2 Coluna 2</td><br /> <td>Linha 2 Coluna 3</td><br /> </tr><br /> <tr><br /> <td>Linha 3 Coluna 1</td><br /> <td>Linha 3 Coluna 2</td><br /> <td>Linha 3 Coluna 3</td><br /> </tr><br /> </table><br /> </div><br /> </body><br />…<br />Código SEQ Código ARABIC 22 - Exemplo de tabela simples<br />Figura SEQ Figura ARABIC 10 - Exemplo de tabela simples<br />Exemplo usando tbody, thead, tfoot:<br />…<br /> <body><br /> <div><br /> <table><br /> <thead><br /> <tr><br /> <th>Nome</th><br /> <th>Pontos</th><br /> </tr><br /> </thead><br /> <tfoot><br /> <tr><br /> <th>-</th><br /> <th>15</th><br /> </tr><br /> </tfoot><br /> <tbody><br /> <tr><br /> <td>T. Sexton</td><br /> <td>10</td><br /> </tr><br /> <tr><br /> <td>J. Dinnen</td><br /> <td>5</td><br /> </tr><br /> </tbody><br /> </table><br /> </div><br /> </body><br />…<br />Código SEQ Código ARABIC 23 - Exemplo de tabela com cabeçalho, corpo e rodapé<br />Figura SEQ Figura ARABIC 11 - Exemplo de tabela com cabeçalho, corpo e rodapé<br />Exemplo de uso de tabelas com união de células:<br />…<br /> <body><br /> <div><br /> <table><br /> <tr><br /> <td colspan=quot; 2quot; >Linha 1 Coluna 1</td><br /> <td>Linha 1 Coluna 3</td><br /> </tr><br /> <tr><br /> <td>Linha 2 Coluna 1</td><br /> <td>Linha 2 Coluna 2</td><br /> <td rowspan=quot; 2quot; >Linha 2 Coluna 3</td><br /> </tr><br /> <tr><br /> <td>Linha 3 Coluna 1</td><br /> <td>Linha 3 Coluna 2</td><br /> </tr><br /> </table><br /> </div><br /> </body><br />…<br />Código SEQ Código ARABIC 24 - Exemplo de tabela com células mescladas<br />Figura SEQ Figura ARABIC 12 - Exemplo de tabela com células mescladas<br />Formulário<br />Um formulário serve para o usuário interagir de alguma forma com o site, enviando informações, escolhendo ou selecionando certas funções do site ou entrar em contato com o criador ou dono do site.<br />O uso básico para construção de um formulário XHTML semântico é composto da sua tag <form>, mais o atributo da ação (action) que é utilizado para executar a própria ação, como por exemplo a ação que envia dados do formulário preenchido, utilizando o método (method) “post”.<br />Exemplo:<br />…<br /><div> <br /> <form action=quot; postar.phpquot; method=quot; postquot; ><br /> <fieldset><br /> <legend>Dados Pessoais</legend><br /> <p><br /> <label for=quot; txtNomequot; >Nome</label><br /> <input type=quot; textquot; id=quot; txtNomequot; /><br /> </p><br /> <p><br /> <label for=quot; txtEmailquot; >Email</label><br /> <input type=quot; textquot; id=quot; txtEmailquot; /><br /> </p><br /> </fieldset><br /> <fieldset><br /> <legend>Dados Profissionais</legend><br /> <p><br /> <label for=quot; txtEmpresaquot; >Empresa</label><br /> <input type=quot; textquot; id=quot; txtEmpresaquot; /><br /> </p><br /> <p><br /> <label for=quot; txtCargoquot; >Cargo</label><br /> <input type=quot; textquot; id=quot; txtCargoquot; /><br /> </p><br /> </fieldset><br /> <p><input type=quot; submitquot; value=quot; Enviarquot; /></p><br /> </form><br /></div><br />…<br />Código SEQ Código ARABIC 25 - Exemplo de formulário<br />Figura SEQ Figura ARABIC 13 - Exemplo de formulário<br />Os elementos internos de um formulário xhtml podem ser divididos em 7 tipos: input, button, select, textarea, label, fieldset e legend:<br />Fieldset & Legend<br />O elemento fieldset tem a função de denominar áreas ao formulário, como exemplo área de inserção de dados pessoais, logo outro fieldset para área de informações comerciais. A Legenda serve para descrever em texto algo que identifique o fieldset.<br />Label<br />Serve para descrever ou associar a um elemento, utilizando o atributo “for” que serve para criar uma ligação entre os dois elementos, quando o label for clicado o foco passara para o outro elemento da ligação.<br />Exemplo:<br /><label for=quot; nomequot; >Nome:</label><br /><input id=quot; nomequot; type=quot; textquot; /><br />Código SEQ Código ARABIC 26 - Exemplo de label (título para campos de um formulário)<br />Input<br />O elemento input é um elemento de formulário, onde ao atributo type se agregam vários outros valores que definem outros tipos de inputs, são eles:<br />radio - Seleção de uma única alternativa<br />checkbox – Seleção de múltiplas alternativas<br />submit – Elemento que envia informações de um formulário<br />image – Elemento que envia informações de um formulário através de um botão gráfico<br />text – Caixa que recebe valores simples de texto<br />hidden – Envia dados ocultos<br />password – Entrada de linha de texto com informações ocultas em ****.<br />reset – Botão que limpa os dados adicionados pelo usuário<br />file – Seleciona arquivos para um tipo de envio.<br />button – Botão evento, semelhante ao input mas aceita conteúdo<br />Select<br />O elemento select é destinado a exibir uma lista de opções onde muitas vezes essa lista é extensa, o elemento exibe somente uma opção e esconde todas as restantes.As opções são exibidas onde definimos a tag option.<br />Textarea<br />Este elemento é semelhante ao input type=”text”, com a diferença de ter a possibilidade de inserção de múltiplas linhas de texto. Onde em cols é definida a quantidade de colunas e rows de linhas que são exibidas antes do scroll se ativar.<br />Validação W3C<br />W3C Markup Validation Service<br />O serviço de Markup Validatior da W3C, é um serviço gratuito, que ajuda a analisar documentos web usando as linguagens HTML ou XHTM.<br />Estas linguagens estão definidas por especificações técnicas. A validação de documentos web, é um importante passo, que pode ajudar a melhorar drasticamente a qualidade de um website, permitindo poupar tempo e dinheiro. Esta ferramenta de análise, além de identificar os eventuais erros da página também identifica a possível solução para o problema.<br />Existem dois tipos de ferramentas: uma para análise dos ficheiros HTML e para os ficheiros CSS. Estas ferramentas estão disponíveis no website da W3C ou então nos links listados abaixo:<br />HTML Validator - http://validator.w3.org/<br />CSS Validator - http://jigsaw.w3.org/css-validator<br />Para mais informações pode visitar a documentação disponível no website da W3C em http://validator.w3.org/about.html ou em http://www.w3.org<br />Indentação<br />A indentação é fundamental para uma boa compreensão do documento XHTML.<br />O quadro vermelho exibe um código errado, sem indentação.<br />O quadro verde exibe um código correto, com indentação.<br /><body><br /><fieldset><br /><ul><br /><li><br /><span>E-Mail</span><br /><div><br /><a href=quot; mailto:contato@inmeta.com.brquot; title=quot; emailquot; >contato@inmeta.com.br</a><br /></div><br /></li><br /></ul><br /></fieldset><br /></body><br /><body><br /> <fieldset><br /> <ul><br /> <li><br /> <span>E-Mail</span><br /> <div><br /> <a href=quot; mailto:contato@inmeta.com.brquot; title=quot; emailquot; >contato@inmeta.com.br</a><br /> </div><br /> </li><br /> </ul><br /> </fieldset><br /></body><br />SEO + XHTML<br />As meta tags importantes para o SEO são:<br />Title tag (<title></title>)<br />Meta description<br />Meta keywords<br />h1 a h6<br />Title<br />1. Use o nome da página em todas title tag!<br />Mas mude o título de acordo com o conteúdo:<br />“Mestre SEO – Artigos”<br />“Mestre SEO – Black Hat”<br />“Mestre SEO – Link Building”<br />2. Não ultrapassar 60~70 caracteres.<br />Isso porque não vai aparecer mais do que 70 caracteres nos resultados de busca para o título de uma página…<br />3. Use palavras-chave (mas dentro de um contexto):<br />Atenção! Não vale keyword spamming! “mestre seo, dicas de seo, tudo sobre seo, tutorial de seo, black hat seo, meta description seo, …”<br />Use as palavras-chave mas com algum sentido: “Mestre SEO – Tudo sobre SEO” <br />4. Se for usar frases, que sejam relevantes<br />“Mestre SEO – 10 Motivos para não usar Black Hat” <br />“Mestre SEO – Bom dia, hoje eu acordei pensando em novas técnicas de SEO..”<br />5. Separador de frases: deixe a frase separada do resto do título<br />“Mestre SEO – Artigos | SEO na Title Tag”<br />6. O que a página oferece?<br />Um título para uma página deve seguir a sua oferta e procura. Quando a página oferece um browsing ou pesquisa, recomenda-se um título descritivo. Porém, quando se está vendendo ou oferecendo um download, deve-se deixar claro no título que a compra, download ou qualquer outra ação, pode ser feita no site. “Mestre SEO – Faça Download de e-Books sobre SEO”, ou “Mestre SEO – Pesquise os melhores livros de SEO”.<br />7. Mantenha um padrão<br />Estabeleça um padrão para o Título e siga-o.<br />“Mestre SEO – Artigos”<br />“Mestre SEO – Downloads”<br />“Mestre SEO – Artigos”<br />“Faça downloads Mestre SEO”<br />“compre livros – dicas de seo”<br />8. Use o Título dentro da página<br />Repita o título da página na h1 da página, ou algo que o valha, assim o usuário vai ter certeza que chegou onde queria e que seu site oferece o que ele precisa. Para não falar que o buscador vai adorar encontrar no conteúdo da página o que a title tag diz que tem! <br />Meta Description Tags<br />Meta Description Tags são tags que não aparecem no browser do usuário quando ele carrega uma página do site. Elas contêm informações voltadas principalmente para os motores de busca, mas não somente.<br />Usos:<br />Descrever o conteúdo da página com precisão e sucintamente<br />Servir de uma pequena propaganda para atrair tráfego orgânico<br />Para disponibilizar as palavras-chave para os buscadores<br />Boas meta descriptions não são sempre fáceis de escrever, mas quando se tem a origem de tráfego nos motores de busca, elas são essenciais para o sucesso de um site. Elas tem uma importância ainda maior quando os termos usados na busca indicam uma ação do usuário.<br />Tag – keywords <br />Deverá sempre ser mantida abaixo dos 255 caracteres no total, incluindo letras e espaços. O motivo é técnico mas simples: Este é o valor “por defeito” do tamanho máximo de alguns campos na maioria das bases de dados. Logo pela força dos números existe uma fortíssima probabilidade de só os primeiros 255 caracteres das suas meta-tags serem guardados, o que torna as excepções pontuais e confortavelmente negligenciáveis.<br />Idealmente devem ser utilizadas de 3 a 12 keywords ou frases chave simples. A utilização de mais do que 20 keywords pode ser considerada “spamindexing” e levar a que o site seja banido ou ignorado pelos motores de busca. Alem de que um grande número de keywords diminui a densidade das palavras-chave relevantes, e levam a que o site surja, ao escrutínio dos motores de busca, como de menos relevância nesse contexto. Isto na prática significa perda drástica de posições nas listagens, uma vez que as posições iniciais de listagem seguem um padrão exponencial, pelos efeitos da forte concorrência com outros websites similares.<br />H1 a H2<br />Essas tags mostram a relevância do seu texto para o buscador. H1 deve ser o nível principal, com o titulo do texto (normalmente o mesmo que a tag de título ), H2 deve ser um complemento (sub tópico) do H1 e e por ai vai até H6.<br />Módulo 2 (CSS)<br />História<br />Como Surgiu<br />Formatar informação dos sites não é algo novo. Por volta de 1970, no começo da trajetória do SGML, já se falava em algo parecido.<br />Quando o HTML foi criado, a intenção não era de forma alguma, formatar informação. A medida que o HTML foi se popularizando e evoluindo, foram incluídas em suas qualidades, o domínio de controlar algumas aparências para o documento. Isso fez com que a linguagem ficasse muito complexa, mais dificil para entender e manter. Outro problema era que os browsers tinham diferenças de implementações, o que dificultava a visualização dos sites, trazendo menos controle na navegação pela web.<br />Por esse tempo apareceu o salvador da pátria. Håkon Wium Lie, vendo toda essa dificuldade, resolveu criar um jeito mais fácil para formatar a informação. Foi aí que ele propôs a criação do CSS ou Cascading Style Sheets… Esse era o ano de 1994. Aceitando o convite feito pelo próprio Håkon, Bert Bos – que naquele tempo estava trabalhando em um browser chamado Argo – começou a trabalhar no projeto. Os dois então, trabalharam juntamente no começo do desenvolvimento do CSS.<br />Em 1995 eles apresentaram sua proposta e finalmente, o W3C – World Wide Web Consortium – que estava acabando de nascer, se interessou pelo projeto e resolveu criar uma equipe, obviamente liderada por Håkon e Bert Bos. O resultado apareceu logo, em 1996, eles lançaram a recomendação oficial pelo W3C do CSS Level 1 (CSS 1). Dois anos depois, no dia 12 de Maio de 1998, eles lançaram a recomendação do CSS de nível 2. A segunda versão das Folhas de Estilo para web.<br />Como Está hoje<br />O nível 3 do CSS ainda está em desenvolvimento. Mas, sabemos que as facilidades serão muitas, como por exemplo, criar bordas arredondadas sem o uso de imagens, ou definir duas imagens como background de um mesmo objeto.<br />Do jeito que as coisas vão indo, o CSS 3 não demorará tanto quanto as outras. Os browsers estão mais compatíveis, os desenvolvedores mais espertos. A comunidade em si está muito mais madura e rigorosa sobre esses assuntos.<br />Conceito<br />CSS é a sigla em inglês para Cascading Style Sheet que em português foi traduzido para folha de estilo em cascata e é definida como quot; Folha de estilo em cascata é um mecanismo simples para adicionar estilos (p.ex., fontes, cores, espaçamentos) aos documentos Web.quot; <br />Estrutura<br />Inserção de CSS no HTML<br />Folhas de estilos podem ser aplicadas de três formas em arquivos HTML:<br />Folha de estilos externa<br />Um documento separado das tags HTML<br />Folha de estilos interna<br />No próprio documento que contem as tags HTML<br />Folha de estilos inline<br />Na própria tag que se deseja formatar.<br />Exemplo de inserção de folhas de estilo externa, ou seja, em arquivos separados:<br />h1 { <br /> color: red;<br />}<br />Código SEQ Código ARABIC 27 - Exemplo de arquivo de CSS<br /><head><br /> <link rel=quot; stylesheetquot; type=quot; text/cssquot; href=quot; style.cssquot; /><br /></head><br />Código SEQ Código ARABIC 28 - Exemplo de folha de estilo externa<br />No exemplo acima foi usado uma folha de estilos externa onde a tag link importa o arquivo referenciado no atributo href. O atributo type indica o tipo de arquivo a ser importado e o atributo rel indica a relação do arquivo atual (HTML) com o arquivo a ser importado (CSS).<br /><head><br /> <style type=quot; text/cssquot; ><br /> h2 {color: blue;}<br /> p {margin-left: 20px;}<br /> body {background-image:url(quot; fundo.gifquot; );}<br /> </style><br /></head><br />Código SEQ Código ARABIC 29 - Exemplo de folha de estilo interna<br />Ao inserir folhas de estilos em um arquivo HTML é possível fazê-lo semelhante a um arquivo CSS externo. A diferença é a adição da tag style que deve ser inserida dentro das tag head.<br /><div style=quot; width:400px; height:250px; background-color:#F00quot; ></div><br />Código SEQ Código ARABIC 30 - Exemplo de folha de estilo inline<br />O código acima exibe o uso de folha de estilo inline, ou seja, as propriedades e valores estão dentro do atributo style que está dentro do elemento. Nesse caso a aplicação do estilo é valida somente para o elemento que tem o atributo style.<br />Seletores<br />Existem três modos básicos de selecionar elementos para formatação usando CSS:<br />Elemento HTML<br />Exemplo: h1, h2...h6, div, span, p<br />Atributo quot; classquot; de um elemento HTML<br />Exemplo: class=”texto”<br />Atributo quot; idquot; de um elemento HTML<br />Exemplo: id=”conteudo”<br />Sintaxe<br />Uma regra CSS tem duas partes principais: um seletor e uma ou mais declarações:<br />h1 { <br /> color: red;<br />}<br />Código SEQ Código ARABIC 31 - Exemplo de uso de estilo em elementos<br />No exemplo acima foi usado o elemento <h1> e aplicado o estilo color que é a propriedade e red que é o valor. Nesse caso todos os elementos <h1> das páginas que contem essa folha de estilos terão a aplicação do estilo.<br />.texto { <br /> font-size: 11px;<br />}<br />Código SEQ Código ARABIC 32 - Exemplo de uso de estilo em elementos que possuem classe<br />No exemplo acima foi usado a classe texto e aplicado o estilo font-size (tamanho da fonte) que é a propriedade e 12px que é o valor. Todos os elementos que possuírem a classe texto receberão o estilo.<br />#conteudo { <br /> width: 300px;<br />}<br />Código SEQ Código ARABIC 33 - Exemplo de uso de estilo em um elemento com identificador único<br />No exemplo acima foi usado o elemento cuja identificação (id) é conteudo e aplicado o estilo width (largura) que é a propriedade e 300px que é o valor. Como o id de um elemento não pode ser usado mais de uma vez na mesma página então apenas um elemento, aquele que tiver o id conteudo, terá a aplicação do estilo.<br />A importância do float: left;<br />Entender o correto funcionamento e a dinâmica da propriedade CSS “float” é fundamental para o desenvolvimento e estruturação de bons layouts para web. Saber usar corretamente float em web sites e projetos web, em geral, é de extrema importância, já que, basicamente, é através das regras CSS que utilizam float que é possível compor layouts sem o uso de tabelas (tableless), o que traz inúmeros benefícios, como economia no tempo de carregamento, adequação às normas W3C e, consequentemente, um aumento de performance, em geral.<br />O que é “Float”?<br />Float é uma propriedade CSS de posicionamento!<br />propriedade Float na prática<br />Para todos os exemplos de folha de estilos usaremos o mesmo código HTML que segue.<br /><body><br /> <div id=quot; geralquot; ><br /> <div id=quot; esquerdaquot; ></div><br /> <div id=quot; direitaquot; ></div><br /> </div><br /></body><br />Código SEQ Código ARABIC 34 - Propriedade FLOAT (código HTML base) <br />Inicialmente nada aparecerá no navegador pois os elementos não tem forma e estão vazios.<br />Insira o código CSS a seguir.<br />#geral {<br />background:#EEE; /* cinza */<br />height:600px;<br />width:800px;<br />}<br />Código SEQ Código ARABIC 35 - Propriedade FLOAT (#geral)<br />Uma divisão de 800px por 600px e um fundo cinza foram criados cuja identificação é “geral”. Será possível verificar o posicionamento dos demais elementos ao inserir estilos neles. Essa primeira divisão foi criada somente para facilitar a visualização dos elementos internos.<br />Adicione o código CSS ao código criado anteriormente.<br />#esquerda {<br />background:#F00; /* vermelho */<br />height:100px;<br />width:300px;<br />}<br />#direita {<br />background:#00F; /* azul */<br />height:200px;<br />width:200px;<br />}<br />Código SEQ Código ARABIC 36 - Propriedade FLOAT (#esquerda e #direita)<br />A imagem ao lado ilustra o resultado obtido da aplicação do CSS acima. Os elementos HTML são posicionados um abaixo do outro. Para posicionar os elementos um ao lado do outro usamos a propriedade de posicionamento: FLOAT!Aplica-se a propriedade aos dois elementos identificados de #esquerda e #direita.<br />#esquerda {<br />background:#F00; /* vermelho */<br />float:left;<br />height:100px;<br />width:300px;<br />}<br />#direita {<br />background:#00F; /* azul */<br />float:left;<br />height:200px;<br />width:200px;<br />}<br />Código SEQ Código ARABIC 37 - Propriedade FLOAT (#esquerda e #direita com float:left)<br />A figura ao lado exibe a aplicação da propriedade float (propriedade de posicionamento) com valor left (esquerdo), conforme o código CSS acima.Os elementos cujo estilo float: left é aplicado assume o espaço superior e esquerdo do elemento pai. Nesse caso o elemento pai é a <div> com identificação #geral.A propriedade float possui ainda o valor right (direita).<br />Caso seja necessário inserir um elemento HTML abaixo do outro é importante que se use a propriedade float e no elemento que ficará abaixo (nesse caso #direita) basta inserir a propriedade clear com valor left. O resultado é semelhante ao exemplo que não foi usado o float: left.<br />Então por que utilizar as propriedades float e clear quando podemos não utilizar e gerar os mesmos resultados?<br />Simples: controle dos elementos HTML e garantia que os elementos ficarão exatamente onde são esperados!<br />Aqui temos exemplos com pouco código, porém ao criar páginas HTML os arquivos CSS podem ficar grandes (2000 linhas, por exemplo) somado ao arquivo HTML (com mais 500 linhas) fica fácil se perder. <br />Na imagem ao lado a propriedade float teve seu valor alterado de left para right no elemento <div> com identificação #direita.Nesse caso o elemento assume o posicionamento mais próximo do canto direito e superior do elemento pai (#geral).<br />Desvantagem da propriedade float<br />Em nosso exemplo a tag <div> com identificação #geral tem 800px de largura.<br />A tag <div> com identificação #esquerda tem 300px de largura e a tag <div> com identificação #direita tem 200px de largura. A soma das divisões filhas gera 500px sendo menor que a divisão pai que tem 800px. <br />Ao aumentar a largura da tag <div> com identificação #esquerda de 300px para 650px de largura e somar as larguras das divisões filhas o resultado será de 850px que é maior que a divisão pai (800px).Nesse caso o segundo elemento é empurrado para baixo.Por isso é importante planejar como será feito o CSS antes de começar a codificar! O planejamento ajuda a evitar esse tipo de erros.<br />Estruturando uma página<br />Para estruturar uma página usa-se a tag <div> e acrescenta-se folha de estilos conforme a necessidade.<br />O modelo a estruturar é o site da InMeta Agência Digital.<br />Figura SEQ Figura ARABIC 14 - Website da InMeta Agência Digital<br />É importante ter os passos bem definidos para saber o que fazer, portanto o primeiro passo é visualizar o site em partes, ou seja, dividindo em blocos, grupos de informações. Inicie a divisão em blocos grande. Veja o exemplo a seguir:<br />A primeira divisão foi entre a parte de cima e a parte de baixo. A parte de cima terá todas as informações do site, exceto o rodapé que estará na parte de baixo. Essa divisão é feita para que a utilização de imagens de fundo sejam bem aproveitadas. Segue um exemplo que define como fazer essa divisão.<br /><body><br /> <div id=quot; parte_cimaquot; ></div><br /> <div id=quot; parte_baixoquot; ></div><br /></body><br />Código SEQ Código ARABIC 38 - Estrutura HTML (parte de cima e parte de baixo)<br />#parte_cima {<br />background:#EEE;<br />float:left;<br />min-height:600px;<br />width:100%;<br />}<br />#parte_baixo {<br />background:#6F0;<br />float:left;<br />min-height:200px;<br />width:100%;<br />}<br />Código SEQ Código ARABIC 39 - Estrutura CSS (parte de cima e parte de baixo)<br />A imagem ao lado exibe o resultado da aplicação da folha de estilo acima no HTML. O exemplo usou dois identificadores (id); um para cada tag <div>. O arquivo CSS apresenta a propriedade background utilizada para inserir cor ou imagem no fundo de um elemento, a propriedade float já estudada, a propriedade min-height (altura mínima) é usada nesse primeiro momento para que seja possível a visualização do elemento com o estilo que foi aplicado e a propriedade width que é a largura.<br />O próximo passo é continuar a divisão. Como o site tem seu conteúdo centralizado à próxima divisão será somente um elemento para definir os limites do conteúdo.<br /><body><br /> <div id=quot; parte_cimaquot; ><br /> <div id=quot; geralquot; ></div><br /> </div><br /> <div id=quot; parte_baixoquot; ></div><br /></body><br />Código SEQ Código ARABIC 40 - Estrutura HTML (geral)<br />#parte_cima {<br />background:#EEE;<br />float:left;<br />min-height:600px;<br />width:100%;<br />}<br />#parte_baixo {<br />background:#6F0;<br />float:left;<br />min-height:200px;<br />width:100%;<br />}<br />#geral {<br />background:#999;<br />margin:0 auto;<br />min-height:600px;<br />width:1000px;<br />}<br />Código SEQ Código ARABIC 41 - Estrutura CSS (geral)<br />A imagem ao lado ilustra o resultado da aplicação do CCS e HTML acima. Aqui foi usado a propriedade margin que aceita os valores para margin-top, margin-right, margin-bottom, margin-left (exatamente nessa sequência: superior, direita, inferior e esquerda). As margens inferior e esquerda são opcionais e caso não tenham valores estas assumem os valores de superior e direita, respectivamente, conforme exemplo do CSS acima. Resumindo “0 auto” é igual a “0 auto 0 auto”, onde o valor “0” não precisa de unidade de medida (px, % etc) e “auto” significa que o elemento terá sua margem adaptada conforme o espaço que lhe sobrar em relação ao elemento pai. Nesse caso o elemento pai é #parte_cima e o elemento filho é #geral.Observação: perceba que o estilo de #parte_cima não necessita mais de min-height pois o elemento filho tem uma altura.<br />Dica: para lembrar o uso de margin relacione com o sentido horário (assim como em um relógio) onde a aplicação de valores inicia no top (12) e termina na esquerda (9).<br />Assim como #geral foi criado para #parte_cima, #rodape pode ser criado para #parte_baixo.<br />E continue dividindo a imagem em partes menores.<br />É importante salientar que inicialmente usamos identificadores (id) pois esses elementos não repetirão. Nessa mesma tela existe uma área de notícias onde os elementos html repetem. Nesse caso deve-se usar classes (class) para criar a folha de estilos.<br />Diferença entre Browsers<br />Existem vários navegadores disponíveis para os usuários de internet e isso pode ser interpretado em dificuldades no momento de aplicar folhas de estilos no HTML.<br />Entre todos os navegadores o Internet Explorer (IE) é o vilão! As versões mais antigas são as que geram mais trabalho principalmente por falta de suporte e bugs.<br />Um erro muito comum acontece com margens. No IE6 as margens têm seus tamanhos duplicados, ou seja, se o valor da margem é 5px em todos os navegadores funciona perfeitamente com 5px e no IE6 pode aparecer com 10px. Uma opção para corrigir esse bug é usar a propriedade display com valor inline.<br />Módulo 3 (Imagens)<br />Para que servem as imagens?<br />Começando do começo<br />Primeiramente vamos relembrar alguns elementos que dão forma a uma página HTML. Inicialmente vamos usar a tag <div> entender o uso das imagens.<br />Como já sabemos, a tag <div> serve para a delimitação de um espaço na página, por isso o nome DIV, que é uma abreviação de DIVISION, ou, divisão.<br />Quando estamos desenvolvendo uma página, em vários momentos usaremos esta tag, para delimitar os espaços dentro dela.<br />Alguns desses espaços, devido ao design, necessitam de um estilo com algum desenho ou ilustração ao fundo para alcançar o efeito desejado, como no exemplo a seguir:<br />E é principalmente para isso que servem as imagens.<br />E então? Vamos aprender como usar as imagens a nosso favor, usando a propriedade background do CSS.<br />a propriedade background do css<br />A propriedade background define as características (os valores na regra CSS) do fundo dos elementos HTML.<br />As propriedades background são as listadas abaixo:<br />background-color.......... cor do fundo;<br />background-image.......... imagem de fundo;<br />background-repeat......... maneira como a imagem de fundo é posicionada;<br />background-attachment..... se a imagem de fundo quot; rolaquot; ou não com a tela;<br />background-position....... como e onde a imagem de fundo é posicionada;<br />background................ maneira abreviada para todas as propriedades;<br />Os valores válidos para estas propriedades são:<br />background-color:<br /> código hexadecimal: #FFFFFF<br /> código rgb: rgb(255,235,0)<br /> nome da cor: red, blue, green...etc<br /> transparente: transparent<br />background-image: <br /> URL: url(caminho/imagem.gif)<br />background-repeat:<br /> não repete: no-repeat<br /> repete vertical e horizontal: repeat<br /> repete vertical: repeat-y<br /> repete horizontal: repeat-x<br />background-attachment:<br /> imagem fixa na tela: fixed<br /> imagem quot; rolaquot; com a tela: scroll<br />background-position:<br /> x-pos y-pos<br /> x-% y-%<br /> top left<br /> top center<br /> top right<br /> center left<br /> center center<br /> center right<br /> bottom left<br /> bottom center<br /> bottom right<br />Exemplos<br />Usando uma imagem como fundo da tag <body> da página:<br /><html><br /> <head><br /> <style type=quot; text/cssquot; ><br /> <!--<br /> body { <br /> background-image: url(quot; /images/css.gifquot; );<br /> }<br /> --><br /> </style><br /> </head><br /> <body><br /> </body><br /></html><br />Resultado:<br />Repetir verticalmente a imagem de fundo:<br /><html><br /> <head><br /> <style type=quot; text/cssquot; ><br /> <!--<br /> body {<br /> background-image: url(quot; /images/css.gifquot; );<br /> background-repeat: repeat-y;<br /> }<br /> --><br /> </style><br /> </head><br /> <body><br /> </body><br /></html><br />Resultado:<br />Repetir horizontalmente uma imagem de fundo:<br /><html><br /> <head><br /> <style type=quot; text/cssquot; ><br /> <!--<br /> body {<br /> background-image: url(quot; /images/css.gifquot; );<br /> background-repeat: repeat-x;<br /> }<br /> --><br /> </style<br /> </head><br /> <body><br /> </body><br /></html><br />Resultado:<br />Posicionando uma imagem de fundo + Tornando ela fixa (estilo twitter.com/RafaelDalpra):<br /><html><br /> <head><br /> <style type=quot; text/cssquot; ><br /> <!--<br /> body {<br /> background-image: url(quot; /images/css.gifquot; );<br /> background-repeat: no-repeat;<br /> background-position: 200px 70px; <br /> /*Para tornar a imagem fixa*/<br /> background-attachment: fixed;<br /> }<br /> --><br /> </style><br /> </head><br /> <body><br /> </body><br /></html><br />Este é o efeito da folha de estilo acima: a imagem esta posicionada a 200 pixel da margem esquerda e 70 pixel da margem superior:<br />Referência<br />http://www.tableless.com.br (HTML5, CSS3, Padrões WEB, Tableless […] e muito mais…)<br />http://www.w3schools.com (Full Web Building Tutorials)<br />http://maujor.com (CSS, Padrões WEB, Acessibilidade)<br />http://pt-br.html.net/tutorials/html/default.asp (HTML e CSS - Construa seu website)<br />http://www.profissionaisdeweb.com (Feito para profissionais)<br />http://www.mestreseo.com.br (SEO sem limites)<br />