HTML (Linguagem de Marcação de Hipertexto) é o código que é utilizado para estruturar uma página da web e o seu conteúdo. Por exemplo, o conteúdo poderá ser estruturado dentro de um conjunto de parágrafos, uma lista de pontos com marcadores, ou utilizando imagens e tabelas de dados. Como o título sugere, este artigo irá dar-lhe uma compreensão básica do HTML e as suas funções.

Então, o que é realmente o HTML?

HTML não é uma linguagem de programação; é uma linguagem de marcação que define a estrutura do seu conteúdo. HTML consiste numa série de elementos, que se utilizam para envolver, ou cercar, diferentes partes do conteúdo, e assim fazê-lo ter uma determinada aparência ou agir de determinada maneira. As etiquetas envolventes podem interligar as palavras ou imagens para outro lugar, colocar palavras em itálico, tornar o tipo de letra maior ou menor, e assim por diante. Por exemplo, veja a seguinte linha de conteúdo:

O meu gato é muito rabugento

Caso queiramos que a linha esteja separada de outras, podemos especificar que é um parágrafo envolvendo-a em etiquetas de parágrafo:

<p>O meu gato é muito rabugento</p>

Anatomia de um elemento HTML

Vamos explorar este elemento de parágrafo um pouco mais.

As partes principais do nosso elemento são:

  1. A etiqueta de abertura: Consiste no nome do elemento (neste caso, p), envolto em parênteses angulares. Isto afirma onde começa o elemento, ou onde começa a ter efeito — neste caso, onde começa o parágrafo.
  2. A etiqueta de fecho: É igual à de abertura, mas tem uma barra antes do nome do elemente. Isto afirma onde acaba o elemento — neste caso, onde fica o fim do parágrafo. Omitir a etiqueta de fecho é um erro de principiante comum e pode levar a resultados estranhos.
  3. O conteúdo: É o conteúdo do elemento, que neste caso é só texto.
  4. O elemento: A etiqueta de abertura, mais a etiqueta de fecho, mais o conteúdo, é igual ao elemento.

Elementos também podem ter atributos, que se parecem assim:

Atributos contêm informação extra sobre o elemento que não quer que apareça no conteúdo. Aqui, class é o nome do atributo, e editor-note é o valor do atributo. O atributo class permite identificar o elemento quando, mais tarde, se vai atribuir informação de estilo e outras coisas.

Um atributo deverá ter sempre:

  1. Um espaço entre si o nome do elemento (ou do atributo anterrior, se esse elemento já possuir um ou mais atributos).
  2. O nome do atributo, seguido de um sinal de igual.
  3. O valor do atributo, envolto em abre e fecha aspas.

Nota: Valores de atributos que não possuam espaço em branco ASCII (ou nenhum dos caracteres " ' = < >), mas recomenda-se que todos os valores de atributos sejam envoltos em aspas, para tornar o código mais consistente e compreensível.

Aninhar elementos

Também pode colocar elementos dentro de outros elementos  — chama-se a isto aninhar. Se quisermos declarar que o nosso gato é muito rabugento, podemos cercar a palavra "muito" com um element <strong>, que significa que a palavra tem ênfase forte:

<p>O meu gato é <strong>muito</strong> rabugento.</p>

No entanto, tem que se certificar que os seus elementos estão devidamente aninhados: no exemplo em cima, abrimos o elemento <p> primeiro, e depois o elemento <strong> , portanto temos que fechar o elemento <strong> primeiro, e só depois o <p>. A linha seguinte está errada:

<p>O meu gato é <strong>muito rabugento.</p></strong>

Os elementos têm que abrir e fechar corretamente para que seja claro se estão dentro ou fora uns dos outros. Se ficarem sobrepostos como se mostrou em cima, o seu navegador vai tentar adivinhar o que você quis dizer, e pode obter resultados inesperados. Então, não faça isso!

Elementos vazios

Alguns elementos não têm conteúdo, aos quais chamamos elementos vazios. Veja o elemento <img> que já temos no nosso HTML:

<img src="images/firefox-icon.png" alt="My test image">

O mesmo contém dois atributos, mas não há etiqueta de fecho, </img>, nem conteúdo no seu interior, uma vez que um elemento de imagem não envolve conteúdo para o afetar. O seu propósito é incorporar uma imagem na página HTML, no local onde aparece.

Anatomia de um documento HTML

Assim terminamos as bases de elementos HTML individuais, mas eles não são muito úteis sozinhos. Vamos agora ver como os elementos se combinam para formar uma página HTML inteira. Voltemos ao código que escrevemos no ficheiro de exemplo index.html (que conhecemos no artigo Lidar com ficheiros):

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>My test page</title>
  </head>
  <body>
    <img src="images/firefox-icon.png" alt="My test image">
  </body>
</html>

Aqui temos:

  • <!DOCTYPE html> — o tipo de documento. Na noite dos tempos, quando HTML era jovem (cerca de 1991/2), os tipos de documento agiam como ligações para um conjunto de regras que a página HTML tinha que seguir para ser considerado HTML, que podia significar verificação automática de erros e outras coisas úteis. Contudo, hoje em dia ninguém quer saber delas, e são apenas um artefacto histórico que tem que ser incluído para tudo funcionar. Para já é só isto que precisa de saber.
  • <html></html> — o elemento <html>. Este elemento envolve o conteúdo de toda a página, e por vezes é conhecido como elemento raiz.
  • <head></head> — o elemento <head>. Este elemento funciona como contentor para tudo o que quer incluir na página HTML que não é o conteúdo mostrado aos visitantes da página. Tal inclui por exemplo keywords e uma descrição da página que é mostrada em resultados de pesquisa, CSS para definir o estilo do conteúdo, declaração do conjunto de caracteres, e mais.
  • <body></body> — o elemento <body>. Este elemento possui todo o conteúdo que quer mostrar aos utilizadores quando visitam a página, seja texto, imagens, vídeos, jogos, faixas de áudio reproduzíveis, e tudo mais.
  • <meta charset="utf-8"> — este elemento define que o documento deve utilizar conjunto de caracteres UTF-8, o qual inclui a maior parte dos caracteres da vasta maioria de linguagens humanas. Essencialmente, agora o ficheiro pode conter qualquer conteúdo textual que possa vir a pôr-lhe. Não há motivos para não colocar este elemento, e pode evitar problemas no futuro.
  • <title></title> — o elemento <title>. Define o título da página, que é o título que aparece no separador do navegador que carregou a página. Também é usado para descrever a página quando é adicionada aos marcadores/favoritos.

Imagens

Vamos virar a nossa atenção para o elemento <img> outra vez:

<img src="images/firefox-icon.png" alt="My test image">

Como já referimos, incorpora uma imagem na nossa página, no local onde aparece. Para tal recorre ao atributo src (source — fonte, origem), que contém o caminho para o ficheiro de imagem.

Também incluímos o atributo alt (alternativa). Neste atributo, você especifica texto descritivo para utilizadores que não conseguem ver a imagem, possivelmente porque:

  1. Têm deficiências visuais. Utilizadores com deficiências visuais significativas costumam utilizar ferramentas chamadas leitores de ecrã que lhes lê o texto alternativo.
  2. Alguma coisa correu mal e fez com que a imagem não fosse mostrada. Por exemplo, tente mudar deliberadamente o caminho no atributo src para torná-lo incorreto. Se guardar e recarregar a página, deve ver algo como isto em vez da imagem:

As palavras-chave sobre texto alterntivo são: "texto descritivo". Ou seja, deve dar ao leitor informação suficiente para ter uma boa ideia do que a imagem transmite. Neste exemplo, o texto atual, "My test image" não é nada bom. Uma alternativa muito melhor para o nosso logótipo do Firefox seria "Logótipo do Firefox: uma raposa flamejante a rodear o mundo."

Agora, tenta encontrar texto alternativo melhor para a tua imagem.

Nota: saiba mais sobre acessibilidade em MDN - Página de Acessibilidade.

Marcação de texto

Esta secção irá abranger alguns dos elementos básicos de HTML que irá utilizar para marcar texto.

Títulos

Elementos de título permitem especificar que determinadas partes do seu conteúdo são títulos (ou subtítulos) do conteúdo. Da mesma forma que um livro tem um título principal, títulos de capítulos e subtítulos, um documento HTML também os pode ter. HTML contém seis níveis de títulos, <h1><h6> mas geralmente usam-se no máximo 3 ou 4:

<h1>Título principal</h1>
<h2>Título mais abrangente</h2>
<h3>Subtítulo</h3>
<h4>Sub-subtítulo</h4>

Tente agora acrescentar um título à sua página HTML mesmo por cima do seu elemento <img>.

Parágrafos

Como já foi explicado, elementos <p> servem para conter parágrafos; vai usá-los frequentemente quando marcar conteúdo textual:

<p>Isto é um único parágrafo</p>

Acrescente um ou mais parágrafos com a sua amostra de texto (conforme o artigo Qual será a aparência do seu site da Web?), diretamente por baixo do elemento <img>.

Listas

Grande parte do conteúdo da web está em listas, e HTML tem elementos especiais para as mesmas. Marcar listas consiste sempre em pelo menos 2 elementos. Os tipos de listas mais comuns são lista ordenadas e não ordenadas:

  1. Listas não ordenadas são listas em que a ordem dos elementos não é relevante, como uma lista de compras. São envoltas no elemento <ul>.
  2. Listas ordenadas são listas em que a ordem dos elementos é importante, como uma receita. São envoltas no elemento <ol>.

Cada artigo na lista é colocado dentro de um elemento <li> (list item).

Por exemplo, se quisermos transformar parte deste trecho numa lista:

<p>Na Mozilla, somos uma comunidade global de tecnólogos, pensadores, e construtores que trabalham juntos ... </p>

Podemos modificar a marcação desta forma:

<p>Na Mozilla, somos uma comunidade global de</p>
    
<ul> 
  <li>tecnólogos</li>
  <li>pensadores</li>
  <li>construtores</li>
</ul>

<p>que trabalham juntos ... </p>

Tente acrescentar uma lista ordenada ou não ordenada à sua página de exemplo.

Hiperligações

As hiperligações são muito importantes — são elas que tornam a internet na internet! Para acrescentar uma ligação, precisamos de um elemento simples — <a> — cujo "a" abrevia "âncora". Para transformar texto no seu parágrafo numa ligação, siga estes passos:

  1. Escolha algum texto. Escolhemos o texto "Manifesto da Mozilla".
  2. Envolva o texto num elemento <a>, assim:
    <a>Manifesto da Mozilla</a>
  3. Dê ao elemento <a> um atributo href, assim:
    <a href="">Manifesto da Mozilla</a>
  4. Preencha o valor deste atributo com o endereço web para o qual quer ligar a hiperligação:
    <a href="https://www.mozilla.org/pt-PT/about/manifesto/">Manifesto da Mozilla</a>

Pode obter resultados inesperados se omitir a parte do protocolo no início do endereço web (https:// ou http://). Depois de criar uma hiperligação, clique para assegurar que está a enviá-lo para onde é pretendido.

href pode, à primera vista, parecer uma escolha obscura para o nome de um atributo. Se tiver dificulades em lembrar-se dele, recorde que significa hypertext reference.

Agora, acrescente a hiperligação à sua página, se ainda não o fez.

Conclusão

Se seguiu todas as instruções nesta página, deve ter conseguido uma página que se assemelha à página em baixo (também pode vê-la aqui):

A web page screenshot showing a firefox logo, a heading saying mozilla is cool, and two paragraphs of filler text

Se ficou preso, pode comparar o seu trabalho com o exemplo do código terminado no GitHub.

Aqui, mal tocámos na superfície da linguagem HTML. Para descobrir mais, dirija-se ao nosso tópico sobre Aprender HTML.

 

Neste módulo

 

Etiquetas do documento e contribuidores

Contribuidores para esta página: diogo-panaca, mdnwebdocs-bot, mansil, mrsilvino
Última atualização por: diogo-panaca,