cursos de html

39
Linguagem de Programaão - HTML ______________________________________________________________________________________1 Material Didático Salesiano - 2002

Upload: michel-santos

Post on 07-Mar-2016

212 views

Category:

Documents


0 download

DESCRIPTION

curso completo de html

TRANSCRIPT

Page 1: Cursos de HTML

Linguagem de Programaão - HTML

______________________________________________________________________________________1

Material DidáticoSalesiano - 2002

Page 2: Cursos de HTML

2

IntroduçãoA HyperText Markup Language e a Web

No núcleo de toda página da Web, encontramos a HyperText Markup Language,uma linguagem de diagramação baseada em marcadores, ou tags como é mais comumenteconhecido. A HTML (HyperText Markup Language) é uma linguagem simples baseada emtexto que podemos visualizar em qualquer plataforma. Pode ser visualiza em navegadoressomente texto, como o Lynx ou em navegadores mais avançados como Netscape Navigatore Internet Explorer.

A HTML é, na verdade, apenas texto com códigos de formatação que especificamdiferentes fontes e estilos ou até mesmo outras funções mais avançadas, que serãoabordadas ao longo deste tutorial. Ela é muito semelhante aos antigos editores de texto queexigiam a inserção de tags para especificar tipos em itálico, negrito ou sublinhado.

Como são as Marcações HTML?As marcações do HTML - tags - consistem do sinal (<), (o símbolo de "menor que"),

seguida pelo nome da marcação e fechada por (>) ("maior que").De um modo geral, as tags aparecem em pares, por exemplo, <H1>

Cabeçalho</H1>. O símbolo que termina uma determinada marcação é igual aquele que ainicia, antecedido por uma barra (/) e precedido pelo texto referente.

No exemplo, <H1> avisa ao cliente Web para iniciar a formatação do primeiro nívelde cabeçalho e </H1> avisa que o cabeçalho acabou.

Há excessões a esse funcionamento em pares das marcações. Por exemplo, a queindica um final de parágrafo: <P> . Não necessita de uma correspondente: </P>. Amarcação que indica quebra de linha - <br> - também não precisa de uma correspondente,e outras tais como <hr> e <li>..

Exemplos de Marcações• A notação: <TITLE> (e a correspondente </TITLE>), especificam o título de um

documento.• A notação: <H1> (e a correspondente </H1>), indica a aparência de um cabeçalho.• A notação: <P>é a marcação para final de parágrafo.

Diagramando com a HTMLOs navegadores seguem três regras básicas ao apresentarem a página.

São elas:• Os espaços em brancos são ignorados. Isto significa que inserir espaços, como os

causados pelas teclas [tab] e [enter], não afetará em nada a interpretação do documentopelo navegador.

• As tags de formatação não se distinguem pelas caixas, ou seja, uma tag escrita emcaixas altas terá o mesmo efeito do que uma tag escrita em caixas baixas. Caixas altassão as letras maiúsculas. Ex: CAIXA ALTA.

• Em sua maioria, as tags de formatação formam pares. Ex: <HTML> e </HTML>

Estrutura de um documento

Page 3: Cursos de HTML

3

Todo documento HTML inicia-se por uma tag <HTML> e encerra-se por uma tag</HTML>.Um documento HTML consiste em duas partes — um cabeçalho e um corpo. Ocabeçalho contém informações a respeito do documento como, por exemplo, o título. Ocorpo contém o documento propriamente dito. O cabeçalho e o corpo se distinguem pelouso das tags <HEAD> e <BODY>.

Observe a estrutura.<HTML><HEAD>elementos contidos no cabeçalho</HEAD><BODY>documento apresentado pelo browser</BODY></HTML>

Elementos do cabeçalhoTítulo do documento

O cabeçalho de um documento tem apenas um elemento de uso praticamenteobrigatório: <TITLE>Título da página</TITLE>. Existem outros elementos adicionais deimportância grande, mas abordaremos tais elementos mais à frente.

NOTA: Mecanismos de buscas, na Internet, utilizam os elementos <TITLE> e </TITLE>para definir um título na apresentação do resultado da procura. Se o diagramador nãoinsere um título na sua página HTML, o mecanismo de busca define o título com oendereço da página, ou seja, a URL da página.

Elementos do corpoTítulos

A HTML aceita seis estilos de títulos, que são usados para fazer o texto se destacarem diversos níveis. Esses títulos são numerados de 1 a 6, sendo <H1> o maior deles e,obviamente, <H6> o menor.

ParágrafosA inserção de uma tag <P>, diz ao navegador que o texto a seguir inicia um

parágrafo. Dessa forma, o navegador apresenta o texto com uma linha abaixo doselementos anteriores. Parágrafos com <P> não precisam de um correspondente defechamento, embora uma boa prática seja inserir a </P> encerrando o parágrafo, pois emdocumentos que utilizam componentes avançados da linguagem, é necessário. Uma vezque pretendemos avançar o nosso conhecimento, é interessante se habituar, desde já, com atag </P>.

Mãos à obra!Insira o trecho abaixo em um novo arquivo no Bloco de Notas.

<HTML>

Page 4: Cursos de HTML

4

<HEAD><TITLE>Meu primeiro documento HTML</TITLE></HEAD><BODY><H1>A linguagem HTML é muito simples</H1>Começo aqui o meu aprendizado para que no ano que vem esteja concorrendo ao maiorprêmio da Internet brasileira.

<P>Crio aqui um parágrafo para visualizar, na prática, o efeito desta tag.</P>

</BODY></HTML>

Depois de inserir, salve-o com a extensão .htm ou .html. O uso da extensão .htm éimportante e obrigatório para que o navegador saiba que se trata de um documento HTML.Agora, abra o arquivo no seu navegador preferido e observe os resultados.DICA: Faça uma experiência. Remova as tags <P> e </P> ou as <H1> e </H1> paraver como o navegador interpretará o documento.

Estilos de formataçãoOs estilos aceitos pela HTML são o negrito, o itálico, o sublinhado e o de máquina

de escrever (fonte monoespaçada), vamos inserí-los no documento.São exemplos:<B>Negrito</B>, <I>Itálico</I>, <U>Sublinhado</U> e <TT>Monoespaçado</TT>

OBSERVAÇÃO: Atenção ao inserir o trecho abaixo no documento já existente. Coloque otrecho depois de qualquer elemento, mas antes das tags </BODY> e </HTML>, casocontrário o navegador ao encontrar as tags </BODY> e </HTML> interpreta que odocumento acabou e não apresentará mais nada após.NOTA: Houve a inserção de uma tag nova, no trecho acima. A tag <BR> é semelhante à<P>, porém com uma diferença, ela apenas quebra o texto para uma nova linha, enquantoque a tag <P> pula uma linha. Repare também que não houve tag de fechamento para a<BR>, isso se deve ao fato de não ser necessário.

Cores e elementos gráficos de fundoO Atributo Background

O atributo Background deve ser aplicado à marcação <body>. Este atributoespecifica a URL de uma imagem que será utilizada como fundo (background) de umapágina. Esta imagem ocupará toda a área de fundo da tela. Deve ser escrito desta forma:

<body background="images/fundo.gif"> .. toda a página .. </body>

É importante ter cuidado para que elementos de fundo não prejudiquem a leitura dotexto em tela. De um modo geral, esses elementos devem aparecer em cores bem claras esutis. Sempre vale a pena visitar outras páginas que utilizam esse recurso para recolherboas idéias.

Page 5: Cursos de HTML

5

O Atributo BGColorEste atributo também deve acompanhar a marcação <body>. Ele permite que se

defina uma cor padrão para o fundo da página, sem necessidade de um arquivo imagempara isso. O formato da marcação é: <body bgcolor="#rrggbb">Aqui fica apágina</body>

Onde "#rrggbb" é um código hexadecimal no padrão "red-green-blue" utilizado paraespecificar a cor de fundo.

Cores de letras e linksO atributo TEXT

Este atributo é utilizado para controlar a cor do texto "normal" em uma página. Ouseja define a cor de todo o texto do documento exceto os links. O atributo deveacompanhar a marcação <BODY>, escrevendo-se da seguinte forma: <bodytext="#rrggbb">Aqui entra o documento</body>

Onde "RGB" é um código hexadecimal do trio "red-green-blue", exatamente nomesmo padrão daquele utilizado no atributo BGCOLOR. Para conhecer as variações dessepadrão sugerimos consulta a tabela disponível na INFINET citada anteriormente.

Os atributos LINK, VLINK e ALINKEste atributo controla a cor de textos que funcionem como link na página.

1. LINK define cores de links nao consultados2. VLINK se referente a links já consultados e3. ALINK determina cor de links quando ativados.A notação é absolutamente igual à anterior, seguindo os mesmos padrões para

definir as cores. Uma definição completa incluiria então:<body text="#rrggbb" link="#rrggbb" vlink="#rrggbb" alink="#rrggbb">Aqui entra o documento</body>

ListasA linguagem aceita diversos tipos de listas formatadas para apresentação dos dados.

Todas as listas exigem um par de tags que indica o tipo de lista, além de uma tag no iníciode cada item da lista. As mais importantes são as seguintes.

Listas ordenadasUtitlizam as tags <OL> e </OL>

Listas não ordenadasUtilizam as tags <UL> e </UL>

Mãos à obra!Insira no seu documento HTML, inicialmente uma lista não ordenada com as suas frutasfavoritas.

Page 6: Cursos de HTML

6

<H3>Minhas frutas <U>favoritas</U></H3><UL>

<LI>Maçã<LI>Pêra<LI>Uva<LI>Tamarindo

</UL>

<P>Agora, vamos formatar uma lista ordenada e comparar as duas.</P>

<H3>Meus livros preferidos</H3><OL>

<LI>A Lei do Triunfo, Napoleon Hill<LI>Descartes, coleção “Os Pensadores”<LI>Memorial de Maria Moura, Rachel de Queiroz

</OL>

Inserindo imagens, criando hyperlinks e âncorasSem o apelo visual das imagens, talvez a World Wide Web não tivesse conseguido

alcançar com a mesma rapidez a popularidade que atingiu. Os principais navegadorespodem exibir de forma automática imagens no formato GIF e JPEG. O GIF (GraphicsInterchange Format), desenvolvido originalmente para os usuários do CompuServe, foiescolhido como padrão da WWW por ser compacto e também por ser um dos formatosgráficos mais conhecidos. Depois veio o padrão JPEG.

ImagensAs imagens devem ser gravadas como arquivos separados, mesmo que sejam

referenciadas e exibidas em um documento de HTML. Para incluir uma imagem nodocumento, utilize a tag <IMG>

Por exemplo: <IMG SRC=”minha_foto.jpg”>A tag IMG possui alguns atributos importantes. São eles:

A sintaxe para um imagem local é a seguinte: <IMG SRC=”imagem.gif”>

NOTA: Para o exemplo acima, a imagem deve estar na mesma pasta (diretório) que odocumento HTML. Ainda neste módulo, vamos falar sobre diretórios, pastas, arquivos eseus padrões no Unix, DOS e Windows.

ALIGNO atributo ALIGN controla a localização do texto em função da imagem inserida.

Note, o atributo não controla a localização da imagem no documento. É comum haverconfusão com este atributo. É muito importante que o leitor teste todos os valores possíveispara o atributo ALIGN para perceber na prática as diferenças e resultados. Os principaisvalores são: TOP MIDDLE BOTTOM

O valor TOP, alinha o texto no topo da imagem, já o MIDDLE alinha no centro daimagem e por último o valor BOTTOM que alinha o texto no rodapé da imagem. Um

Page 7: Cursos de HTML

7

exemplo do uso deste atributo é mostrado abaixo. <IMG SRC=”imagem.gif”ALIGN=”TOP”>

Testando os valores do atributo ALIGN <IMG SRC=”imagem.gif” ALIGN=”TOP”>

ALTO atributo ALT especifica o texto que deve ser exibido em lugar de uma imagem

nos navegadores somente texto ou nos navegadores gráficos que estão configurados paranão mostrar as imagens. Por exemplo, para incluir suporte a navegadores somente de textono exemplo dado acima, a linha HTML seria semelhante a esta: <IMG SRC=”imagem.gif”ALIGN=”TOP” ALT=”Descrição da Imagem”>.Esse atributo é muito importante quando aconexão do navegador com o servidor web é lenta, pois o usuário pode ler uma descriçãoda imagem antes do navegador carregá-la.

DICA: Você pode usar imagens pequenas para acrescentar variedade aos documentos.Uma técnica bastante popular na Web consiste em criar listas com marcadores usandopequenas bolas coloridas como marcadores. Cada marcador de cor diferente apresentaum arquivo GIF e cada arquivo GIF é carregado apenas uma vez. Os navegadoresmemorizam a imagem que é carregada, de modo que ela possa ser utilizada várias vezesno mesmo documento. Dependendo dos ajustes de cache do navegador, também poderáguardar em memória a imagem para uso em outros documentos.

WIDTH e HEIGHTOs atributos WIDTH e HEIGHT são de extrema importância. Eles definem o

tamanho da imagem no documento HTML. O atributo WIDTH define a largura em pixelse o HEIGHT define a altura em pixels. Para quem não sabe, a tradução de WIDTH élargura e HEIGHT, altura.Se tais atributos não forem definidos na tag <IMG>, o navegadorserá obrigado a calcular o tamanho da imagem para apresentá-la na página, ou seja, defini-los é uma forma de aliviar o trabalho do navegador.

Não estará cometendo um crime quem não definir esses atributos, mas éconsiderado uma boa prática na diagramação de páginas.

Interligando DocumentosO principal poder do HTML vem da sua capacidade de interligar partes de um texto

(e também imagens) a outros documentos. Os clientes exibem em destaque estas áreas oupontos chaves (normalmente com cores diferentes ou sublinhado) para indicar que se tratade um link, ou interligação, no hipertexto.

A marcação <A>, que define o ponto de partida para os links, é denominada deâncora. Para incluir uma âncora em seu documento:

1. Inicie a âncora com <A . ( Há um espaço depois de A.)2. Especifique o documento a ser interligado, inserindo parâmetro

HREF="filename" seguido do sinal: >3. Insira o texto que vai funcionar como link no documento corrente4. Anote a marcação de final da âncora: </A>.

Page 8: Cursos de HTML

8

Um exemplo de referência a um hipertexto:<A HREF="ListaPraias.html">Praias</A>

A palavra “Praias'' é definida como o marcador do link para se chegar aodocumento ListaPraias.html, que está no mesmo diretório do documento corrente. Ou seja,"Praias" aparece em negrito e se eu clicar nessa palavra será exibido o documentoapontado - ListaPraias.html

Interligando Documentos em Outros DiretóriosÉ possível interligar documentos em outro diretório especificando-se o caminho

relativo a partir do documento corrente, em relação ao que está sendo interligado.Porexemplo, um link para o arquivo Sergipe.html localizado no subdiretório Estados seriaassim: <A HREF="Estados/Sergipe.html">Sergipe</A>

Estes são dos denominados links relativos. É também possível usar ocaminhocompleto (pathname absoluta) do arquivo desejado. Para isso, utiliza-se a sintaxepadrão do sistema UNIX. Importante: se você quiser referenciar um diretório a partir do“raiz” do seu servidor www, inicie a notação com /. Isto é, se você tiver uma notação destaforma <A HREF=“/imagens/incon1.gif”>, significa que o arquivo incon1.gif deverá serbuscado no diretório imagens que está imediatamente acima do diretório raiz do seuservidor WWW.

Ligando URL’sO World Wide Web utiliza-se das Uniform Resource Locators (URLs) para

especificar a localização de arquivos em servidores. Uma URL inclui o tipo de recursoacessado (p.e, gopher, WAIS), o endereço do servidor, e a localização do arquivo.Seescreve de acordo com o esquema abaixo: protocolo://servidor[:port]/path/filenameOnde protocolo é uma das seguintes definições :

file um arquivo no seu sistema local, ou servidor de ftp http um arquivo em um servidor World Wide Web gopher um arquivo em um servidor Gopher WAIS um arquivo em um servidor WAIS news um Usenet newsgroup telnet uma conexão Telnet

Por exemplo, para incluir um link para o HTML Beginner’s Guide, em umdocumento, deve ser usado:

<A HREF = "http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html"> NCSA's Beginner's Guide to HTML</A>

O que torna a sentença ”NCSA's Beginner's Guide to HTML'' um link para taldocumento.Para mais informações sobre URLs, veja em

• WWW Names and Addresses, URIs, URLs, URNs, escrito por pessoas do CERN,disponível em http://info.cern.ch/hypertext/WWW/Addressing/Addressing.html.

• A Beginner's Guide to URLs, localizado no menu de Help do NCSA Mosaic, edisponível em http://www.ncsa.uiuc.edu/demoweb/url-primer.html

Interligando sessões em uma página

Page 9: Cursos de HTML

9

HTML permite que se façam ligações entre diferentes trechos de um documento.Você pode apontar uma palavra ou trecho de um texto utilizando uma âncora de nome(named anchor). Este recurso é bastante usado na geração de índices de conteúdo no iníciode uma página.

O passo a passo é :1.Defina o "ponto de partida", atribuindo a ele um nome qualquer - no exemploitem1-, precedido do caracter #,da seguinte forma:

Veja o início da <a href="#item1">segunda sessão</a>.2.Defina o "ponto de chegada", atribuindo a ele uma âncora de nome, com o nomecorrespondente ao do ponto de partida, assim:

Esta <a name="intem1">segunda sessão</a> trata de..

Como Criar Botões GráficosPodemos utilizar hipergráficos para criar efeitos semelhantes a botões e oferecer

uma boa alternativa aos cliques em texto simples. O formato de uma âncora gráfica éidêntico ao de uma âncora de texto. Porém, ao invés de inserir texto entre as tags <AHREF> e </A>, você referencia uma imagem. Observe o exemplo abaixo:<A HREF=”homepage.htm”><IMG SRC=”home.gif”></A>

DICA: Se o texto ou as imagens usadas em âncoras de hipertexto parecerem nãofuncionar de forma correta, verifique se o endereço do documento na tag <A HREF> estátotalmente colocado entre aspas. Omitir as aspas finais é um erro muito comum.

Nomes de ArquivoO caminho dos documentos, ou nomes de arquivo, é semelhante ao que se utiliza

nos sistemas DOS e UNIX, embora a barra seja normal (/) e não a invertida (contra-barra -\), como os usuários do DOS estão acostumados a empregar. Cada barra conduz aopróximo subdiretório com o nome especificado e o caminho termina em um nome dearquivo com uma extensão (tal como um TXT ou HTML). Também é possível especificarum caminho até um diretório inteiro, apenas completando a especificação do caminho como nome do diretório e uma barra (/) final. Por exemplo, para ver o conteúdo do diretóriochicayban em um servidor FTP, poderíamos usar:

ftp://ftp.chicayban.com.br/chicayban/Ao desenvolver uma série de documentos HTML, você tem a possibilidade de usar

um excelente atalho, empregando caminhos relativos em lugar de caminhos absolutos. Épossível omitir o protocolo e o endereço e, simplesmente, iniciar o endereço do documentono hyperlink, por meio de um caminho relativo. Para exemplificar, se você estivertrabalhando em um arquivo chamado “projeto.htm” em algum servidor da Web e quiservincular esse arquivo a “reuniao.htm” no mesmo diretório, o vínculo seria:<A HREF=”reuniao.htm”>Conclusões da reunião sobre o “Projeto Internet 2”</A>

Já se o arquivo estiver em um subdiretório denominado “conclusoes”, comece pelo nomedo subdiretório:<A HREF=”conclusoes/reuniao.htm”> Conclusões da reunião sobre o “ProjetoInternet 2”</A>

Você também pode especificar um caminho relativo até um documento localizadoem diretórios de níveis mais elevados, usando “..”, o símbolo que corresponde ao diretóriosuperior. Por exemplo, esta referência indica um arquivo denominado “relatorio.htm” nodiretório superior:

Page 10: Cursos de HTML

10

<A HREF=”../relatorio.htm”>Clique para ler o relatório do “Projeto Internet 2”</A>Ainda que um documento esteja em um árvore de diretórios inteiramente isolada,

embora situada no mesmo servidor, você pode omitir o protocolo e o endereço da Internet,iniciando o nome do arquivo com uma barra (/). Essa representação referencia o diretórioprincipal de documentos do servidor, a partir do qual os subdiretórios e os diretórios comnomes alternativos podem ser referenciados.Se este assunto lhe parece um pouco confuso éporque, talvez, você seja da geração Windows. Nunca usou um DOS ou muito menos umUnix? Acertei? No Windows, diretórios são pastas e como tudo é na base do clique, vocênunca precisou digitar nenhum caminho de diretório. Infelizmente, não há nenhuma formade se diagramar em HTML sem conhecer esse básico de sistemas operacionais, mas sevocê ainda não entendeu, tente ler novamente os parágrafos acima. Se ainda assim nadaficou claro ou dúvidas apareceram, pergunte! Estarei inteiramente disponível parasolucionar dúvidas no endereço [email protected]. Se possível, coloque algum assuntona mensagem como “Ibest.Master”. No próximo modulo, vamos aprender a construir umformulário HTML para envio de mensagens eletrônicas para receber “feedback” dosvisitantes!

Tabelas em HTMLPrincipais Marcações

Segue abaixo o conjunto de marcações essenciais para desenhar tabelas em HTML.Alguns atributos podem ser definidos para cada uma dessas marcações. Falaremos dessesatributos mais adiante.• <TABLE></TABLE>Toda tabela deve ser iniciada com a marcação <table> e encerrada com </table>.

ATENÇÃO: Dessa forma a tabela vai aparecer sem bordas, mas dividindo linhas ecélulas. Para que a tabela apareça com bordas simples, defina dessa forma <tableborder></table>.Antes e depois de uma tabela, acontece sempre uma quebra de linha.

• <TR></TR>Cada linha de uma tabela deve sempre aparecer entre as marcações <tr> e </tr>. (TR =Table Row)

• <TD></TD>Esta é a marcação que define cada célula de uma tabela. As células de uma tabela

devem sempre aparecer entre as marcações de linhas (<tr> e </tr>). Como padrão, o textonas células é alinhado a esquerda.

• <TH></TH>Desta forma são definidos os títulos de uma tabela. Estes podem ser posicionados em

qualquer célula. A diferença entre a marcação de célula e título de célula é que o títuloaparece em negrito.

Marcações básicas.

<table border>

Page 11: Cursos de HTML

11

<tr><td>Itens/Mês</td><th>Janeiro</th><th>Fevereiro</th><th>Março</th></tr>

<tr><th>Usuarios</th><td>80</td><td>93</td><td>120</td></tr>

<tr><th>Linhas</th><td>3</td><td>3</td><td>5</td></tr>

</table>

Vai aparecer dessa forma:

AtributosAs marcações das tabelas, podem apresentar resultados diferentes, se acompanhadas de

alguns atributos. Vamos ver os principais:

• <BORDER>Esse atributo aparece junto a marcação TABLE. Caso esse atributo não apareça, a tabela

não terá bordas.Ou seja, como já vimos, para obter uma tabela com bordas, ela deve serdelimitada pelas marcações <table border> </table>. • <ALIGN>

Este atributo pode ser aplicado a TR,TH e TD, e controla como será o alinhamento dotexto dentro de uma célula, com relação às bordas laterais. Aceita os valores left, center,right, respectivamente para alinhar a esquerda, centralizar ou alinhar a direita.

Veja o exemplo:

Page 12: Cursos de HTML

12

<table border>

<tr><td>Primeira célula</td><td>Segunda célula</td><td>Terceira célula</td></tr>

<tr><td align=center>centro</td><td align=left>esquerda</td><td align=right>direita</td>

</tr>

</table>

Aparece assim:

• <VALIGN>Pode ser aplicado a TR,TH e TD, e define o alinhamento do texto nas células com

relação a borda superior e inferior. Aceita os valores top, middle e bottom

<table border>

<tr><td> Teste para linhamento<br>com relação a bordas<br>inferior e superior<br></td>

<td valign=top> TOP </td><td valign=middle>MIDDLE</td><td valign=botton>BOTTOM</td>

</tr>

</table>

Page 13: Cursos de HTML

13

Aparece assim:

• <NOWRAP>Este atributo evita que haja uma quebra de linha dentro de uma célula. Cautela ao

utilizá-lo, para não produzir células muito largas.

• <COLSPAN>Pode ser aplicado a TH ou TD. Define quantas colunas uma célula poderá abranger. Por

padrão cada célula corresponde a uma coluna, ou seja COLSPAN=1.Vejamos um exemplo

<table border><tr><td colspan=3>3colunas</td><td>normal</td><td>normal</td></tr><tr><td>col 1</td><td>col 2</td><td>col3</td><td>col 4</td><td>col 5</td></tr></table>

Que fica assim:

Page 14: Cursos de HTML

14

• <ROWSPAN>Este atributo pode ser aplicado a células (TH e TD) e define quantas linhas uma mesma

célula pode abranger. Assim como na marcação anterior, o padrão é uma célulacorresponder a uma linha.

Novamente, vamos ver exemplos:

<table border><tr><td rowspan=3>3 linhas</td><td>col 2</td><td>col 3</td><td>col4</td><td>col5</td> </tr><tr><td>col 2</td><td>col 3</td><td>col4</td><td>col 5</td></tr><tr><td>col 2</td><td>col 3</td><td>col4</td><td>col 5</td></tr></table>

Apresenta-se dessa forma:

Page 15: Cursos de HTML

15

Mais elementos de controle

• BORDER=<value>Acrescentando um valor ao atributo BORDER é possível colocar tabelas em maiordestaque:

<table border=5><tr><td>teste1</td> <td>teste2</td> <td>teste3</td></tr><tr><td>teste4</td> <td>teste5</td> <td>teste6</td></tr></table>

• CELLSPACING=<value>Este atributo é aplicável à marcação TABLE. Como padrão, o Netscape 1.1 utiliza espaço2 entre as células. Este atributo define o espaço entre cada célula na tabela.

<table border cellspacing=5><tr><td>teste1</td> <td>teste2</td> <td>teste3</td></tr><tr><td>teste4</td> <td>teste5</td> <td>teste6</td></tr></table>

Page 16: Cursos de HTML

16

• CELLPADDING=<value>Este atributo é aplicado também à marcação TABLE e define a distância entre o texto e aborda de cada célula.

Veja exemplo:

<table border cellpadding=8>

<tr><td>teste1</td> <td>teste2</td> <td>teste3</td></tr><tr><td>teste4</td> <td>teste5</td> <td>teste6</td></tr></table>

A tabela mais compacta possível seria definida como: <table border=0 cellspacing=0cellpadding=0>

• WIDTH=<value or percent>

Page 17: Cursos de HTML

17

Este atributo pode ser aplicado tanto a TABLE como a TH e TD. A ele tanto pode serassociado um valor em "pixels" (ponto em tela gráfica), como um valor percentual. Ouseja, determina o quanto da tela uma tabela ou célula de tabela deverá ocupar.

Vamos ver os exemplos:

<table border width=50%><tr><td>segunda</td><td>ter&ccedil;a</td><td>quarta</td></tr><tr><td>quinta</td><td>sexta</td><td>s&aacute;bado</td></tr></table>

Segundo exemplo - aplicando width a uma célula:

<table border><tr><td width=50%>segunda</td><td>terça</td><td>quarta</td></tr><tr><td>quinta</td><td>sexta</td><td>sábado</td></tr></table>

Page 18: Cursos de HTML

18

FORMULÁRIOSCodificação básica

Um formulário começa com a marcação <FORM> e termina com </FORM>. Outrositens devem ser especificados:• Primeiro, o formulário precisa saber como enviar a informação para o servidor.

Existem dois métodos, GET e POST.

METHOD="GET"A maioria dos documentos HTML são recuperados a partir da requisão de uma única URLao servidor. Assim, um formulário que utilize este método, envia toda sua informação aofinal da URL ativada.

METHOD="POST"Este método transmite toda a informação fornecida via formulário, imediatamente após aURL ativada. Ou seja, quando o servidor recebe uma ativação de um formulário utilizandoPOST ele sabe que precisa continuar "ouvindo" para obter a informação. Este é o melhormétodo.

• Segundo, o formulário precisa saber para onde enviar a informação. Esta é a URLsendo ativada a partir do formulário, e ela é referenciada através da marcação ACTION.Esta URL em geral aponta para um script CGI que irá receber e decodificar os resultados.Lembre-se que se você está referenciando um script que reside no mesmo servidor doformulário, você não precisa incluir a URL completa.

ACTION="/cgi-bin/post-query" para um script no seu servidor

ACTION="http://www.cr-df.rnp.br/cgi-bin/post-query" para um script no servidor doCR/DF

Após você construir estas marcações, seu formulário geralmente terá a seguinte estrutura:

Page 19: Cursos de HTML

19

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Marcações de campos de entrada e HTML em geral

</FORM>

Observe que este formulário utiliza o método POST e envia as informaçõesdigitadas para um script local chamado post-query no diretório /cgi-bin do servidor. Outrainformação importante: cada marcação de entrada em um formulário tem uma opçãoNAME associada, de tal forma que o script saiba qual o nome, isto é, como chamar cadavalor digitado. Certamente você pode definir mais de um campo de entrada textual oumenu dentro de um formulário, mas certifique-se de que cada um possui um nomediferente.

TextoEntrada de texto comum - TEXT

A forma mais simples de campo de entrada é a marcação text. Este campo permitea digitação de uma única palavra ou linha de texto, e possui uma largura default de 20caracteres.Opções:

VALUE="" OPCIONALUtilizando a marcação VALUE você especifica que texto aparecerá no campo quando oformulário for exibido.

SIZE="" OPCIONALEsta marcação altera o tamanho deste campo exibido na tela.Obs.: o usuário sempre poderá digitar mais caracteres do que o tamanho do campo na tela,pois o texto irá se deslocar a esquerda dentro do campo.

MAXLENGTH="" OPCIONALSe você deseja limitar o número de caracteres que o usuário pode digitar, basta usar estamarcação. O formulário irá emitir um bip de erro se o usuário tentar digitar além dopermitido em MAXLENGTH.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Qual o seu primeiro nome?<INPUT TYPE="text" NAME="primeiro_nome" VALUE="carlos" SIZE="10"MAXLENGTH="15">

</FORM>

Page 20: Cursos de HTML

20

Obs.:

• O valor informado em NAME deve utilizar sublinhado em vez de espaços em branco.Inserir espaços em branco nestes nomes pode causar problemas no servidor nadecodificação dos valores informados.

• Se seu formulário possui apenas um campo de entrada textual, ao teclar ENTER nestecampo o formulário será submetido, como se o usuário tivesse acionado o botãoSUBMIT.

Entrada de texto protegido, senha - PASSWORDMarcações de entrada do tipo password são idênticas aos campos do tipo text,

exceto pelo fato de todos os caracteres serem exibidos como asteriscos ( *).

Opções:VALUE="" OPCIONALA marcação VALUE especifica um valor default para este campo.

SIZE="" OPCIONALEsta troca o tamanho do campo de password exibido na tela.

MAXLENGTH="" OPCIONALLimita o número de caracteres que o usuário pode informar como password.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Informe sua senha de acesso (8 caracteres):<INPUT TYPE="password" VALUE="xpto" NAME="sua_senha" SIZE="8"MAXLENGTH="8">

</FORM>

Page 21: Cursos de HTML

21

Obs.:

• Se você pretende utilizar MAXLENGTH para limitar o número de caracteresinformados, tenha certeza de especificar um SIZE com o mesmo tamanho, parafornecer ao usuário o sentimento de qual a largura do campo. Esta regra não foiutilizada no primeiro exemplo, que possui SIZE igual a 10, mas MAXLENGTH de 15,o que faz o campo se deslocar nos últimos 5 caracteres caso o valor informado possuamais do que 10 caracteres.

• Mesmo que o valor default VALUE esteja representado por asteriscos, o usuário pode

visualizar o seu valor através da recuperação do fonte do hiperdocumento em HTML(uma opção comum na maioria dos clientes WWW).

Entrada oculta - HIDDENAlém da marcação PASSWORD com um valor VALUE default, é possível

"esconder" informação passada dentro de blocos FORM com uma marcação HIDDEN.Esta informação é recebida pelo script de decodificação no servidor, mas não édiretamente exibida ao usuário no formulário.

Opções:VALUE="" OBRIGATÓRIOAtravés da marcação VALUE, você deve especificar o texto oculto a ser enviado ao scriptprocessador do formulário.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Você não pode visualizar nada aqui embaixo.<INPUT TYPE="hidden" NAME="nome_oculto" VALUE="form12">

</FORM>

Page 22: Cursos de HTML

22

Obs.:

• Mesmo que o valor especificado em HIDDEN VALUE não seja exibido no formulário,o usuário pode vê-lo através da operação de visualização do fonte do hiperdocumento,da mesma forma como no campo PASSWORD.

Entrada de várias linhas de texto - TEXTAREAA marcação TEXTAREA não utiliza o formato convencional INPUT

TYPE="text" dos exemplos anteriores. Ao contrário, uma marcação <TEXTAREA>delimita o seu início e a marcação </TEXTAREA> o seu fim.

Opções:ROWS="" OBRIGATÓRIOEspecifica o número de linhas da entrada textual.

COLS="" OBRIGATÓRIOEspecifica o número de colunas da entrada textual.

Texto default OPCIONALSe você deseja que um texto seja exibido no campo textual ao abrir o formulário,simplesmente coloque este texto entre as marcações de início e fim da TEXTAREA.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Por favor, escreva aqui suas sugestões, dúvidas e críticas:<BR><TEXTAREA NAME="critica" ROWS="3" COLS="40">

Page 23: Cursos de HTML

23

Gostaria de obter mais informações sobreeste servidor. Grato.</TEXTAREA>

</FORM>

Obs.:

• O usuário dispõe de Scrollbars para digitar além do número de linhas e colunasdefinidas em ROWS e COLS.

MenusMenus com opções - SELECTMenu de opção única

A marcação SELECT segue a mesma convencão de TEXTAREA. Ou seja, asopções de menu ficam entre a marcação de início <SELECT> e a de fim </SELECT>.

Opções:OPTION OBRIGATÓRIOEspecifica uma opção presente no menu.

VALUE="" OPCIONALEspecifica o valor da opção retornada ao servidor. Se não for definido, o nome da opção éenviado ao servidor.

SELECTED OPCIONALPor default, a primeira OPTION é exibida no menu. Esta marcação estabelece uma opçãode menu a ser exibida inicialmente, quando não se deseja que seja a primeira OPTION.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Page 24: Cursos de HTML

24

Onde você pretende fazer turismo nas férias?<SELECT NAME="lugares_para_ver"><OPTION>Fortaleza<OPTION VALUE="sul">Florianópolis ou Porto Alegre<OPTION>Rio de Janeiro<OPTION SELECTED>Brasília<OPTION VALUE="amazonia">Manaus</SELECT>

</FORM>

Obs.:• Se você possui mais do que 3 ou 4 opções de escolha, e o usuário só pode selecionar

uma, então este elemento de entrada é o melhor. As pessoas frequentemente utilizamvários RADIOBUTTONS, que veremos a seguir.

• O script decodificador, no servidor, provavelmente apreciará uma única palavra paraVALUE, em vez de múltiplas palavras. Você sempre pode utilizar sublinhado paraseparar expressões compostas.

Listas pagináveis - SELECT com SIZEA única diferença entre este elemento de entrada e o anterior SELECT é a

introdução da opção SIZE. Ela especifica quantas linhas com opções de menu serãoexibidas na janela.

Opções:MULTIPLE OPCIONALEspecifica que múltiplas opções podem ser selecionadas, em oposição ao exemplo anteriordo SELECT, onde apenas uma opção pode ser selecionada no menu.

SIZE="" OBRIGATÓRIONúmero de linhas (opções de menu) exibidas na janela.

Page 25: Cursos de HTML

25

OPTION OBRIGATÓRIOEspecifica uma opção da lista.

VALUE="" OPCIONALEspecifica o valor da opção retornada ao servidor.Se não for definido, o nome da opção é enviado ao servidor.

SELECTED OPCIONALEsta opção determina uma OPTION default para ser selecionada.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Que facilidades de acomodação você deseja?<BR><SELECT NAME="opcional" MULTIPLE SIZE="5"><OPTION>Televisão<OPTION VALUE="casal" SELECTED>Cama de Casal<OPTION>Ar Condicionado<OPTION>Fax<OPTION SELECTED>Modem V.34<OPTION>Sauna<OPTION>Lavanderia<OPTION>Frigo-Bar</SELECT>

</FORM>

Obs.:

• Este elemento de entrada é bom para listas com muitas opções, porque é possívelcontrolar quantas serão exibidas por vez.

Page 26: Cursos de HTML

26

• Em alguns clientes WWW, é necessário teclar simultaneamente as teclas CONTROLou SHIFT para selecionar múltiplos itens.

BotõesBotões sim ou não - CHECKBOX

Retornando ao formato de INPUT TYPE="", a marcação CHECKBOXES éperfeita para escolher entre duas opções.

Opções:VALUE="" OPCIONALEspecifica o valor da opção enviado ao servidor. Se não for definido, o valor "on" éenviado ao script decodificador.

CHECKED OPCIONALEsta marcação define a opção selecionada por default.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

<INPUT TYPE="checkbox" NAME="boletim" CHECKED>Sim, eu desejo receber oboletim de notícias.<P><INPUT TYPE="checkbox" NAME="info">Sim, eu gostaria de receber mais informaçõesturísticas.</DL>

</FORM>

Obs.:

• Este elemento funciona melhor para respostas do tipo "sim/não" ou "on/off".• Você pode simular uma lista SELECT MULTIPLE criando CHECKBOXES com o

mesmo NAME, mas diferentes VALUES

Page 27: Cursos de HTML

27

Botões com opções - RADIORADIOBUTTONS utilizam uma notação similar a de CHECKBOXES, contudo, apenasuma opção pode ser escolhida.

Opções:VALUE="" OBRIGATóRIOEspecifica o valor da opção a ser enviado para o servidor.Se não for definido, um valor "on" é enviado ao script decodificador.

CHECKED RECOMENDADOEsta marcação especifica qual botão estará selecionado por default.Uma vez que uma seleção precisa ser feita, é melhor prover uma opção pre-selecionada.

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">

Suas preferências na viagem:<DL><DD>Classe do Bilhete:<INPUT TYPE="radio" NAME="classe" VALUE="eco">econômica<INPUT TYPE="radio" NAME="classe" VALUE="exe">executiva<INPUT TYPE="radio" NAME="classe" VALUE="pri" CHECKED>primeira<DD>Localização:<INPUT TYPE="radio" NAME="local" VALUE="frente">área fumante<INPUT TYPE="radio" NAME="local" VALUE="tras">área não fumante</DL>

</FORM>

Obs.:

• Como já foi mencionado, RADIOBUTTONS não são boa escolha para listas commuitos itens, porque o cliente tem problemas para exibir muitos botões. É melhorutilizar o menu SELECT.

Page 28: Cursos de HTML

28

• Uma vez que um botão é selecionado, ele não pode ser desmarcado sem selecionaroutro botão que possua o mesmo NAME. A seleção default pode ser restaurada com autilização do botão RESET, introduzido a seguir.

• Se você utiliza vários RADIOBUTTONS com o mesmo NAME e nenhum VALUES, oservidor não será capaz de dizer que botão foi selecionado, uma vez que o valor "on"será retornada para qualquer um deles.

Botões de submissão e limpeza - RESET E SUBMITEm vez do usuário corrigir cada INPUT, um botão RESET pode ser utilizado para

restaurar todos os campos a seus valores default, como se nenhuma informação houvessesido digitada.

E finalmente, o FORM precisa de uma opção para enviar toda a informaçãodigitada para o servidor, uma vez que o usuário terminou de preencher os todos os camposde entrada. O botão SUBMIT transfere toda a informação para a URL especificada noelemento ACTION.

Opções:VALUE="" OPCIONALEspecifica o texto a ser exibido no botão.Se não for especificado, os textos default "Reset" e "Submit Query" serão colocados nosbotões RESET e SUBMIT, respectivamente.

NAME="" OPCIONALSe NAME for definido em um botão SUBMIT, o formulário irá transmitir o valor doconteúdo do elemento VALUE, permitindo que você tenha múltiplos botões SUBMITnuma espécie de versão simplificada de um RADIOBUTTONS.

<FORM METHOD="POST" ACTION="/cgi-bin/donothing">

Qual o seu primeiro nome? <INPUT TYPE="text"><BR>Aperte este botão: <INPUT TYPE="radio" NAME="nada"><BR><INPUT TYPE="reset" VALUE="Limpa campos"><INPUT TYPE="submit">

</FORM>

Page 29: Cursos de HTML

29

Obs.:

• Normalmente, o script decodificador retorna um hiperdocumento após ele processar ainformação do formulário.

• Nem todos os clientes suportam múltiplos botões SUBMIT. É melhor utilizar apenasum único botão SUBMIT para transmitir a informação digitada no formulário.

Estrutura Básica - Frame DocumentO "Frame Document" é um arquivo onde se define a estrutura das janelas para seu

hiperdocumento em HTML. Quantas serão e qual sua distribuição em tela. Nestedocumento as marcações <body> e seu par </body> são substituídas por <frameset> e</frameset>. Tal arquivo pode ser, por exemplo, o arquivo index.html de qualquer nível naestrutura do seu serviço de informações baseado em WWW.

Pronto, agora é preciso definir cada frame/janela internamente à(s) área(s) deframeset. Ou seja, as características de cada janela e seus "conteúdos" - URL incial. Cadajanela/frame é antecedido da marcação <frame>, como numa lista cada item é antecedidopor <li>. Usualmente, uma URL virá associada a cada frame.

A estrutura mínima do frame document será então:

<html>

<head><title></title></head>

<frameset ...>

<frame src="URL"><frame src="URL">

</frameset>

• Atenção: Note que com apenas essasmarcações o documento da estrutura -Frame Document - não funciona. Énecessário que esteja definido algumatributo para as áreas de frameset, assimcomo associadas urls a cada frame, comoveremos mais adiante.

• Atenção II: Você poderá ter - e

provavelmente terá - vários <frameset>intercalados. Da mesma foma como épossível intercalar listas, ou tabelas em

Page 30: Cursos de HTML

30

</html>HTML.

Cada uma destas marcações - <frameset> e <frame> - aceita extensões, valores e atributos,

FramesetFrameset aceita os atributos ROWS e COLS, referentes divisões horizontais(como linhasem uma tabela) e verticais (como colunas) entre janelas na tela. Internamente a marcaçõesFRAMESET só poderão aparecer outras FRAMESET, FRAME ou NOFRAMES.Importante: Não podem ser utilizadas as marcações válidas entre marcações<BODY></BODY> nem internamente a marcações FRAMESET, nem antes dela, senãoFRAMESET será ignorada.

ATRIBUTOSROWS (<frameset rows=“valor, valor, valor...”>)

Define divisões horizontais.entre janelas. Vem sempre acompanhado de valoresassociado, que definem quanto da tela cada janela vai ocupar. Dessa forma, para cadajanela a ser criada deverá haver um valor associado. Estes valores devem vir separados porvírgulas. Este valor poderá ser:

• Numérico - pixels=> (ROWS="30, 50") Refere-se a quantos pixels cada frame(ou janela) deve ocupar. A desvantagem desta notação é que não é possível tercontrole do valor total de pixels que o cliente do usuário compreende.

• Percentual=> (ROWS="25%, 25%, 50%") Pode ainda ser um valor percentual,sempre somando um valor de 100%.

É o método mais simples.• Relativo=> (ROWS="2*,*") Desta forma, define-se um valor relativo. No

exemplo, o primeiro frame vai ocupar dois terços da tela, e o segundo um terço.

Exemplos :1. Para dividir a tela do browser em três janelas horizontais, sendo que a do meio é maislarga que as de cima e de baixo:

<html>

<head><title></title></head>

<frameset rows="20%, 60%,20%"><frame src="cell1.html"><frame src="cell2.html"><frame src="cell3.html">

Page 31: Cursos de HTML

31

</frameset>

</html>2.Três janelas horizontais, sendo que a primeira e a segunda tem uma altura fixa, e o framecentral deverá ocupar o restante do espaço:

<html>

<head><title></title></head>

<frameset rows="30, *,50">

<frame src="cell1.html"><frame src="cell2.html"><frame src="cell3.html">

</frameset>

</html>

2. COLS (<frameset cols=“valor, valor, valor.. “>)Funciona exatamente como a marcação anterior, no entanto, divide a tela em frames oujanelas verticais.

Exemplos

Para dividir a tela do browser em três janelas verticais

1.Três colunas, sendo que a do meio é mais larga que as de cima e de baixo:

Page 32: Cursos de HTML

32

<html>

<head><title></title></head>

<frameset cols="20%, 60%,20%">

<frame src="cell1.html"><frame src="cell2.html"><frame src="cell3.html">

</frameset>

</html>

2.Três janelas verticais, sendo que a primeira e a segunda tem uma altura fixa, e o framecentral deverá ocupar o restante do espaço:

<html>

<head><title></title></head>

<frameset cols="200, *,100">

<frame src="cell1.html"><frame src="cell2.html"><frame src="cell3.html">

</frameset>

</html>

Page 33: Cursos de HTML

33

Atenção, para intercalar janelas verticais e horizontais, será necessário definirvárias áreas "FRAMESET". Para cada área delimitida como "FRAMESET" vocêpoderá definir número de linhas OU colunas. Veremos como fazê-lo mais adiante.Não é possível definir COLS e ROWS para uma mesma área “FRAMESET”.

FrameA marcação FRAME define cada janela contida em uma área “frameset”. Esta

marcação não necessita de uma tag de finalização (</frame>) e aceita 6 atributospossíveis:1. SRC="url" - O atributo SRC define a URL que será exibida em cada frame.2. NAME="nome_da_janela" - Este atributo é utilizado para associar um nome a umajanela. Deve ser usado quando uma janela - frame - for o destino de um link em outrodocumento (normalmente é no mesmo documento. Um frame apontando para outro. Tipoum índice abrindo várias urls em outras janelas).Este atributo é opcional. Por padrão, osframes não tem nome. Importante, o nome_da_janela deve começar por caracteralfanumérico.3. MARGINWIDTH="valor" - Esse atributo controla as margens esquerda e direita decada frame, ou seja, a distância entre o conteúdo da página e as margens da janela. O valorassociado será um valor absoluto em pixels. O menor valor aceito será 1. Este atributo éopcional, caso não venha definido, o browser usará o seu padrão para definir as margensno frame/janela.4. MARGINHEIGHT="valor" - Também é um atributo opcional. Funciona exatamentecomo o anterior, só que determina as margens superior/inferior em cada frame.5. SCROLLING="yes/no/auto" - Novamente, é um atributo opcional, que define seuma janela deve possuir barra de rolagem ou não. Caso seja definido como YES, a janelasempre possuirá uma barra de rolagem visível. Caso seja definido como NO, nunca haverábarra de rolagem. E, finalmente, se vier como AUTO, o browser aplicará a barra quandonecessário.O padrão é AUTO, portanto, se o atributo scrolling não vier definido, o browseraplicará a barra de rolagem, sempre que necessário.6. NORESIZE - Este atributo não possui valor associado. Quando ele não aparece, ousuário poderá alterar o tamanho da janela, "arrastando" com o cursor a borda da mesma.O padrão é que todas as janelas possam ter seu tamanho alterado. NORESIZE é opcional

Um frame, com todos os atributos definidos seria escrito assim, por exemplo:<frame src=“http://www.cr-df.rnp.br” name=“home” marginwidth=“5”marginheight=“5” scrolling=“auto” noresize>

NoframesEsta marcação possibilita que se crie uma opção de navegação na página para

quem não possui um browser que entende frames. Esta marcação aparece no documentode estrutura "Frame document", e sempre é usada em pares (<noframes>.. conteúdo...</noframes>). Quando o acesso for feito através de um browser que entenda frames, o queestiver entre as marcações "noframes" será simplesmente ignorado. Internamente a umaárea "noframes" deverá ser usada a estrutura padrão de documentos html (<head></head>, <title> </title> <body> </body>, etc...).

Um exemplo:

Page 34: Cursos de HTML

34

<html>

<head><title>Teste, uso de frames</title></head>

<FRAMESET ROWS="15%, 85%"><NOFRAMES><body bgcolor="#000000" text="#ffff00" link="#ff0000" >Bem-vindo a uma página de teste.<p>Para acessá-la, você deve utilizar a versão 2.0 ou acima do <i>browser</i><ahref="http://home.netscape.com/comprod/mirror/index.html"> Netscape Navigator!</a></p>

<hr>

</body></NOFRAMES>

<FRAMESET COLS="25%, 75%"><FRAME NAME="1" SRC="teste1.htm" NORESIZE><FRAME NAME="2" SRC="teste2.htm" NORESIZE>

</FRAMESET><FRAMESET COLS="30%, 70%">

<FRAME NAME="3" MARGINWIDTH="50" SRC="teste3.htm"><FRAMESET ROWS="65%, 35%"><FRAME NAME="4" SRC="teste4.htm" NAME="chat"><FRAME NAME="5" SRC="teste5.htm"></FRAMESET>

</FRAMESET></FRAMESET>

</html>

Veja como ela é exibida, por exemplo, com o MOSAIC (não lê frame) e com oNETSCAPE (lê frame).

MOSAIC - não lê frame NETSCAPE - lê frame

Page 35: Cursos de HTML

35

Intercalando Frameset - exemplosPara tornar mais claro como se constrõem múltiplas e intercaladas janelas -

divisões horizontais e verticais - utilizando das marcações de frames, seguem abaixo doisexemplos de construção de documentos com múltiplas janelas.

Exemplo 1

<html>

<head><title>Título</title></head>

<frameset rows="30%, 70%">

<frameset cols="33%, 33%,33%"><frame src=""><frame src=""><frame src=""></frameset>

<frameset cols="50%, 50%"><frame src=""><frame src=""></frameset></frameset>

</html>

Exemplo 2:

Page 36: Cursos de HTML

36

<html>

<head><title></title></head>

<frameset rows="15%,85%">

<frame src="teste5.htm">

<frameset cols="25%,75%"><frame src="teste4.htm">

<frameset rows="85%,15%"><frame src="teste3.htm"><frame src="teste2.htm">

</frameset></frameset></frameset></html>

Links entre framesA marcação TARGET, permite que se controle em qual janela um link específico

será exibido quando o usuário clicar sobre ele. Por exemplo, pode-se ter uma janela lateralcom uma espécie de indíce do serviço de informação e outra janela em que a navegaçãopropriamente dita vai ocorrer. Desta forma, o índice está permanentemente disponíveldurante toda a consulta. Para utilizar este recurso você deverá:1. Atribuir um "name" a cada frame em seu "frame document" (name="valor").2. No documento onde será criado um link, que vai aparecer em outra janela, ao criar o

link, acrescentar a marcação target="valor"" à âncora, da seguinte forma: <ahref="URL" target="valor">

Onde este valor é idêntico àquele associado à marcação name no frame document.

Exemplo:

Page 37: Cursos de HTML

37

O frame document deverá ser escrito assim: o documento que contém o índice de navegação(barra.htm), será assim:

<html>

<head><title>Título</title></head>

<frameset rows="80%, 20%">

<frame name="navega"" src="teste3.htm"> <frame src="barra.htm">

</frameset></html>

<html>

<head><title>Título</title></head><body><a href="http://www.cr-df.rnp.br/"target="navega"> [link para o cr-df]</a><a href="http://www.cr-df.rnp.br/"target="navega"> [link para o cr-sp]</a><a href="http://www.cr-df.rnp.br/"target="navega"> [link para o cr-pe]</a></body></html>

Cartela de Comandos

Marcação Função / características• Estrutura Básica

<html> e </html> Delimita o "frame document", como em qualquer arquivohtml normal.

<head></head> Define cabeça do documento, novamente, como emqualquer arquivo html.

<frameset></frameset> delimita as janelas a serem usadas no documento. Podemhaver vários frameset intercalados. Controla ocomportamente das janelas através de seus atributos.

<frame src="URL"> Define cada janela/frame. Normalmente possui uma URLassociada. Aceita atributos e valores.

Page 38: Cursos de HTML

38

• SintaxePara Frameset

<frameset rows="valor, valor,valor">

define quantas linhas - janelas horizontais - e sua ocupaçãona tela, para cada área frameset. Aparecerão tantos valoresquantas forem as janelas. Os valores relativos a cada janeladeverão ser separados por vírgulas.Cada valor associado poderá ser:

1. Numérico - em pixels = <frameset rows="30, 50">2. Percentual = <frameset rows="25%, 25%, 50%">Relativo = <"2*,*">;

<frameset cols="valor, valor,valor">

define quantas colunas - janelas verticais - e sua ocupação datela. Funciona exatamente como a marcação interior(associação de valores, com as mesmas opções).

Para Frame<frame SRC="URL"> associa uma url a uma janela<frame NAME="valor"> associa um nome a uma janela<frameMARGINWIDTH="valor">

determina margem direita/esquerda em cada frame

<frameMARGINHEIGHT="valor">

determina margem superior/inferior em cada frame

<frameSCROLLING="yes/no/auto">

define presença, ausência, ou atribuição automática (pelobrowser) de barras de rolagem

<frame NORESIZE > mantém fixo o tamanho de cada janela/framePara Noframes

<noframe></noframe> delimita área para navegação opcional, destinada a quem usabrowser que não entenda 'frame'.Internamente, recebe amarcação <body></body> delimitando o documento, e todasas demais marcações HTML.

Target<a href="URL" target="name"> Define a janela em que será exibido um link ao ser ativado.

O name associado deverá ser idêntico ao name atribuído ajanela de destino no “frame document”.

Tabela de CoresTabela original em: http://www.infi.net/wwwimages/colorindex.html

Page 39: Cursos de HTML

39

White rgb=#FFFFFFRed rgb=#FF0000Green rgb=#00FF00Blue rgb=#0000FFMagenta rgb=#FF00FFCyan rgb=#00FFFFYellow rgb=#FFFF00Black rgb=#000000Aquamarine rgb=#70DB93Baker's Chocolate rgb=#5C3317Blue Violet rgb=#9F5F9FBrass rgb=#B5A642Bright Gold rgb=#D9D919Brown rgb=#A62A2ABronze rgb=#8C7853Bronze II rgb=#A67D3DCadet Blue rgb=#5F9F9FCool Copper rgb=#D98719Copper rgb=#B87333Coral rgb=#FF7F00Corn Flower Blue rgb=#42426FDark Brown rgb=#5C4033Dark Green rgb=#2F4F2FDark Green Copper rgb=#4A766EDark Olive Green rgb=#4F4F2FDark Orchid rgb=#9932CDDark Purple rgb=#871F78Dark Slate Blue rgb=#6B238EDark Slate Grey rgb=#2F4F4FDark Tan rgb=#97694FDark Turquoise rgb=#7093DBDark Wood rgb=#855E42Dim Grey rgb=#545454Dusty Rose rgb=#856363Feldspar rgb=#D19275Firebrick rgb=#8E2323Forest Green rgb=#238E23Gold rgb=#CD7F32Goldenrod rgb=#DBDB70Grey rgb=#C0C0C0Green Copper rgb=#527F76Green Yellow rgb=#93DB70Hunter Green rgb=#215E21Indian Red rgb=#4E2F2FKhaki rgb=#9F9F5FLight Blue rgb=#C0D9D9Light Grey rgb=#A8A8A8Light Steel Blue rgb=#8F8FBDLight Wood rgb=#E9C2A6Lime Green rgb=#32CD32Mandarian Orange rgb=#E47833Maroon rgb=#8E236BMedium Aquamarine rgb=#32CD99

Medium Blue rgb=#3232CDMedium Forest Green rgb=#6B8E23Medium Goldenrod rgb=#EAEAAEMedium Orchid rgb=#9370DBMedium Sea Green rgb=#426F42Medium Slate Blue rgb=#7F00FFMedium Spring Green rgb=#7FFF00Medium Turquoise rgb=#70DBDBMedium Violet Red rgb=#DB7093Medium Wood rgb=#A68064Midnight Blue rgb=#2F2F4FNavy Blue rgb=#23238ENeon Blue rgb=#4D4DFFNeon Pink rgb=#FF6EC7New Midnight Blue rgb=#00009CNew Tan rgb=#EBC79EOld Gold rgb=#CFB53BOrange rgb=#FF7F00Orange Red rgb=#FF2400Orchid rgb=#DB70DBPale Green rgb=#8FBC8FPink rgb=#BC8F8FPlum rgb=#EAADEAQuartz rgb=#D9D9F3Rich Blue rgb=#5959ABSalmon rgb=#6F4242Scarlet rgb=#8C1717Sea Green rgb=#238E68Semi-Sweet Chocolate rgb=#6B4226Sienna rgb=#8E6B23Silver rgb=#E6E8FASky Blue rgb=#3299CCSlate Blue rgb=#007FFFSpicy Pink rgb=#FF1CAESpring Green rgb=#00FF7FSteel Blue rgb=#236B8ESummer Sky rgb=#38B0DETan rgb=#DB9370Thistle rgb=#D8BFD8Turquoise rgb=#ADEAEAVery Dark Brown rgb=#5C4033Very Light Grey rgb=#CDCDCDViolet rgb=#4F2F4FViolet Red rgb=#CC3299Wheat rgb=#D8D8BFYellow Green rgb=#99