Elemento HTML

Um elemento HTML é uma parte de uma página da internet.[1] Um elemento é qualquer objeto identificável dentro de um documento, por exemplo, um caractere, palavra, imagem, parágrafo ou célula de planilha. Em HTML, um elemento refere-se a um par de tags e seu conteúdo, ou a uma tag "vazia", que não requer tag de fechamento ou conteúdo.[2] Um elemento típico pode conter um pedaço de texto ou uma imagem, ou talvez nada.[1]
Visão geral
[editar | editar código]Elementos HTML são todos os tags que estão em arquivos HTML e que se transformam em elementos da árvore DOM. Cada elemento pode ter determinados atributos. Os elementos podem ter ainda conteúdo, incluindo outros elementos e textos. Elementos HTML representam semântica ou significado. Por exemplo, o elemento title representa o título de um documento.
Na sintaxe HTML, a maioria dos elementos são escritos com marcadores (ainda chamados de etiquetas ou tags) de abertura e um marcador de fechamento, com o conteúdo entre os dois. As etiquetas são compostas do nome do elemento, fechadas por parênteses angulares. Uma marcação de fechamento possui ainda uma barra após o parêntese inicial, para distingui-lo da marcação de abertura. Por exemplo, um parágrafo que é representado pelo elemento p seria escrito como
<p>Na sintaxe HTML, a maioria dos elementos são escritas...</p>
No entanto, nem todos esses elementos exigem a etiqueta de fechamento, ou mesmo a de abertura, para estar presente. Alguns elementos , os chamados elementos vazios, não possuem uma tag de fechamento. Um exemplo típico é o elemento br que representa uma quebra de linha significante, tais como em um poema ou em um endereço. Por exemplo, o endereço do dentista em Finding Nemo seria escrito como
P. Sherman<br />42 Wallaby Way<br />Sydney
Atributos são especificados na etiqueta de abertura. A exemplo, o elemento abbr, que representa uma abreviatura, espera um atributo title em sua expressão. Isto seria escrito como
<abbr title="Hyper Text Markup Language">HTML</abbr>
Sintaxe
[editar | editar código]
- Etiqueta de abertura:
<p ... >- Atributo:
- nome:
class - valor:
foo
- nome:
- Atributo:
- Conteúdo:
Isto é um parágrafo. - Etiqueta de fechamento:
</p>
<p class="foo">Isto é um parágrafo</p>Há múltiplos tipos de elementos HTML: elementos vazios, elementos de texto, e elementos normais.
Elementos vazios possuem apenas uma tag de abertura, que possui os seus respectivos atributos. Para exemplificação, o elemento link, para o qual a sintaxe é
<link rel=stylesheet href=fancy.css type="text/css">
Este elemento link aponta para o navegador uma folha de estilo para ser utilizada no documento HTML. Note que na sintaxe HTML, atributos não precisam levar aspas. Ao utilizar a sintaxe XML (XHTML), por outro lado, todos os atributos devem ter aspas, e uma barra é necessária antes do último parêntese angular da etiqueta:
<link rel="stylesheet" href="fancy.css" type="text/css" />
Elementos de texto são construídos com:
- uma etiqueta de abertura (
<tag>) marcando o início do elemento, que pode ser incorporar alguns diversos atributos; - uma quantidade de conteúdo textual, mas sem elementos (todas as etiquetas, a menos da etiqueta em questão, serão interpretadas como conteúdo);
- uma etiqueta de fechamento, na qual o nome do elemento é precedido por uma barra:
</tag>. Em algumas versões do HTML, a etiqueta de fechamento é opcional para alguns elementos. A etiqueta de fechamento é obrigatória no XHTML.
Elementos normais geralmente possuem ambas marcações de abertura e fechamento / fecho, apesar de que para alguns elementos a marcação de fechamento / fecho, ou ambas marcações, podem ser omitidas. Eles são construídos de maneira semelhante:
- uma etiqueta de abertura (
<tag>) marcando o início do elemento, que pode ser incorporar alguns diversos atributos; - uma quantidade de conteúdo, incluindo textos e outros elementos;
- uma etiqueta de fechamento / fecho, no qual o nome do elemento é precedido por uma barra:
</tag>.
Atributos definem um comportamento desejado ou indicam propriedades adicionais do elementos. A maioria dos atributos exigem um valor. No HTML, o valor pode ser adicionado sem aspas, caso não possua espaços (name=valor), ou pode ser adicionado com aspas simples ou duplas (name='valor' or name="valor"). No XML, essas aspas são compulsórias. Atributos booleanos, por outro lado, não exigem um valor a ser especificado. Um exemplo é o checked para checkboxes:
<input type=checkbox checked>
Na sintaxe XML, entretanto, o nome deve ser repetido no valor:
<input type="checkbox" checked="checked" />
Elementos versus tags
[editar | editar código]Elementos e tags não são as mesmas coisas. As tags iniciam ou terminam um elemento no código-fonte, enquanto os elementos fazem parte do DOM, o modelo do documento para exibir a página no navegador.[1]
Informalmente, os elementos HTML são referenciados às vezes como "tags" (um exemplo de sinédoque), apesar de que muitos prefiram restringir o termo tag estritamente a marcação delimitando o início e o fim dos elementos.
O nome de elementos (e atributos) podem ser escritos em qualquer combinação de letras maiúsculas e minúsculas no HTML, mas devem estar em minúsculas no caso do XHTML.[3] A forma canônica era maiúsculas até o HTML 4, sendo usada inclusive nas especificações HTML, mas recentemente, a forma minúscula tornou-se mais comum.
Padrões de elementos
[editar | editar código]Os elementos HTML são definidos em uma série de padrões abertos de acesso livre emitidos desde 1995, inicialmente pela IETF e subsequentemente pela W3C.
Desde o começo da década de 1990, fabricantes de agentes do usuário (e.g. navegadores web) desenvolviam seus próprios elementos, alguns dos quais vieram a se tornam padrão posteriormente. Outros agentes de usuários podem não reconhecer elementos não-padrão, de modo que eles podem ser ignorados ou serem apresentados de forma inadequada.
Em 1998, XML (uma forma simplificada de SGML) introduziu um mecanismo para permitir que qualquer pessoa desenvolva seus próprios elementos e incorpore-os nos elementos XHTML, para o uso com softwares XML.[4]
Subsequentemente, HTML 4.01 foi reescrito em uma forma compatível com XML, XHTML 1.0 (eXtensible HTML). Os elementos em cada um eram idênticos, e a maioria dos casos, documentos XHTML 1.0 válidos seriam válidos ou quase válidos em documentos HTML 4.01.
Estado dos elementos
[editar | editar código]Desde a primeira versão do HTML, diversos elementos saíram de moda, e tornaram-se obsoletos em padrões posteriores, ou não aparecem neles, no caso de serem inválidos.
No momento, o estado dos elementos é complicada pela existência de três tipos de HTML 4.01 / XHTML 1.0 DTD:
- Transitional, que contém elementos obsoletos, mas que ainda pretende promover um período de transição durante o qual o autor poderá atualizar suas práticas;
- Frameset, que são versões do Transitional DTDs que ainda permite os autores a escrever documentos com frameset;
- Strict, que é uma forma atualizada (em 2010) do HTML.
O primeiro padrão (HTML 2.0) continha quatro elementos obsoletos, um dos quais era inválido no HTML 3.2. Todos os quatro são inválidos no HTML 4.01 Transitional, que também deprecia cerca de dez elementos. Todos esses, junto a outros dois, são inválidos no HTML 4.01 Strict. Enquanto os elementos frame ainda estão em uso no sentido de estarem presente na versão Transitional e Frameset DTDs, não há planos de preservá-los nos padrões futuros, e suas funções podem ser vastamente substituídas, por serem muito problemáticas para acessibilidade de usuários.
Elementos de estrutura de documentos
[editar | editar código]<html>...</html>- O elemento raiz de um documento HTML; todos os outros elementos estão contidos neste.
- O elemento HTML delimita o início e o fim de um documento HTML.
- padronizado no HTML 2.0; ainda em uso.
<head>...</head>- Container for processing information and metadata for an HTML document.
- padronizado no HTML 2.0; ainda em uso.
- (Veja Elementos do cabeçalho do documento para elementos filhos.)