2. Marcadores HTML


Neste cap�tulo apresentaremos uma rela��o dos marcadores HTML, exceto dos marcadores relacionados com �ncoras, imagens, applets, tabelas, frames e formul�rios, que ser�o abordados em cap�tulos posteriores.

Algumas regras simples ser�o usadas para tornar a sintaxe clara. Junto com a marcador ser�o exibidos seus poss�veis atributos, sendo que o marcador e os atributos obrigat�rios aparecer�o em negrito. Ser�o exibidos tamb�m os poss�veis valores dos atributos e, onde existir, o valor default ser� indicado em it�lico. O sinal "|" ser� usado para identificar atributos ou valores mutuamente exclusivos e colchetes ser�o usados para denotar opcionalidade.

O valor de um atributo s� precisa ser colocado entre aspas se ele cont�m espa�os em branco. A seguinte nota��o ser� usada para especificar os poss�veis valores de um atributo:

n (em it�lico): um n�mero inteiro
p% (em it�lico): um valor percentual inteiro
URL: um endere�o. URLs ser�o melhor explicados no cap�tulo seguinte
string: uma cadeia de caracteres
#RRGGBB: o c�digo de uma cor no padr�o RGB onde RR, GG e BB s�o n�meros hexadecimais (variando de 00 a FF) que representam a intensidade das cores fundamentais, vermelho, verde e azul, respectivamente

2.1 Marcadores para definir a estrutura de um arquivo HTML

A estrutura padr�o de um arquivo HTML �:

    <html>

    <head>
    ...
    </head>

    <body>

    ...
    
    </body>

    </html>

Os marcadores <html>, <head> e <body> n�o devem ser omitidos, pois embora alguns browsers (como o Netscape Navigator, por exemplo) possam entender um documentos sem eles, outros browsers exigem que eles estejam especificados.

<html version=string></html>

Serve para informar ao browser que o arquivo cont�m c�digo HTML e, opcionalmente, qual a vers�o atrav�s do atributo version. O marcador <html> deve aparecer na primeira linha do arquivo e </html> na �ltima linha.



<head></head>

Identifica a primeira parte do arquivo, que pode conter os marcadores <title>, <isindex>, <base>, <script>, <style>, <meta> e <link>.



<body background=URL bgcolor=#RRGGBB text=#RRGGBB link=#RRGGBB vlink=#RRGGBB alink=#RRGGBB></body>

Delimita o corpo principal da p�gina. Junto com o marcador <body> podem ser usados os atributos background para definir uma imagem que aparecer� repetidas vezes de modo a formar um pano de fundo para o documento, bgcolor para definir a cor de fundo do documento (normalmente cinza), text para definir a cor do texto (normalmente preta), link para definir a cor dos links n�o visitados (normalmente azul), vlink para definir a cor dos links j� visitados (normalmente violeta) e alink para definir a cor dos links ativos, ou seja, no momento em que s�o selecionados (normalmente vermelha).

� possivel tamb�m especificar as cores usando os termos aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, e yellow, mas cuidado, pois isto pode n�o funcionar em todos os browsers. Eis um exemplo:

<body background=piscina.gif text=#00ff00 vlink=yellow>




2.2 Marcadores do HEAD



<title></title>

� usado para definir o t�tulo do documento, que vai ser exibido em algum lugar (geralmente no topo) da janela do browser. Evite usar acentua��o dentro do <title> pois � o gerenciador de janelas (windows manager) quem interpreta o <title> e n�o o browser, e muitas vezes o gerenciador de janelas n�o suporta caracteres acentuados. O t�tulo deve ser o mais explicativo poss�vel, no entanto deve ser compacto (no m�ximo uma linha).




<isindex prompt=string>

Antes dos formul�rios serem definidos, este marcador foi projetado para permitir que o usu�rio pudesse enviar uma string para o servidor o qual se encarregaria de processar esta string. O atributo prompt serve para especificar um texto alternativo para a caixa de di�logo, cujo texto default � "This is a searchable index. Enter search keywords:". Atualmente nao h� utilidade para este marcador.



<base href=URL target=string>

Serve para definir o localiza��o correta da p�gina. Normalmente o browser j� conhece esta localiza��o, no entanto em certos casos onde pode haver dubiedade (por exemplo, quando se utiliza links simb�licos do Unix) este marcador definir� a localiza��o real da p�gina, a qual ser� usada para resolver os endere�os relativos contidos na pr�pria p�gina. O atributo target define a janela onde os links contidos na p�gina ser�o exibidos e tem como default o valor _self, significando a mesma janela que cont�m o link. A utiliza��o deste atributo ficar� mais clara no cap�tulo 6 onde ser� mostrado como criar um documento com v�rias janelas.



<script language=string></script>

Usando este marcador pode-se enviar scripts (pequenos programas) que dever�o ser executados pelo browser. Os scripts devem ser colocados dentro de um coment�rio. O atributo language serve para especificar qual a linguagem na qual o script foi escrito. Aqui temos uma exemplo (que est� incompleto portanto n�o funciona):

    <script language="JavaScript">

    <!-- Iniciando Aplicativo Java

    function scrollit_r2l(seed)
    {
        if (seed > 100) {
            seed--;
            var cmd="scrollit_r2l(" + seed + ")";
            timerTwo=window.setTimeout(cmd,50);
            }
    }

    // -- Fim do codigo Java -------------- -->

     </script>



<style type=string></style>

O marcador style existe para garantir compatibilidade com futuras vers�es da HTML, que v�o suportar estilos de p�gina. Este marcador deve conter um estilo de p�gina v�lido (normalmente colocado dentro de um coment�rio). O atributo type indica a linguagem em que o estilo foi descrito.


<meta http-equiv=string name=string content=string>

O marcador meta serve para definir meta-informa��o, ou seja, informa��o sobre a informa��o. Quando um browser requisita uma p�gina, o servidor envia um header junto com a p�gina. O valor do atributo http-equiv junto com o valor do atributo content ser�o usados pelo servidor como parte do header a ser enviardo junto documento para o browser. Para fazer com que o servidor inclua no header a linha "Reply-to: anonymous@ime.usp.br" toda vez que um determinado documento for requisitado, devemos incluir neste documento a linha:

<meta http-equiv="Reply-to" content="anonymous@ime.usp.br">

A meta-informa��o enviada no header pode ser uma instru��o para o browser executar uma determinada opera��o. Por exemplo:

<meta http-equiv=refresh content="5; URL=pagina2.html">
Transmite a meta-informa��o que ap�s 5 segundos o browser deve requisitar e exibir o documento pagina2.html. Mais um exemplo:

<meta http-equiv=pragma content=no-cache>
Esta meta-informa��o serve para instruir o browser a n�o armazenar a p�gina no cache (� claro que nem todos os browsers entendem estas meta-informa��es).

O atributo name serve para definir meta-informa��o que n�o ser� enviada como parte do header. As formas mais comuns de utiliza��o do marcador meta junto com o atributo name s�o:

<meta name=generator content="um programa qualquer">
<meta name=author content="nome do autor da p�gina"> 7
<meta name=keywords content="palavras-chave">
<meta name=description content="descri��o da p�gina">

Estas informa��es podem ser aproveitadas por certos programas, em especial por ferramentas de busca como o Alta Vista e o Infoseek.



<link rel=string|rev=string href=URL title=string>

link � usado para definir relacionamento entre documentos. � poss�vel relacionar o documento que cont�m o marcador link com o documento especificado na atributo href usando-se o atributo rel, ou o contr�rio usando-se o atributo rev. Os atributos rel e rev podem assumir os valores:

stylesheet Indica o arquivo que cont�m o estilo para o documento
made o criador do documento
home a p�gina inicial em rela��o � p�gina
toc a tabela do conte�do da p�gina
index o �ndice da p�gina
glossary o gloss�rio da p�gina
copyright a p�gina que cont�m informa��es de copyright do documento corrente
up a p�gina logicamente acima do documento corrente
next a p�gina posterior
previous a p�gina anterior
help a p�gina de help

O atributo title pode ser utilizado para sugerir um t�tulo para o URL refenciado. Apesar da sua utilidade, muitos6browsers n�o suportam este marcador.



2.3 Marcadores do BODY


2.3.1 Cabe�alhos (Headers)

Cabe�alhos podem ser usados em qualquer parte do BODY para dar destaque maior ou menor a algum termo do texto. Existem 6 tamanhos de cabe�alhos e eles s�o usados da seguinte forma:

<h1 align=left|center|right></h1>

Cabe�alho H1

<h2 align=left|center|right></h2>

Cabe�alho H2

<h3 align=left|center|right></h3>

Cabe�alho H3

<h4 align=left|center|right></h4>

Cabe�alho H4

<h5 align=left|center|right></h5>
Cabe�alho H5
<h6 align=left|center|right></h6>
Cabe�alho H6
O atributo align especifica o alinhamento do texto.


2.3.2 Estilos f�sicos de caracteres

Estilo Marcador Exemplo
It�lico <i></i> Caracteres em it�lico
Negrito (Bold) <b></b> Caracteres em negrito
Teletipo (Fixed) <tt> </tt> Caracteres de tamanho fixo
Letra Piscando (Blink) <blink></blink> Este exemplo � dif�cil ver no papel !
Letra Riscada (Strike) <strike></strike>
Sublinhado (Underline) <u></u>
Grande (Big) <big></big> Caracteres grandes
Pequeno (Small) <small></small> Caracteres pequenos
Subscrito (Subscript) <sub></sub> H2O
Sobrescrito (Superscript) <sup></sup> E=mc2

Para a maioria dos browsers, todos estes estilos podem ser combinados, por exemplo:

<tt><b><i>Mistura de Estilos</i></b></tt>

resultando em: Mistura de Estilos


2.3.3 Estilos l�gicos de caracteres

Estilo Marcador Exemplo
Vari�vel (VAR) <var></var> Caracteres nestes estilos normalmente aparecem em it�lico
Enfatizado (EM) <em></em>
Cita��es curtas (CITE) <cite></cite>
Fragmentos de c�digo (CODE) <code></code> Caracteres nestes estilos normalmente aparecem em tamanho fixo
Entrada via teclado (KBD) <kbd></kbd>
Sa�da via monitor (SAMP) <samp></samp>
Defini��o de termos (DFN) <dfn></dfn> Caracteres em DFN
Fortemente enfatizado (STRONG) <strong></strong> Caracteres em STRONG

Estes estilos tamb�m podem ser combinados, na maioria dos browsers, por exemplo:

<cite><strong>It�lico e negrito</strong></cite>

resultando em: It�lico e negrito

Uma pergunta pode ter surgido: Se os estilos f�sicos e os estilos l�gicos produzem o mesmo resultado, por que existem os dois ? Bem, os estilos l�gicos n�o definem um tipo espec�fico de letra (24-point Times centered, por exemplo), mas sim uma caracter�stica. Por exemplo, o estilo STRONG � interpretado pela maioria dos browsers como negrito, no entanto, apenas mudando a configura��o do browser, � poss�vel definir que os caracteres neste estilo devem ser apresentado na cor vermelha, por exemplo. Dessa forma os estilos l�gicos permitem uma maior flexibilidade.


2.3.4 Listas

Lista n�o ordenada (Unordered List)

<ul type=disc|square|circle compact></ul>

Este marcador serve para criar uma lista n�o ordenada, estabelecendo um recuo para a direita e inserindo um s�mbolo no in�cio de cada item da lista. Este s�mbolo pode ser um c�rculo preenchido (disc), um quadrado (square) ou um c�rculo vazado (circle) e � definido pelo atributo type. O atributo compact serve para que a lista seja exibida de uma forma mais compacta. Os marcadores <dir></dir> e <menu></menu> t�m efeito semelhante ao marcador ul, com a diferen�a que n�o admitem o atributo type nem o atributo compact. Para definir um item de uma lista n�o ordenada usa-se o marcador li com a seguinte sintaxe:

<li type=disc|square|circle>[</li>]

Para criar a lista:

� necess�rio usar o seguinte c�digo:

<ul>
<li> Exemplo de lista n�o ordenada
<li type=square> com um quadrado
<li> antes dos �ltimos dois itens
</ul>


Lista ordenada (Ordered List):

<ol type=1|a|A|i|I start=n compact></ol>

O marcador ol cria uma lista ordenada. Atrav�s do atributo start � poss�vel definir o valor inicial do contador que por default � 1. O atributo type pode assumir os seguintes valores 1 (default), a (letras min�sculas), A (letras mai�sculas), i (algarismos romanos min�sculos) e I (algarismos romanos mai�sculos). O marcador li serve para definir itens da lista e tem sintaxe um pouco diferente em lista ordenadas:

<li type=1|a|A|i|I value=n>[</li>]

A atributo value serve para redefinir a numera��o da lista. Note o exemplo e como ele foi gerado:

  1. Exemplo de lista ordenada
  2. com letra na primeira linha e
  3. algarismos romanos nas demais e um salto na numera��o

<ol type=a>
<li> Exemplo de lista ordenada
<li type=I value=5> com letra na primeira linha e
<li> algarismos romanos nas demais e um salto na numera��o
</ol>


Lista de defini��es (Definition List):

<dl compact></dl>

Neste tipo de lista cada item � composto de um termo e sua defini��o. O termo � definido usando o marcador <dt>[</dt>] e a defini��o usando <dd>[</dd>]. Veja um exemplo:

IME-USP
O Instituto de Matem�tica e Estat�stica da Universidade de S�o Paulo (USP), oferece cursos de gradua��o e p�s-gradua��o em matem�tica, estat�stica e computa��o.
CEC
O Centro de Ensino de Computa��o do IME-USP oferece diversos cursos de extens�o na �rea de inform�tica, em especial Computa��o Instrumental, Editora��o Avan�ada, Introdu��o ao Uso da Rede Internet e HTML Avan�ado.
Para produzir o texto acima usar�amos o seguinte c�digo:
    <dl>
    <dt>IME-USP 
      <dd>O Instituto de Matem�tica e Estat�stica da Universidade
        de S�o Paulo (USP), oferece cursos de gradua��o e p�s-gradua��o
        em matem�tica, estat�stica e computa��o. 
    <dt>CEC
      <dd>O Centro de Ensino de Computa��o do IME-USP oferece
        diversos cursos de extens�o na �rea de inform�tica, em especial
        Computa��o Instrumental, Editora��o Avan�ada, Introdu��o ao Uso
        da Rede Internet e HTML Avan�ado.
    </dl>
O atributo compact pode ser utilizado junto com o marcador <dl> para especificar que o termo e sua defini��o devem aparecer na mesma linha, se poss�vel. Por exemplo:
    <dl compact>
    <dt>dir
      <dd>mostra o conte�do do diret�rio corrente
    <dt>dir /p
      <dd>mostra o conte�do do diret�rio corrente, tela por tela
    </dl>

produz:

dir
mostra o conte�do do diret�rio corrente
dir /p
mostra o conte�do do diret�rio corrente, tela por tela

Pode-se usar o marcador dd para obter um recuo para a direita no in�cio da linha mesmo fora de uma lista de defini��o, mas n�o � garantido que isto sempre funcione. Finalmente, � poss�vel combinar listas ordenadas, n�o ordenadas e listas de defini��o criando listas dentro de listas como no exemplo:

Estas listas encadeadas foram criadas com as seguintes linhas de c�digo:
    <ul>
    <li>Regi�o Sudeste
      <ol>
      <li>Esp�rito Santo
      <li>Minas Gerais
      <li>Rio de Janeiro
      <li>S�o Paulo
        <ul>
        <li>Campinas
        <li>S�o Paulo
        </ul>
      </ol>
    <li>Regi�o Sul
      <ol>
      <li>Paran�
      <li>Santa Catarina
        <dl>
          <dt>Florian�polis
            <dd>Capital do estado de Santa Catarina, famosa por suas praias
          <dt>Blumenau
            <dd>Cidade fundada por colonos alem�es onde anualmente acontece a
              <i>Oktoberfest</i>
        </dl>
      <li>Rio Grande do Sul
      </ol>
    </ul>
Obs: A indenta��o n�o � obrigat�ria, e foi utilizada simplesmente para deixar o c�digo mais f�cil de entender.


2.3.5 Formatando o texto

Ao exibir um documento escrito em HTML, os espa�os entre as palavras s�o considerados como um �nico espa�o, e as linhas em branco entre uma linha e outra s�o ignoradas. Por isso geralmente � preciso incluir marcadores de quebra de linha, quebra de par�grafo ou de texto pr�-formatado como os que seguem.



<br clear=left|all|right|none>

Este marcador insere uma quebra de linha. O atributo clear � �til quando tem-se uma imagem alinhada � esquerda ou � direita e se quer pular para a pr�xima linha com a margem esquerda, ou direita, ou ambas, n�o ocupadas pela imagem.



<p align=left|center|right>[</p>]

Este marcador serve para definir um par�grafo e o atributo align define seu alinhamento. O seguinte c�digo:

    <p align=center><i>Este par�grafo deve estar centralizado.</i>
    <p align=right><i>Agora deve estar alinhado � direita.</i>
    <p><i>E este deve estar alinhado � esquerda.</i>
Produz este resultado:
Este par�grafo deve estar centralizado.

Agora deve estar alinhado � direita.

E este deve estar alinhado � esquerda.



<pre width=n></pre>

Usa-se pre para incluir textos pr�-formatados. O atributo width define uma largura desej�vel para o texto, de forma que o browser pode escolher um tamanho de letra que permite ao texto ter largura n�o superior � da janela do browser. Infelizmente a maioria dos browsers n�o reconhece este atributo.

Normalmente a apresenta��o de um texto pr�-formatado � inferior a de um texto formatado pelos marcadores HTML, pois neste �ltimo caso a quebra de linha � feita pelo pr�prio browser, levando em conta o tamanho da janela onde a p�gina est� sendo exibida. Em um texto pr�-formatado � poss�vel que a parte direita do texto extrapole a largura da janela, for�ando o usu�rio a aumentar a janela, o que nem sempre � poss�vel ou desej�vel, ou ent�o obrigando o usu�rio a usar a barra de rolagem horizontal.
Exemplo de texto pr�-formatado:

              "Este   �   um texto
                           pr�-formatado."


<plaintext>

Deste marcador em diante tudo ser� interpretado como texto puro (mesmo o que estiver entre < >). Um marcador similar � o <xmp></xmp>, que tem a vantagem de se poder determinar a parte do c�digo que ser� interpretada como texto puro.



<blockquote></blockquote>

Com este marcador � possivel destacar uma cita��o longa (de v�rias linhas) na tela. A maioria dos browsers formatam as margens da cita��o de forma a destac�-la do texto em volta. Por exemplo:

LEI DA DEMONSTRA��O DE SISTEMAS

"A efici�ncia de um sistema, previamente testado, na hora de sua demonstra��o, � inversamente proporcional ao n�mero e � import�ncia das pessoas que observam seu funcionamento."

(Corol�rio da Lei de Murphy)

� obtido com o seguinte c�digo:
     <blockquote>LEI DA DEMONSTRA��O DE SISTEMAS
     <p>"A efici�ncia de um sistema, <i>previamente testado</i>,
     na hora de sua demonstra��o, � inversamente proporcional ao
     n�mero e � import�ncia das pessoas que observam seu funcionamento."
     <p align=right>(Corol�rio de Lei de <i>Murphy</i>)
     </blockquote>



<address></address>

Geralmente � usado para especificar o autor de um documento, a forma de contactar o autor e a data da �ltima revis�o. Usualmente � um dos �ltimos itens de uma p�gina. A maioria dos browsers exibem o texto delimitado por este marcador em it�lico. O exemplo:

HTML: Como Criar P�ginas na WWW / glauber@ime.usp.br / �ltima revis�o: 20set1996

Foi obtido com o c�digo:

<address>
HTML: Como Criar P�ginas na WWW / glauber@ime.usp.br /
�ltima revis�o: 20set1996
</address>

<center></center>

Este marcador serve para definir alinhamento centralizado. O marcador mais geral para este prop�sito (por�m menos difundido) �:

<div align=left|center|right></div>

Atrav�s deste marcador podemos criar uma divis�o na p�gina onde o alinhamento der� definido pelo atributo align.


<hr align=left|center|right noshade size=n width=n|p%>

Serve para inserir uma linha horizontal. O atributo size define a altura da linha (em pixels), width a largura (em pixels ou como um percentual da janela do browser)), align o alinhamento e noshade define linha s�lida (sem sombra). Um exemplo:

<hr size=8 width=50% noshade align=right>

Cria uma linha com 8 pixels de altura, com largura igual a 50% do tamanho da janela, alinhada � direita, sem sombra, como a seguinte:


<font size=n color=#RRGGBB face=string></font>

Este marcador junto com os atributos size, color e face serve para definir o tamanho, a cor e o tipo dos caracteres. O tamanho pode ser definido em termos absolutos usando um n�mero inteiro entre 1 (menor caractere) e 7 (maior caractere), ou em termos relativos, usando-se um n�mero inteiro precedido do sinal "+" ou do sinal "-". Por exemplo, <font size=+1> significa aumentar o tamanho dos caracteres para o tamanho imediatamente maior do que o tamanho usado at� ent�o. Mais um exemplo:

Brasil Fran�a (claro que a cor verde n�o d� pra ver no papel !)

Obtido com: <font size=7 color=green face=helvetica>Brasil</font> Fran�a

O atributo face deve conter o nome de um conjunto de caracteres. Alguns conjuntos de caracteres comuns (conhecidos pelo Netscape Navigator 3.0) s�o: courier, fixed, helvetica, lucida, menu, terminal, times e utopia.


Finalmente, para inserir coment�rios em HTML usa-se uma exclama��o ap�s o sinal <, como no exemplo:

<! este texto n�o aparecer� na p�gina >

Para prover legibilidade e facilitar a manuten��o da p�gina, � importante inserir coment�rios no c�digo, da mesma forma que se faz com um programa fonte em uma linguagem qualquer.