Beruflich Dokumente
Kultur Dokumente
Programação
web Básica
com JavaScript para ter alguma interação com o
usuário.
w w w. u n i s u l . b r
Universidade do Sul de Santa Catarina
Programação
web Básica
UnisulVirtual
Palhoça, 2016
Programação
web Básica
Livro didático
Designer instrucional
Simone Soares Haas Carminatti
UnisulVirtual
Palhoça, 2016
Livro Didático
e-ISBN
978-85-7817-986-1
P59
Petry, Patrícia Gerent
Programação web básica : livro didático / Patrícia Gerent Petry,
Osmar de Oliveira Braz Junior ; design instrucional Simone Soares Haas
Carminatti. – Palhoça : UnisulVirtual, 2016.
296 p. : il. ; 28 cm.
Inclui bibliografia.
ISBN 978-85-7817-985-4
e-ISBN 978-85-7817-986-1
Capítulo 1
A internet e o HTML | 9
Capítulo 2
Introdução a Linguagem HTML | 25
Capítulo 3
Listas e Vínculos | 53
Capítulo 4
Formatação de Texto | 83
Capítulo 5
Uso de Imagens, Painéis de Fundo e Arquivos de
Música | 103
Capítulo 6
Tabelas | 137
Capítulo 7
Frames | 177
Capítulo 8
Desenvolvendo Páginas Eficientes | 203
Capítulo 9
Folhas de Estilo | 225
Capítulo 10
Criação de Formulários | 255
Considerações Finais | 291
Referências | 293
Você já deve ter passado boa parte de seu tempo explorando a web e é provável
que já esteja familiarizado com a maior parte do conteúdo deste livro. Com ele,
vamos aprender a desenvolver páginas para a web. Talvez você até já tenha
realizado isso em alguma outra oportunidade. Alguns conteúdos podem ser novos
e outros não. Mas não deixe de ler e participar, contribuindo, assim, para o bom
andamento da Unidade de Aprendizagem.
Neste material, você encontrará tudo que precisa para criar uma página
estática na web. Estática porque, aqui, ainda não aprenderemos a tornar as
páginas dinâmicas, como existem em muitos sites já visitados por você (por
exemplo, realizar um cadastro em um banco de dados, via web). Faremos
algumas simulações com JavaScript para se aproximar a páginas dinâmicas.
Utilizaremos o JavaScript também para realizar a validação de formulários. Apesar
de não desenvolver páginas dinâmicas, lembre-se de que as linguagens de
programação web, como Java, PHP, ASP e .NET, embutem o HTML para realizar
a interação com usuário. Também iremos aprender como criar uma página HTML,
disponibilizá-la na web, criar vínculos, folhas de estilos, incluir imagens etc.
Trabalhar com desenvolvimento para a web é gratificante, pois sabemos que uma
das características mais interessantes da internet é a oportunidade que todas
as pessoas têm de disseminar informações. Portanto, disponibilizar informações
na web será o nosso foco. Esperamos que você anime-se e divirta-se bastante
enquanto estuda.
Bons estudos!
A internet e o HTML 1
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. 09 - 24.
Na prática, não existe nenhuma diferença entre páginas de uma grande empresa
na WEB das páginas que você irá produzir. Ambas podem ser acessadas e
utilizadas com a mesma facilidade. A diferença principal é uma só: a criatividade.
Os conceitos citados anteriormente devem ser aprofundados à medida que se
necessita deles. Vamos entender, neste capítulo, um pouco mais sobre essas
tecnologias que servem de base para esse mundo.
Seção 1
O que é a Internet
Existem muitos termos que tentam definir a Internet. Superestrada da informação,
preferem os políticos. Rede de redes, insistem os cientistas. O certo é que cada
um desses grupos prefere ver a rede segundo seus próprios interesses. Para o
pessoal de negócios, uma nova fronteira de construção e investimentos coletivos
é um desafio. Já os cientistas, rigorosos em suas definições, enxergam a virtude
da Internet em conectar computadores de qualquer tipo em todo o globo.
As visões distintas da rede não param por aí. Há quem veja na Internet uma
perigosa fonte de pornografia. Outros têm todos os utensílios, instrumentos e
aparelhos de nosso dia a dia conectados. A Internet é tudo isso ao mesmo tempo
e, com certeza, muito mais. A rede é o que cada pessoa quiser que ela seja. Em
toda a história da Internet, foram os usuários que inventaram novos recursos e
novas aplicações. É um terreno fértil para boas ideias, ao mesmo tempo perigoso
quando utilizada para fins ilícitos.
Isso tudo porque a Internet é uma invenção muito simples. Nada mais é do que
uma forma fácil e barata de fazer com que computadores distantes possam se
comunicar. A partir daí, a revolução está nas mãos das pessoas.
Cada usuário recebe uma identificação única, conhecida como endereço. Com
esse endereço, ele pode se comunicar, enviando mensagens para outras pessoas.
É o que se chama de correio eletrônico. Graças aos esforços de instituições
como Universidades e empresas ligadas à pesquisa, dispostas a investir dinheiro
e pessoal para criar e manter os pontos principais da rede - os servidores
(computadores de alto desempenho) - é possível conseguir programas de graça e
consultar bancos de dados públicos.
10
Seção 2
Como funciona a Web
O navegador é usado A Web funciona basicamente com dois tipos de
para exibir páginas programas: os clientes e os servidores. O cliente é o
da web e outras
informações disponíveis
programa utilizado pelos usuários para ver as páginas,
na world wide web e enquanto os servidores ficam responsáveis por armazenar
navegar por elas. e permitir o acesso ao conteúdo da rede. Aqui, chamamos
o programa cliente de navegador (browser, em inglês).
O que o navegador faz é requisitar um arquivo para
um servidor. Se a informação pedida estiver realmente
armazenada naquele servidor, o pedido será enviado de
volta e mostrado na tela do navegador.
11
A web fornece recursos de imagem, som e vídeo que podem ser incorporados
ao texto, e os softwares mais recentes oferecem novos recursos para multimídia
e aplicativos incorporados. E o mais importante é que a interface de todos esses
recursos é de fácil navegação – basta saltar de vínculo em vínculo, de página em
página, passando por sites e servidores.
12
A Web é distribuída
Sabemos que as informações ocupam muito espaço, especialmente quando você
inclui imagens, sons e vídeos. Para armazenar todas as informações que a web
fornece, você precisa de um espaço enorme em disco e seria quase impossível
gerenciá-las.
A web é dinâmica
Como as informações da web estão contidas no site que as divulgou, as pessoas
que as publicaram, originalmente, podem atualizá-las de forma instantânea,
a qualquer momento. Para obter informações atualizadas, basta usar o seu
navegador para navegar pelas informações e verificar o que há de novo.
13
A web é interativa
Interatividade é a capacidade de “responder” ao servidor web. A web é interativa
por natureza. O ato de selecionar um vínculo e acessar outra página da web para
ir a outro local na web é uma forma de interatividade. Além disso, ela permite que
você se comunique com o autor das páginas que está lendo e com outros leitores
dessas páginas.
Os navegadores da Web
Os usuários circulam por essa teia com um programa chamado navegador, que
é o programa utilizado para exibir páginas pela world wide web. Esse programa
envia pedidos de páginas pela rede e as apresenta na tela do usuário. Existem
vários navegadores da web, praticamente para todas as plataformas que você
possa imaginar, desde sistemas baseados em Interface Gráfica com o Usuário
- GUI (Mac, Linux, Windows), a sistemas de textos para conexões UNIX. Os
navegadores mais conhecidos são Internet Explorer, Fire Fox e Google Chrome.
14
Os servidores Web
Para que uma página esteja permanentemente disponível pela Web, ela precisa
ter um endereço fixo, alojada em um servidor
Definida a hospedagem, basta enviar para o provedor os arquivos de seu site, via
FTP ou por uma página de envio no próprio provedor de espaço, e suas páginas
já estarão disponíveis para visitas.
15
http://www. unisul.br/aluno/aluno.html
Onde,
16
Esse endereço único de um documento pode ser utilizado pelo usuário para
localizar um arquivo com o navegador. Nesse caso, o usuário deve preencher
com o endereço uma janela do navegador conhecida como Endereço. A URL
será enviada até o servidor, que tentará localizar o arquivo e enviá-lo para o
usuário. Caso o arquivo não esteja disponível no servidor, o usuário receberá uma
mensagem de erro.
As URLs também são colocadas dentro de páginas de WWW para fazer referência
a outras informações disponíveis na Internet. Nesse caso, determinados itens
(trechos de texto ou imagens) da página, conhecidos como links, como já visto,
podem ser utilizados pelos usuários para saltar de um lugar a outro na rede. Os
links podem estabelecer ligação com qualquer tipo de arquivo. Essa ligação entre
os documentos é o que se chama de hipertexto.
Seção 3
Afinal o que é HTML?
Para você publicar informações acessíveis a todos, você precisa de uma
linguagem entendida mundialmente, algo parecido como uma linguagem padrão,
que todos os computadores possam entender. Como já dito, a linguagem
utilizada para a World Wide Web é a HTML (HyperText Markup Language – ou
linguagem de formatação de hipertexto).
Atenção!
Não existem programas em HTML.
HTML não é uma linguagem de programação, mas de formatação.Portanto,
a rigor, não existem “programadores” de HTML.
17
Quando o HTML surgiu, a sua principal utilização era para descrever a informação,
sendo predominantemente usado no meio científico para partilhar documentos
de forma universal e facilmente legível. Parágrafos, listas, cabeçalhos, títulos (os
elementos principais do HTML) eram ideais para este tipo de documentação.
Entretanto, o problema foi que a Web ficou literalmente cheia de sites feitos com
essas “criatividades” em HTML, que o puxaram para uma finalidade, que não a
original. Para acomodar os mais variados pedidos, as tags de apresentação (cor,
fonte e alinhamento) foram usadas e abusadas, quando o principal propósito da
linguagem era estruturar a informação. Muitos, em alguma fase, aproveitaram-
se das aparentes facilidades dessa versão do HTML e de browsers demasiado
permissivos a erros.
18
Para alcançar seus objetivos, a W3C possui diversos comitês que estudam as
tecnologias existentes para a apresentação de conteúdo na Internet e criam
padrões de recomendação para utilizar essas tecnologias. Com a padronização, os
programas conseguem acessar facilmente os códigos e entender onde deve ser
aplicado cada conhecimento expresso no documento.
Apesar do W3C não ser muito conhecido no Brasil, padrões seus como HTML,
eXtensible Hypertext Markup Language (XHTML) e Cascading Style Sheets (CSS)
são muito populares. Contudo, em muitos casos são usados de forma errônea,
devido à falta de conhecimento de suas especificações.
Em suma, hoje em dia, temos um HTML mais flexível, portátil e com um formato
prático para dar forma aos documentos de Internet, que pode ser combinado
com outras linguagens como Javascript, PHP e Java, tornando o documento
muito mais interativo.
19
Seção 4
Edição de documentos HTML
Agora que você conheceu um pouco da história do HTML e de suas novidades,
vamos aprender como editar um documento HTML, além de uma breve
introdução à linguagem HTML. Os documentos em HTML são como arquivos
ASCII (American Standard Code for Information Interchange) comuns, que podem
ser editados em vi (no linux), emacs (no linux), textedit, bloco de notas, ou
qualquer editor simples.
20
Além dos editores específicos para HTML, editores bastante utilizados, como o
Word, entre outros, permitem a exportação de seus documentos próprios para o
formato HTML.
•• Html beauty
•• PageBreeze
•• Web writer
21
Todo documento HTML apresenta elementos entre < e >; esses elementos são
as etiquetas (doravante chamadas de tags) de HTML, que são os comandos de
formatação da linguagem, podem ser escritos em maiúscula ou minúscula. A
maioria das tags tem sua correspondente de fechamento:
<tag>...</tag>
Isso é necessário porque as tags servem para definir a formatação de uma porção
de texto e, assim, marcamos onde começa e termina o texto com a formatação
especificada por ela.
22
Alguns elementos são chamados “vazios”, pois não marcam uma região de texto,
apenas inserem alguma coisa no documento:
<tag>
<a href=”URL”>Texto</a>
23
24
Seção 1
Criação de páginas da web simples
Apesar da aparente sofisticação, as páginas web não passam de documentos de
texto simples. Você pode produzi-las com qualquer editor de texto, como o bloco
de notas do Windows. A diferença é que as páginas web contêm algumas
marcas especiais para determinar o papel de cada elemento dentro do
texto. Alguns elementos são marcados como títulos, outros como parágrafos.
As marcações são usadas, também, para indicar os links que levam a outros
documentos na rede. Essas marcas são chamadas de tags e estão especificadas
dentro da linguagem utilizada para criar as páginas web, HTML.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. xxx-xxx.
25
Seção 2
Estruture sua HTML
Abaixo, o primeiro exemplo mostra vários trechos de texto marcados por códigos
colocados entre os caracteres < e >. Esses códigos, chamados de tags, são
responsáveis pela marcação do texto em função de seu papel dentro do
documento. O título principal é marcado com as tags <b> e </b>, enquanto os
parágrafos são separados pela tag <P>. Existem dois tipos de tags. Alguns
são formados aos pares, indicando o início e o fim do trecho afetado, como o
par <b> e </b>. Outros, podem ser colocados individualmente, como o <P>,
que simplesmente insere um espaço para dividir parágrafos. Mais adiante,
mostraremos que as tags também podem receber atributos.
Tags básicas
A estrutura básica de um documento HTML apresenta os seguintes tags:
<HTML>
<HEAD>
<TITLE>Título do Documento</TITLE>
</HEAD>
<BODY>
texto,
imagem,
links,
...
</BODY>
</HTML>
Observe que existem quatro pares de tags, que devem ser sempre
colocados na página.
26
O documento, por sua vez, está dividido em duas partes: o cabeçalho e o corpo
do texto, cada um indicado por um par de tags diferentes.
Tudo que estiver entre o par <HEAD> e </HEAD> irá compor o cabeçalho, não
aparecendo na página.
As tags HTML não são sensíveis à caixa. Traduzindo: tanto faz escrever
<HTML>, <Html>, <html>, <HtMl>, ...
<HTML>
A primeira tag de estrutura de toda a página em HTML é a <html>, a qual indica
que o conteúdo do arquivo encontra-se codificado na linguagem HTML.
Para que o computador reconheça que você está escrevendo um documento em
HTML, todo o seu conteúdo deverá ser delimitado pelas tags HTML de abertura e
fechamento, como no exemplo:
<HTML>
</HTML>
27
<HEAD>
A tag <HEAD> e </HEAD> delimita o cabeçalho do documento. Geralmente há
poucas tags na parte <HEAD> da página. Você nunca deve incluir no cabeçalho
parte alguma do texto de sua página. Além do título da página (< TITLE> ... </
TITLE>), no cabeçalho são inseridas também tags utilizadas para indexação do
documento HTML e para relacionamento com documentos externos (javascript,
CSS etc.). Eis um exemplo típico de uso correto da tag <HEAD>:
<HTML>
<HEAD>
</HEAD>
</HTML>
Campo <TITLE>
O elemento <TITLE>, por exemplo, define um título, que é mostrado no alto
da janela do navegador. Todo documento web deve ter um título; este título é
referenciado em buscas pela rede, dando uma identidade ao documento. Para
ver na prática a importância do título, se você adicionar uma página com título
aos seus Favoritos (Bookmarks), o título da página se torna a âncora de atalho
para ela. Por isso é sugerido que os títulos dos documentos sejam sugestivos,
evitando-se títulos genéricos, como “Introdução”. O título também é bastante
significativo para a listagem de uma página nos resultados de pesquisas nos
catálogos da internet.
28
Campo <META>
Além do título, <HEAD> contém outras informações de importância para os
“robôs” de pesquisa, indicadas nos campos <META>.
Os atributos são partes extras das tags da HTML que contêm opções ou
outras informações sobre a tag em si.
<HEAD>
<TITLE>Título do Documento</TITLE>
</HEAD>
29
<HEAD>
<TITLE>Título da Janela</TITLE>
</HEAD>
<HEAD>
</HEAD>
30
onde:
Se não pensamos em uma finalidade útil para esse efeito, caímos na tentação
de usá-lo “à toa”. A aplicação mais utilizada é a atualização automática de
um documento que, por exemplo, tenha uma foto produzida por uma câmara
de vídeo. Você pode forçar, com o Refresh (atualizador), a atualização dessa
página, mostrando para o usuário sempre uma imagem mais atual de algum
evento focalizado pela câmara. Outra utilização é em “chats”, ou em páginas que
desviem a navegação por meio de documentos desenvolvidos para navegadores
avançados.
O uso de META tags não é obrigatório. Até poucos anos atrás, elas eram
consideradas essenciais para uma página ter bom posicionamento nos resultados
das pesquisas em catálogos da web.
Ainda no exemplo anterior, se você observar atentamente, além das tags TITLE
e META, a última tag utilizada no cabeçalho foi LINK. Essa tag tem a função de
fazer um relacionamento com algum documento externo.
31
<BODY>
É o corpo do documento. Tudo que estiver contido em <BODY> será mostrado
na janela principal do seu navegador. <BODY> pode conter cabeçalhos,
parágrafos, listas, tabelas, links para outros documentos, imagens, formulários,
animações, vídeos, sons e scripts embutidos.
<BODY> </BODY>: essas duas tags delimitam todo o conteúdo do site. É aí que
aparecerão os textos, as imagens, o fundo de tela, entre outras coisas.
32
conteúdo
</BODY>
O exemplo seguinte determina que a cor de fundo do site seja amarela, o texto
seja preto, os links ainda não visitados sejam azuis, os links já visitados sejam
roxos, e os links ativos sejam verdes:
conteúdo
</BODY>
33
Fonte: <http://pt.wikipedia.org/wiki/Hexadecimal>
34
<HTML>
<HEAD>
<TITLE>Primeiro exemplo</TITLE>
</HEAD>
<BODY>
<b>Uma lista</b>
<UL>
<LI>Item 1
<LI>Item 2
<LI>Item 3
</UL>
</BODY>
</HTML>
Após criar seu arquivo HTML, grave-o em alguma pasta com seus trabalhos.
Lembre-se de gravar esses arquivos, escolhendo a opção Salvar Como. Existem
duas regras que você deverá seguir ao escolher um nome para o arquivo:
•• o nome do arquivo deverá ter uma extensão .html (ou .htm). Por
exemplo, meuarquivo.html ou principal.htm. A maioria dos softwares
exigirá que os seus arquivos tenham essa extensão. Por isso, crie
desde já o hábito de utilizá-la;
•• use nome simples e curtos. Não inclua espaços ou caracteres
especiais (marcadores, letras acentuadas etc.). Use apenas letras e
números.
35
Aqui vai uma dica se você for utilizar o bloco de notas do Windows
para editar o exemplo: no momento de gravar o arquivo, coloque o
nome e extensão entre aspas duplas, por exemplo: “meuarquivo.html”.
Esse processo evitará que o arquivo seja gravado com a extensão txt
(meuarquivo.html.txt), confusão ocasionada conforme a configuração do
sistema operacional.
Uma outra forma de abrir o arquivo é dar dois cliques sobre ele. Abrirá o
navegador que estiver configurado como navegador padrão.
Se o que for apresentado na tela não se parecer com o que está ilustrado na
Figura 2.1, a seguir, então volte ao bloco de notas, abra o seu arquivo criado e
compare-o com exemplo apresentado acima. Verifique se todas as tags têm tags
de fechamento e se todas as tags estão descritas corretamente. Assim, basta
corrigir o arquivo e gravá-lo novamente com o mesmo nome. Para isso você não
precisa sair do navegador.
36
Mas não esqueça também de verificar a extensão de seu arquivo, caso o seu
navegador apresente o texto HTML real. A extensão é importante.
Atenção!
Há uma única exceção a essa regra: uma tag denominada <PRE>. Você aprenderá
sobre ela mais adiante.
Cabeçalho
Os cabeçalhos são usados para dividir seções do texto. A maneira mais fácil de
mudar o tamanho da fonte é utilizar as tags de cabeçalho. A HTML define 6 níveis
de cabeçalho. As tags de cabeçalho têm o seguinte formato:
37
38
Aninhamento de cabeçalhos
Aninhamento é colocar Os cabeçalhos não podem ser aninhados, isto é, a
documentos dentro de outro
formatação pode produzir algum resultado próximo ao
documento. Em HTML,
aninhar é colocar tags uma desejado, como no exemplo abaixo.
dentro das outras.
2</H2>
39
40
Seção 3
Separadores
Como você viu no primeiro exemplo, as quebras de linha do texto fonte não
são significativas na apresentação de documentos em HTML. Para organizar os
textos, você precisa, então, de separadores tal como os apresentados aqui.
Quebra de linha
Quando queremos mudar de linha, usamos o elemento <BR>. Isso só é
necessário quando queremos uma quebra de linha em determinado ponto, pois
os navegadores já quebram as linhas automaticamente para apresentar os textos.
Quando um navegador da web encontra uma tag <BR>, ele reinicia o texto na
margem esquerda da linha seguinte a essa tag. Você pode usar a tag <BR>
dentro de outros elementos, como por exemplo, parágrafos ou itens de uma lista.
Essa tag não possui espaço extra acima ou abaixo da nova linha, nem altera a
fonte ou o estilo atual. Ela apenas reinicia o texto na linha seguinte.
Parágrafos
Os parágrafos são digitados normalmente. A tag <P> serve para indicar o início
de um novo parágrafo. As tags <P> e </P> delimitam um parágrafo no texto. É
possível, neste caso, não fechar a tag <P>, ou seja, omitir o </P>, sem prejudicar,
o resultado final.
O atributo que deve ser utilizado com a tag <P> é o ALIGN, podendo ter os
seguintes valores que delimitam o alinhamento do parágrafo:
41
<P ALIGN=“left”>
Neste último caso, a tag <P> ganhou uma opção (ALIGN=“CENTER”). Por isso,
é preciso utilizar uma tag de fechamento (</P>) para indicar que apenas aquele
parágrafo receberá um alinhamento diferente.
Observe o exemplo 1, que aborda como inserir uma linha em branco entre
parágrafos:
Parágrafo 1;<P>Parágrafo 2.
42
quebras de linha:
43
Linha horizontal
A tag <HR> é utilizado para colocar linhas horizontais em uma página. Essa
linha tem diversos atributos, oferecendo resultados diversos. As linhas (ou fios)
são excelentes para separar visualmente seções da página da web antes dos
cabeçalhos ou para separar o texto de uma lista de itens. Você pode determinar a
altura, a largura e o alinhamento da linha.
Observe o exemplo 1:
Onde:
44
Considere o exemplo 2:
Com esses comandos, você insere uma linha de comprimento 30% (do espaço
horizontal disponível), alinhada à direita, sem efeito tridimensional. Verifique o
resultado no seu navegador.
45
Nesse caso, você insere uma linha de largura 70 (pixels), comprimento 2 (pixels),
alinhada à esquerda (o Netscape, aparentemente, não aceita esta formatação de
<HR>). No navegador, o resultado pode ser visualizado na figura a seguir:
Seção 4
Alinhamento de texto
Nesta seção, você aprenderá como alinhar um bloco de texto em sua página
da web. Você estudará diversas tags para esta finalidade (centralizar um texto,
formatar um bloco de texto). Ao fim, saberá qual a melhor alternativa para tornar
sua página da web melhor.
46
A tag <DIV> é utilizada para delimitar um bloco de tags HTML de qualquer tipo,
atingindo todas as tags e o texto contido entre as de abertura e fechamento.
•• Essa tag precisa ser usada apenas uma vez, ao contrário do atributo
ALIGN, que tem de ser incluído em diversas tags.
•• A tag <DIV> pode ser usada para alinhar qualquer elemento
(cabeçalho, parágrafos, citações etc.). O atributo ALIGN encontra-se
disponível apenas em um número limitado de tags.
Veja e seguinte exemplo:
<DIV ALIGN=“LEFT”>
<p>Testando à esquerda</p>
</DIV>
47
Centralização de texto
As tags <CENTER> e </CENTER> centralizam os elementos - textos, imagens,
tabelas - que estiverem dentro de sua marcação. A tag <CENTER> funciona de
maneira idêntica a <DIV ALIGN=“CENTER”>, centralizando todo o conteúdo
HTML contido entre as tags de abertura e de fechamento.
<CENTER>
<p>Testando.</p>
</CENTER>
48
Margem
Outro controle sobre o alinhamento dos elementos da página pode ser
conseguido por meio de mudança, de configuração, de margem. O texto sempre
começa a uma determinada distância da janela do navegador (um pouco
diferente em cada navegador). Às vezes, será necessário aumentar essa margem
e fazer com que o texto comece mais para dentro da página. O par de tags
<BLOCKQUOTE> e </BLOCKQUOTE> serve para aumentar a margem. O efeito
dessa tag pode ser acumulado para conseguir margens maiores.
Veja os exemplos:
ainda</BLOCKQUOTE></BLOCKQUOTE>
49
Atenção!
Texto pré-formatado
Existe ainda uma outra forma de modificar o alinhamento. É a utilização do par de
tags <PRE> e </PRE>. Usando essas tags, todos os espaços e entradas de
parágrafo (o resultado da tecla ENTER) são respeitados. Em um texto normal,
qualquer espaço a mais entre duas palavras é ignorado pelo navegador. Com a
pré-formatação, pode-se controlar o espaçamento com a barra de espaço e
colocar o texto em, praticamente, qualquer lugar da página.
Uma fonte monoespaçada é aquela Apesar da vantagem dessa forma de
na qual todos os caracteres ocupam o
alinhamento arbitrário, a tag <PRE>
mesmo espaço horizontal, ao contrário
da fonte proporcional, na qual o “i” muda o tipo de caractere para uma fonte
ocupa menos espaço do que o “a”, por monoespaçada.
exemplo.
Uma vez que <PRE> mantém o texto original, não se deve forçar espaços com
essa marcação dentro de outra marcação que já apresente tabulações e espaços
específicos.
<PRE>
50
51
52
Listas e Vínculos 1
Seção 1
Listas
Nesta seção, você estuda agora os três tipos de lista em HTML.
Todas as tags de lista possuem em comum estes elementos:
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. xxx-xxx.
53
As listas numeradas são delimitadas pelas tags <OL>...</OL> e cada item da lista
começa com a tag <LI>, onde:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<OL>
</OL>
</BODY>
</HTML>
54
As listas numeradas têm vários atributos que você pode utilizar para personalizar
sua apresentação no navegador. Esses atributos permitem controlar várias
características das listas, incluindo o esquema de numeração a ser usado e a
partir de que número se vai iniciar a contagem (se você não quiser iniciar em 1).
“1” - especifica que os algarismos arábicos padrões devem ser usados para
numerar a lista (isto é, 1, 2, 3, 4 etc.);
“a” - especifica que as letras minúsculas devem ser usadas para numerar a lista (isto
é, a, b, c, d etc.);
55
“A” - especifica que as letras maiúsculas devem ser usadas para numerar a lista
(isto é, A, B, C, D etc.);
“i” - especifica que os algarismos romanos minúsculos devem ser usados para
numerar a lista (isto é, i, ii, iii, iv etc.);
“I” - especifica que os algarismos romanos maiúsculos devem ser usados para
numerar a lista (isto é, I, II, III, IV etc.).
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<OL TYPE=”a”>
<LI>item de uma lista numerada, que pode ser tão grande quanto se
queira, sem que seja necessário preocupar-se com a formatação das margens de
texto
</OL>
</BODY>
</HTML>
56
Usando o atributo START, você pode especificar o número ou letra que inicia
sua lista. O ponto inicial padrão é 1, é claro. Usando START, você pode mudar
esse número. Por exemplo, <OL START=4> iniciaria a lista no número 4, enquanto
<OL TYPE=“a” START=3> iniciaria a numeração com ‘c’ e percorreria o alfabeto a
partir daí.
57
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<LI>item de uma lista numerada, que pode ser tão grande quanto se
queira, sem que seja necessário se preocupar com a formatação das margens de
texto
</OL>
</BODY>
</HTML>
58
Assim como no atributo TYPE, você pode mudar o valor do número de uma
entrada em qualquer ponto da lista. Isso é feito usando-se o atributo VALUE
na tag <LI>. A atribuição de um VALUE em uma tag <LI> reinicia a numeração na
lista a partir da entrada afetada, como no exemplo a seguir:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<OL>
<LI>item 1
<LI>item 2
<LI>item 3
<LI VALUE=55>item 55
<LI>item 56
</OL>
</BODY>
</HTML>
59
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<UL>
<LI>item 1
<LI>item 2
<LI>item 3
<LI>item 4
<LI>item 5
</UL>
</BODY>
</HTML>
60
•• d
isc - configura um disco ou marcador (este é o padrão), na maioria
das vezes representa um círculo preenchido;
•• square - configura um quadrado;
•• c
ircle - este marcador gera um círculo não preenchido em
navegadores compatíveis.
Confira o exemplo:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<UL TYPE=”disc”>
<LI>Fita
<LI>CD
<LI>DVD
</UL>
<UL TYPE=”square”>
<LI>Fita
<LI>CD
<LI>DVD
</UL>
61
<UL TYPE=”circle”>
<LI>Fita
<LI>CD
<LI>DVD
</UL>
</BODY>
</HTML>
Cada item de uma lista com marcadores não ordenados também pode ter seu
atributo específico, por meio do TYPE na tag <LI>:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<UL>
<LI TYPE=”disc”>um item
<LI TYPE=”circle”>mais um item
<LI TYPE=”square”>último item
</UL>
</BODY>
</HTML>
62
•• um termo;
•• a definição do termo.
Uma lista de glossário permite incluir uma descrição de cada item listado. O
descritor <DL> e os descritores <DT> e <DD> fazem essa função.
63
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<DL>
<DD>definição
<DD>definição
</DL>
</BODY>
</HTML>
64
Aninhamento de Listas
O que acontece quando você insere uma lista em outra? Já parou para
pensar? Já tentou criar?
As listas podem ser aninhadas, sim. Apenas inclua a estrutura inteira de uma lista
na outra lista, como se fosse um de seus elementos. Digite o exemplo seguinte
no bloco de notas e verifique seu resultado no navegador.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<DL>
<DD>definição
<OL>
<UL>
</UL>
</OL>
<DD>definição
</DL>
</BODY>
</HTML>
65
Boa parte dos editores HTML (WYSIWYG ou não) insere marcações que não
existem em HTML. Exemplos típicos são </DD>, </DT>, e </LI>. Porém, como
essas tags não são reconhecidas pelos navegadores, elas não causam efeito
colateral algum nos documentos.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<UL>
<LI>Documentos básicos
<LI>Documentos avançados
<UL>
<LI>formulários
<UL>
66
<LI>formulários
<UL>
<LI>CGI
</UL>
<LI>contadores
<LI>relógios
</UL>
</UL>
</BODY>
</HTML>
67
1. Documentos básicos
2. Documentos avançados
»» formulários
»» CGI
»» contadores
»» relógios
3. Detalhes sobre imagens
Porém, por meio do atributo TYPE (HTML 3.2), pode-se lidar com a numeração
dos itens:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<OL TYPE=”I”>
<LI>Documentos básicos
<LI>Documentos avançados
<OL TYPE=”a”>
<LI >formulários
<OL TYPE=”i”>
<LI>CGI
</OL>
<LI>contadores
<LI>relógios
</OL>
</OL>
</BODY>
</HTML>
68
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<DL>
<DT>Imperadores do Brasil:
<DD>D. Pedro I
<DL>
</DL>
<DD>D. Pedro II
<DL>
69
</DL>
</DL>
</BODY>
</HTML>
Se você não está vendo diferença alguma entre as listas comuns e as que têm
atributos TYPE, isso se deve ao fato de seu navegador não estar reconhecendo
esses atributos como válidos. Trata-se de um navegador de versão antiga.
Deve-se pensar nisto quando usamos atributos mais recentes, pois nem todo
usuário poderá ver o resultado das novas marcações.
Seção 2
Comentários
Você pode incluir comentários em páginas em HTML para descrever a própria
página ou para fornecer alguma indicação de seu status. O texto inserido é
ignorado quando o arquivo em HTML é analisado. Os comentários nunca
são apresentados na tela – por isso são comentários. Eles têm um formato
semelhante ao seguinte:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</BODY>
</HTML>
70
Em versões mais atuais da HTML, você pode comentar também várias linhas
assim:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
De duas ou mais
linhas -->
</BODY>
</HTML>
71
Seção 3
‘Tudo’ sobre vínculos
Até agora, produzimos apenas um documento bastante simples, que poderia ser
composto com recursos muito mais sofisticados, em qualquer processador de
texto. Mas nessa seção, falaremos de documentos de hipertexto, que podem
fazer ligações com outros textos.
Com HTML é possível você fazer ligações de uma região de texto (ou imagem)
a um outro documento. O navegador destaca regiões e imagens do texto,
indicando que são ligações de hipertexto - também chamadas hypertext links
ou hiperlinks ou simplesmente links, como já apresentado nesta Unidade de
Aprendizagem.
72
Atributos
A tag <A> tem vários atributos, utilizados conforme a ação associada ao link. Os
mais usados são:
Neste exemplo, as URLs não estão entre aspas. Caso elas apareçam entre aspas,
significa que o servidor vai considerar a diferença entre maiúsculas e minúsculas
(o que se chama de sensitivo à caixa) na hora de localizar o arquivo. Se, no
exemplo acima, o arquivo menu.html estivesse entre aspas e gravado no servidor
como MENU.html, o documento não seria localizado e o usuário receberia uma
mensagem de erro.
Referência de Hipertexto
Colocando uma URL no atributo HREF da tag <A>, pode-se ligar uma página com
qualquer outro documento disponível na internet, ou seja, é possível estabelecer
uma referência de hipertexto em função de Tags que criam links para outras
páginas da internet.
73
Pode-se fazer uma página com uma lista de páginas preferidas da rede com suas
devidas ligações de hipertexto.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</BODY>
</HTML>
Um visitante na sua página que clicar sobre o link UnisulVirtual será levado à
página principal do site.
74
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</BODY>
</HTML>
75
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</BODY>
</HTML>
O exemplo acima, ‘Saiba mais sobre o meu site’ está vinculado à região chamada
‘O meu site’. Ou seja, quando um usuário clicar sobre ‘Saiba mais sobre o
meu site’, será levado para a região, na mesma página, chamada ‘Meu site’. O
caractere ‘#’ indica que se trata de um link em uma mesma página.
76
Neste exemplo, quando o usuário clicar sobre o link <A HREF=#cap1>Capítulo 1</
A>, ele será remetido ao ponto onde está a referência <A NAME=cap1>Capítulo 1</
A>. A parte do texto que é referenciada (o alvo de um link) não fica realçada como
os hyperlinks. Além de ser invisível, não é obrigatório que exista um link apontando
para ele.
77
Aqui você verá exemplos de como estabelecer vínculos entre páginas que
estejam contidas na mesma página ou em diferentes pastas (ou diretórios) de
seu disco local (páginas locais). Os links podem estar indicados como caminhos
relativos ou absolutos.
Caminho Relativo
Quando você especifica, entre aspas, apenas o nome do caminho de um
arquivo vinculado, o navegador procura esse arquivo no diretório em que está
armazenado o arquivo atual. Isso ocorre mesmo se o arquivo atual e o arquivo
com que se está estabelecendo o vínculo estejam armazenados em um servidor
localizado em algum outro ponto da rede. Os dois arquivos estão contidos
no mesmo diretório nesse servidor. Essa é a forma mais simples de nomear o
caminho relativo.
O caminho relativo pode ser usado sempre que queremos fazer referência a
um documento armazenado no mesmo servidor do documento atual.
78
Não esqueça!
Os nomes de caminhos relativos indicam os arquivos com base em sua
localização relativa, ou seja, na posição em que se encontram em relação
ao arquivo atual.
79
Para usar links com caminhos relativos é preciso, portanto, conhecer a estrutura
do diretório do servidor no qual estamos trabalhando. Quando há alguma dúvida,
o melhor é usar o caminho absoluto.
Caminho Absoluto
Utilize o caminho absoluto quando desejar referenciar um documento que esteja
em outro servidor.
Com essa mesma sintaxe, é possível escrever links para qualquer servidor de
informações da internet.
Nesse caso, foi produzido um link para um parágrafo marcado com <A
NAME=”polo”> no arquivo histprogr.html sobre a cidade de São Carlos, no
diretório /ambiente/saocarlos/.
A cor dos links é definida no tag <BODY>, como já foi estudado nesta Unidade de
Aprendizagem.
80
Onde:
Chegando ao final deste capítulo, vimos como criar diferentes tipos de listas em
html. Elas servem para dispor itens em uma sequência organizada. Em outra
seção, aprendemos a comentar linhas e blocos de código em html, a fim de
registrar alterações e documentar o html.
Aprendemos também que vínculos podem existir de uma página para outra,
inclusive para páginas de outro site. Links podem ser utilizados inclusive dentro
de uma mesma página, podendo ser utilizado para ir para uma determinada área.
Tanto texto como imagem podem conter os links, tudo depende da criatividade e
necessidade.
81
82
Formatação de Texto
Seção 1
Estilos de Caracter
Neste capítulo, vamos aprender um pouco mais sobre o que a HTML oferece
no que diz respeito à formatação do texto e à elaboração do layout das páginas.
Veremos várias tags e atributos para a formatação. Não é necessário decorar as
tags, mas aprender os tipos e como se pode utilizar no HTML.
Quando você utiliza uma tag HTML em parágrafos, cabeçalhos ou listas, essas
tags afetam esse bloco de texto como um todo, alterando a fonte, o espaçamento
acima e abaixo da linha ou incluindo caracteres, como as listas com marcadores.
Os estilos de caracter são tags que afetam as palavras ou caracteres contidos em
outras entidades HTML e alteram o aspecto visual do texto, de forma a diferenciá-
lo do texto restante, como por exemplo, por meio do negrito, sublinhado.
83
Estilos Lógicos
As tags de estilo lógico indicam como o texto destacado deverá ser utilizado
e não como será apresentado (formatado). Elas se assemelham às tags de
elementos comuns, utilizadas para parágrafos ou cabeçalhos. Essas tags podem
indicar uma definição, um segmento de código ou uma palavra enfatizada.
84
Tag de
Definição Exemplo
Estilo Lógico
<CITE> Para títulos de livros, filmes, e <CITE>Assisti Guerra nas Estrelas
citações curtas. umas oito vezes!</CITE>
<CODE>#include “teste.h”#</CODE>
85
Estilos Físicos
A formatação física especifica o estilo que se quer para o texto. Ou seja, existe
um conjunto de tags que altera realmente o estilo de apresentação de um texto:
itálico, grifado, negrito, espaçamento etc. Sua apresentação final não sofre
grandes variações. Assim como as tags de estilos de caracter lógico, cada tag de
formatação física contém uma tag de abertura e uma tags de fechamento. As tags
de estilo físico são as descritas abaixo:
Tag de
Definição Exemplo
Estilo Físico
<B> Negrito (Quando disponível em <B>Texto em negrito</B>
alguns navegadores pode aparecer
sublinhado).
<I> Itálico. <I>Texto em itálico</I>
Utilize a Tag <U> com cuidado, pois ela se confunde com a apresentação
de links.
As tags de estilo podem ser usadas umas sobre as outras, acumulando seus
efeitos. Você pode aninhar tags de caracter, como nos exemplos abaixo:
86
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
87
Seção 2
Caracteres Especiais
Não é recomendável que os documentos web contenham acentos. Ainda
que todos os navegadores existentes entendam a presença de um caractere
acentuado, existem ocasiões em que o texto em HTML pode ficar truncado.
Os arquivos HTML são textos ASCII que não devem conter formatação ou
ASCII (American caracteres especiais. Na verdade, os únicos caracteres que
Standard Code
deverão incluir nos seus arquivos HTML são os que constam
for Information
Interchange) é um no seu teclado. Se você tiver de pressionar qualquer tecla
que não seja a tecla SHIFT ou uma combinação complexa
conjunto de códigos
para o computador de teclas para produzir um único caracter, então você não
representar números,
poderá utilizá-lo no seu arquivo em HTML. Isso se aplica
letras, pontuação e
outros caracteres.também a caracteres que talvez você esteja acostumado a
usar, como travessões, por exemplo.
O problema, nesse caso, é que a codificação interna feita pelo seu computador
para produzir esse caracter, que permite a apresentação de forma apropriada
no seu arquivo em HTML e no seu navegador), provavelmente não poderá
ser convertida em outros computadores. Se uma outra pessoa estiver lendo
o seu arquivo HTML na internet com esse caracter especial, é provável que
acabe vendo outro caracter na tela, o que costumamos chamar de “lixo”. Ou,
dependendo de como a sua página for apresentada na internet, o caracter poderá
se perder antes de chegar ao computador em que o arquivo está sendo exibido.
88
Por exemplo, quando alguém copia uma página web e a envia para outra pessoa
por meio de correio eletrônico. Para contornar esse problema, existe uma tabela
de códigos que substituem os acentos. Os navegadores transformam esses
códigos em caracteres acentuados e o documento poderá ser transmitido por
qualquer meio.
Café
ou
Café
Suponha agora que você queira incluir em um arquivo em HTML uma linha de
código semelhante a essa:
89
A HTML não é capaz de representar essa linha da forma como foi digitada.
Por quê? O problema está relacionado ao caractere < (menor que). Para um
navegador HTML, esse caractere significa “este é o início de uma tag”. Como
nesse contexto o caractere < (menor que) não representa o início de uma tag,
o navegador ficará confuso. Outro problema trata da acentuação da palavra
“então”, que deverá ser substituída pela sequência correspondente. Dessa forma,
para ser gravada de forma correta para a HTML, essa linha de código deveria ser
apresentada da seguinte forma:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
90
Quatro caracteres ASCII (<, >, & e “) têm significados especiais em HTML e são
usados dentro de documentos seguindo esta correspondência:
Entidade Caracter
< <
> >
& &
" “
á Á Á Á
â Â Â Â
à À À À
ã Ã Ã Ã
ç Ç Ç Ç
é É É É
ê Ê Ê Ê
í Í Í Í
ó Ó Ó Ó
ô Ô Ô Ô
õ Õ Õ Õ
ú Ú Ú Ú
ü Ü Ü Ü
91
<HTML>
<HEAD>
<TITLE>...</TITLE>
<META HTTP-EQUIV=”Content-Type”
CONTENT=”text/html; charset=ISO-8859-1”>
</HEAD>
</HTML>
92
Seção 3
Formatação do Texto
A tag <FONT> é usada para controlar as características de determinado conjunto
de caracteres, que, por sua vez, não é representado pelos estilos de caracter
Lógico e Físico, como vimos na seção 1 deste capítulo. Originalmente, essa tag
era usada apenas para controlar o tamanho da fonte dos caracteres delimitados
por ela. Mas esta tag tem sido expandida no sentido de permitir que você altere a
própria fonte e a cor desses caracteres.
Tamanho da Fonte
O uso mais comum da tag <FONT> consiste em alterar o tamanho da fonte
de um caracter, palavra, frase ou qualquer texto. As tags <FONT> e </FONT>
delimitam o texto e o atributo <SIZE> indica o tamanho a ser atribuído à fonte.
Os valores desse atributo variam de 1 a 7 e o valor 3 corresponde ao tamanho
padrão. O modelo é o seguinte:
<FONT SIZE=tamanho_da_letra>Texto</FONT>
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<FONT SIZE=7>Texto</FONT>
</BODY>
</HTML>
93
Você pode também indicar o tamanho na tag <FONT> como um valor relativo,
por meio da utilização dos caracteres + ou - no valor do atributo SIZE. Como
o padrão é 3, você pode alterar os tamanhos de fonte relativos de -3 a +4, da
seguinte maneira:
Letra normal<p>
A tag <FONT> pode ser atribuída a qualquer parte do texto, com exceção dos
títulos. É possível também alterar o tamanho do texto. Para isso, utiliza-se o
atributo SIZE. Mas não existe nenhuma relação entre os valores no atributo SIZE
e o número de pontos (pixels - a unidade utilizada para medir os caracteres).
Portanto, o melhor é experimentar todos os tamanhos e avaliar o resultado no
navegador. Observe os exemplos:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
94
</BODY>
</HTML>
A tag <FONT> também pode ser utilizada com um atributo diferente para cada
letra. A aplicação mais óbvia é a colocação de uma capitular, aquela letra em
tamanho maior no início de um parágrafo.
95
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Figura 4.6 – Exemplo de visualização de tamanho de fonte diferente entre os caracteres de um texto
96
Assim, o autor de uma página web pode definir com esse navegador qual será
o tipo de fonte de determinada parte do texto, mas o usuário precisa ter aquela
fonte instalada no computador. Sugere-se a escolha de tipos comuns, como
o Arial, que vem junto com o Windows, por exemplo. Os navegadores mais
conhecidos também já implementam essa funcionalidade.
Onde:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
97
Cores diferentes
As cores são introduzidas por meio do elemento <FONT>, com o atributo COLOR,
usando o sistema RGB (red, green, blue) para cores, como já comentado na
seção 2 do capítulo 2:
<FONT COLOR=”#rrggbb”>Texto</FONT>
Assim, um trecho de texto pode ter uma cor diferente da definição geral de
cores, feita por meio dos atributos de <BODY>. Para alterar a cor, podemos
utilizar o sistema RGB, como escrever o nome da cor indicada (porém,
navegadores antigos não aceitam este último). Essas duas formas de mudar a cor
do texto apresentam o mesmo resultado no navegador.
ou
98
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<FONT COLOR=”blue”>azul</FONT>,
</BODY>
</HTML>
99
Também podemos realizar uma alteração simultânea de tipo de fonte e cor, como
no exemplo:
100
Seção 4
Endereços
A tag <ADDRESS> é utilizada para entidades de assinaturas em páginas da
web. Ela é usada para formatar endereços, e-mail e referências a autores de
documentos. As tags de endereço em geral são apresentadas na parte inferior
de cada página da web e utilizadas para indicar quem criou tal página. Veja o
exemplo:
<HTML>
<HEAD>
<TITLE>Décimo exemplo</TITLE>
</HEAD>
<BODY>
<address>monitorvirtual@unisul.br</address>
</BODY>
</HTML>
101
Vimos neste capítulo como utilizar a maioria das tags e atributos de formatação
de estilos de caracteres. Existem muitas combinações possíveis entre as tags
e os seus atributos, a sua criatividade e necessidade serão os guias na sua
utilização.
102
Seção 1
A Tag <Img> e seus atributos
O HTML torna muito fácil para você a tarefa de mostrar imagens dentro de
um documento. Porém, as imagens devem estar em formato específico.
Normalmente, as imagens mais utilizadas em páginas web têm as terminações:
.jpg, .gif ou .png. Cada extensão de imagem possui suas vantagens e
desvantagens.
O formato jpg (ou jpeg) pode trabalhar com esquema de cores de 24 bits,
aceitando assim 16,8 milhões de cores. A qualidade da imagem é boa, mas
também não permite transparência. O tamanho é bem reduzido, se comparado
com o .bmp, mas ainda é grande para páginas que utilizam muitas imagens.
Os gifs trabalham com apenas 256 cores, de forma que o tamanho é o menor
de todos os formatos, permitindo também transparência e animações. É um dos
formatos mais utilizados na web, justamente pela rapidez em carregar as imagens.
Porém, o fato de utilizar apenas 256 cores deixa a qualidade da imagem bem
limitada.
103
Graças aos formatos .jpg, .gif e .png, é possível utilizar imagens em diferentes
aplicações, até mesmo na definição de layout das páginas. A escolha do tipo
de imagem não pode ser arbitrária, deve ser levado em consideração todas
as vantagens e desvantagens, principalmente no que se refere à qualidade e
tamanho.
Um boa prática é utilizar .png ou .jpg para imagens fotográficas e .gif para
imagens criadas em computador ou desenhadas (ícones, botões etc.).
A escolha da imagem que será mostrada na página faz-se por meio do atributo
SRC, que é uma abreviação de “source” ou origem. Esse atributo indica o nome
e o local em que pode ser encontrada a pasta que contém a imagem que você
deseja incluir e deve ser digitado entre aspas. Esse é o atributo mais importante
da tag <IMG>.
A forma genérica mais simples de expressar a tag IMG e o seu atributo SRC é a
seguinte:
<IMG SRC=”url_imagem”>
104
Nesse caso, a url_imagem aponta para o local onde se encontra a pasta que
contém a imagem. Pode, também, ser referenciada uma imagem que esteja
em um outro servidor (o que, logicamente, não é conveniente). Por exemplo, se
quisermos mostrar o ícone que aparece na página da Unisul Virtual, devemos usar
o URL:
,https://minha.unisul.br/pa89prd/uni_imagens/topoEsquerda.gif>
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<IMG SRC=”https://minha.unisul.br/pa89prd/uni_imagens/topoEsquerda.gif”>
</BODY>
</HTML>
Figura 5.1 – Exemplo do uso de imagem por meio de uma página na internet
105
O exemplo seguinte ilustra um outro uso desta tag, onde o arquivo de imagem
“html.jpg” encontra-se na pasta imagens:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<IMG SRG=”.imagens/html.jpg”>
</BODY>
</HTML>
Para visualizar o código acima no seu navegador, você precisa ter a figura
chamada html.jpg na pasta imagens, que está dentro da pasta onde está gravado
o código HTML acima. Na figura abaixo vemos o resultado no navegador.
106
<IMG SRC=“imagem.gif”>
Para um arquivo de imagem que esteja localizado uma pasta acima da pasta atual,
utilize esta tag:
<IMG SRC=”../imagem.gif”>
E assim por diante! Use sempre as mesmas regras que utilizaria para nomes
de página na parte HREF da tag <A>, como já foi estudado nesta Unidade de
Aprendizagem.
Quando o caminho não está correto ou o nome da figura está errado, o que
aparecerá no visualizador será algo assim:
Atenção!
Se sua imagem não for carregada e o seu navegador apresentar um ícone
com um x no lugar dela, verifique, antes, se você especificou corretamente
o nome e o caminho para o arquivo no código HTML. Se não for isso,
examine o arquivo de imagem para verificar se ela está realmente no
formato GIF ou JPEG e se tem a extensão de arquivo apropriada.
107
ALT
De nada adianta você caprichar na produção de uma imagem, se a pessoa
que vê as páginas utiliza um navegador incapaz de mostrar as imagens. Estes
navegadores existem e são bastante utilizados, principalmente o Lynx.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<IMG SRC=”https://minha.unisul.br/pa89prd/uni_imagens/topoEsquerda.gif”
ALT=”Ícone Unisul Virtual”>
</BODY>
</HTML>
108
O atributo ALT deve ter uma descrição daquilo que a imagem contém para que
seja possível compreender o seu conteúdo, mesmo sem vê-la. A utilização
do atributo ALT é recomendada porque melhora a acessibilidade das páginas.
Esse atributo pode ser lido em voz alta pelo software de leitura utilizado pelas
pessoas que têm deficiências visuais. Nesses casos, sem o atributo ALT o
conteúdo das imagens seria sempre um mistério.
Dessa forma,
New!
[Novo!]
109
TITLE
O atributo TITLE é um atributo que exibe uma caixa de mensagem com uma
descrição para uma imagem. Diferente do atributo ALT que aparece somente em
determinadas situações, o TITLE, basta passar o mouse sobre a imagem que a
descrição é exibida.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<IMG SRC=”https://minha.unisul.br/pa89prd/uni_imagens/topoEsquerda.gif”
TITLE=”Ícone Unisul Virtual”>
</BODY>
</HTML>
110
WIDTH e HEIGHT
WIDTH e HEIGHT são atributos de dimensão da imagem em pixels. Grande parte
dos editores HTML coloca automaticamente os valores desses atributos, quando
indicam a inserção de uma imagem. Veja a sintaxe abaixo:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
111
Uma das vantagens de se usar esses atributos é que o navegador pode montar
mais rapidamente as páginas, por saber, de antemão, o espaço que deverá ser
reservado a elas. Por isso, se as dimensões da imagem forem colocadas na
referência, o usuário terá a impressão de que a página foi carregada mais rápido.
Fornecendo as dimensões, o navegador reserva o espaço para a imagem e segue
carregando o texto para que o usuário possa começar a ler. Depois de carregado
o texto, as imagens começam a ser mostradas.
BORDER
Com o atributo BORDER é possível colocar uma borda em volta da imagem. O
valor da borda é expresso em pixels.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
112
ALIGN
A tag <IMG> contém também um atributo ALIGN, que permite alinhar a imagem
com a parte superior ou inferior do texto existente, ao redor ou com outras
imagens contidas na mesma linha. Sua sintaxe é:
ALIGN= Definição
Top alinha a parte superior da imagem com os elementos
que estão ao redor.
Middle alinha o centro da imagem com os elementos que
estão ao redor.
Bottom alinha a parte inferior da imagem com os elementos
que estão ao redor.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
113
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
114
No próximo código, a imagem está alinhada na parte inferior dos elementos que
estão ao seu redor.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</HTML>
115
Com a HTML 2.0 isso não é possível. Você está, então, restrito a uma única linha
de texto em cada lado da imagem, o que limita os tipos de projetos que você
pode realizar.
Para contornar essa limitação, novos valores para o atributo ALIGN da tag <IMG>
foram incorporados na HTML 3.2, abaixo a tabela com estes atributos e sua
definição.
ALIGN= Definição
116
Mas o uso desses atributos faz também com que todo o texto localizado após
a imagem seja apresentado no espaço à direita ou à esquerda dessa imagem,
dependendo do alinhamento da margem. Veja os exemplos a seguir:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Confira o resultado:
117
No próximo código, a imagem está alinhada à esquerda dos elementos que estão
ao seu redor.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
118
Para ter duas imagens, uma em cada margem, numa mesma linha, escreva:
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
Você pode incluir qualquer texto HTML após uma imagem alinhada e será
promovido o retorno automático do texto no espaço existente entre a imagem e
a margem ou entre 2 imagens, como no exemplo anterior. O navegador preenche
o espaço com texto até a parte inferior da imagem e, em seguida, continua a
preencher com texto o espaço existente abaixo dela.
119
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
Visualização:
Note que o texto está contornando as imagens, mas somente até determinado
ponto:<BR CLEAR=all>. A partir desse ponto, o texto é jogado para a próxima margem
livre, em qualquer um dos lados da janela.
120
HSPACE e VSPACE
Com a capacidade de promover o retorno automático do texto ao redor de uma
imagem, é possível que você queira também ajustar o espaço existente ao redor
dessa imagem. Você pode controlar o espaço em volta da imagem colocando o
valor em pixels da margem desejada. É possível definir as margens separadamente
ou em conjunto. Os atributos HSPACE e VSPACE, introduzidos na HTML 3.2,
permitem isso.
Esses atributos surgiram para melhorar ainda mais a apresentação das imagens
junto com os textos. Também são conhecidos como atributos de moldura.
O efeito desses atributos pode ser percebido nos textos abaixo. No primeiro, as
imagens não têm atributos de moldura, é fácil notar como o texto fica “grudado”
na imagem:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
121
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
122
Neste segundo texto, a primeira imagem surgirá no texto com espaçamento vertical
em relação ao texto e a segunda imagem com espaçamento horizontal em relação ao
texto. Veja o resultado mostrado na Figura a seguir:
Vamos testar?
Que tal, agora, você utilizar os alinhamentos em conjunto como no exemplo
abaixo? Faça um teste no seu navegador. Crie uma imagem chamada imagem.jpg
e guarde na mesma pasta do seu arquivo que contém o código HTML abaixo:
123
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
Cada um desses atributos (HSPACE e VSPACE) adiciona espaço nas duas faces
da imagem (em cima e em baixo e à direita e à esquerda). Portanto, não há como
definir uma margem maior apenas à esquerda ou somente na parte inferior.
124
Seção 2
Referência de hipertexto com imagem
É evidente que sim! Se você incluir a tag <IMG> entre as partes de abertura
e de fechamento de uma tag de vínculo (<A>), essa imagem funcionará como
um ponto ativo (que pode ser selecionado com um clique) referente ao próprio
vínculo. A sintaxe é basicamente a seguinte:
<A href=”URL”>
</A>
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
Texto
<A HREF=”pagina2.html”>
</A>
</BODY>
</HTML>
125
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<A HREF=”pagina2.html”>
</A>
</BODY>
</HTML>
126
Porém, por questões de apresentação, nem sempre interessa termos essa borda
ao redor da imagem. Assim, com o atributo BORDER, você pode controlar esse
detalhe.
<HTML>
<HEAD>
<TITLE>Vigésimo exemplo</TITLE>
</HEAD>
<BODY>
<A HREF=”pagina2.html”>
</A>
</BODY>
</HTML>
127
Portanto, a borda pode ser apresentada tanto em imagens que não são âncora de
links como em links.
<HTML>
<HEAD>
</HEAD>
<BODY>
<A HREF=”htt://www.google.com”>
</A>
</BODY>
</HTML>
128
As imagens que são pontos ativos referentes a vínculos aparecem com uma
borda ao redor, como na Figura 5.18.
129
Seção 3
Painéis de fundo com imagens
Você já deve ter visto páginas na internet com imagens de fundo. Essa seção
consiste no desenvolvimento da capacidade de usar uma imagem como painel
de fundo para as suas páginas HTML, em vez de utilizar simplesmente um fundo
de determinada cor. Quando você usa uma imagem em um painel de fundo, ela é
apresentada “lado a lado”, ou seja, é repetida em fileiras para preencher a janela
do navegador.
Para criar um painel de fundo, você precisará de uma imagem que será repetida
para compor esse painel. De modo geral, ao criar uma imagem para essa
finalidade, você precisará verificar se o padrão escolhido flui harmoniosamente
quando disposto lado a lado.
Quando você tiver essa imagem, tudo o que você precisará para criar um painel
de fundo é do atributo BACKGROUND, que faz parte da tag <BODY>. O valor
desse atributo é um nome de arquivo ou URL que corresponda ao seu arquivo de
imagem, como no seguinte exemplo:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY BACKGROUND=”imagens/fundo.jpg”>
</BODY>
</HTML>
130
Caso o desenvolvedor necessite colocar uma imagem de fundo sem que ela seja
repetida, utilizará técnicas de folhas de estilo (CSS) que permitem a configuração
visual de toda a página. O CSS será abordado, nos próximos capítulos desta
Unidade de Aprendizagem.
131
Seção 4
Sugestões para um melhor uso das imagens
O uso de imagens é hoje um dos assuntos mais discutidos entre usuários e
provedores de páginas da web. Todo aquele que deseja projetar páginas da web,
incluindo imagens maiores e mais claras para tirar maior proveito dos recursos
gráficos da web, deve estar ciente de que sempre existirá alguém com uma
conexão lenta de rede, que estará implorando por menos imagens para que seu
navegador não leve horas para carregar uma única página.
132
Seção 5
Música
Você pode incluir em sua página um som de fundo. Com isso, sempre que
alguém acessá-la, esse som será tocado. Dessa forma, você pode fazer seu site
ter mais recursos e personalidade.
Existem três maneiras de colocar músicas em seu site. A primeira é com a tag
<BGSOUND> que só é reconhecida pelo Internet Explorer. Para utilizar essa tag,
siga o exemplo:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY >
<BGSOUND src=”musica.mp3”>
Musica de fundo
</BODY>
</HTML>
133
Onde:
A segunda maneira de adicionar música ao seu site é com a tag <EMBED> que,
por ser reconhecida pelo Internet Explorer e Netscape, é a mais recomendada.
Para utilizá-la, siga o exemplo:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY >
<EMBED src=”musica.mp3”>
</BODY>
</HTML>
Essa tag também pode ser usada com alguns atributos. Veja o exemplo:
<caixa de destaque>
Onde:
Em “autostart”, você define se quer que a música comece a tocar sozinha (atributo
TRUE). Caso contrário, você deve colocar “FALSE”, opção na qual o usuário terá que
clicar no botão de “play” para ouvir a música.
Se você quiser que a música fique se repetindo infinitamente, basta colocar “infinity”
no lugar de um número. Não é necessário colocar, “</embed>” nesse caso.
134
Atenção!
O Netscape e o Internet Explorer têm algumas diferenças em seu sistema e,
por isso, em algumas versões do Netscape o som pode não tocar.
É recomendado usar arquivos mid por serem bem menores que os wavs.
Por fim, no html 5 temos a tag AUDIO. Essa tag pode ser usada da seguinte
<HTML>
forma:
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</ AUDIO>
</BODY>
</HTML>
Onde:
Pode utilizar o atributo “controls” que mostra os controles padrão para o áudio.
Entre as tags AUDIO uma mensagem caso o navegador do usuário não suporte a
tag.
Neste capítulo, vimos um dos principais recursos que fazem a WWW se destacar
em relação aos outros documentos de informação da internet, a capacidade dos
documentos da web em conter imagens e cores. Foi graças às imagens que a
web se tornou tão conhecida e utilizada tão rapidamente.
135
sobre as imagens, as quais podem conter links e que a tag IMG possui atributos
os quais dão suporte à acessibilidade.
Além das imagens, aprendemos a incluir painéis de fundo compostos por padrões
ou imagens lado a lado, por meio do atributo BACKGROUND, da tag <BODY>.
Por fim, vimos como são os arquivos de música em páginas HTML
136
Tabelas 1
Seção 1
Elementos básicos de tabelas
As tabelas são construções em HTML que permitem a você organizar texto,
imagens e outro tipo de conteúdo HTML em linhas e colunas, com ou sem
bordas. Elas podem ser usadas não apenas para apresentar dados em um
formato tabular, mas, também, para a definição do layout da página e para o
controle do posicionamento dos vários elementos HTML em uma página. As
tabelas tornaram-se tão conhecidas que a maioria dos principais navegadores
hoje oferece suporte para esse recurso.
Para criar tabelas em HTML, você deve definir as partes de sua tabela e os
elementos HTML a serem inseridos. Em seguida, delimite essas partes com o
código HTML de tabela. Por último, aprimore o aspecto visual da tabela por meio
de alinhamentos, bordas e células coloridas.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. 137 - 176.
137
Antes de entrarmos no código HTML propriamente dito para criar uma tabela,
permita-nos definir alguns termos para que você entenda o que será descrito.
A tag <TABLE>
Para criar uma tabela em HTML, utilize as tags <TABLE>...</TABLE> que contêm
o código referente a uma legenda e o conteúdo da própria tabela.
<TABLE BORDER=”borda”>
...
</TABLE>
Definir BORDER=0 significa que a borda não tem largura e, portanto, não é
apresentada. BORDER=1 cria uma borda de um pixel de largura; BODER=2 cria
uma borda de 2 pixels de largura, e assim por diante.
138
Linhas e células
Entre as tags <TABLE>...</TABLE>, você define o conteúdo da tabela. As tabelas
são especificadas linha por linha em HTML e a definição de cada linha contém
definições referentes a todas as células dessa linha. Por isso, para definir uma
tabela, você começa definindo a primeira linha e cada uma de suas células e, em
seguida, define a segunda, e suas respectivas células, e assim por diante. As
colunas são calculadas automaticamente, com base na quantidade de células de
cada linha.
Cada linha da tabela é indicada pela tag <TR> e termina com a tag de
fechamento </TR>. Cada linha da tabela, por sua vez, tem várias células, que são
indicadas pelas tags <TH>...</TH> (para células de cabeçalho) e <TD>...</TD>
(para células de dados).
Você pode ter quantas linhas quiser e quantas células forem necessárias em
cada linha para compor as suas colunas. Mas deve verificar se cada linha tem o
mesmo número de células para que as colunas fiquem alinhadas.
Legendas
As legendas de tabela informam ao leitor o assunto da tabela. Embora você possa
simplesmente usar um parágrafo normal ou um cabeçalho como um rótulo para a
sua tabela, a tag <CAPTION> tem justamente essa finalidade de legenda.
139
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”4”>
<CAPTION>Primeiro exemplo</CAPTION>
</TABLE>
</BODY>
</HTML>
140
A tag <TH> indica uma célula que também um cabeçalho da tabela e a tag <TD>
indica uma célula comum da tabela, lembrando que TD significa Table Data =
dados da tabela. Os cabeçalhos geralmente são apresentados de forma diferente
das células da tabela, como, por exemplo, em uma fonte em negrito.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”4”>
<CAPTION>Segundo exemplo</CAPTION>
<TR>
<TH>Linha 1</TH>
</TR>
<TR>
<TH>Linha 2</TH>
</TR>
</TABLE>
</BODY>
</HTML>
141
Células vazias
Isso é simples. Basta definir uma célula com a tag <TH> ou <TD>, sem
especificar texto algum, como neste exemplo:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
142
<TABLE BORDER=”3”>
<TR>
<TD></TD>
<TD>20</TD>
<TD>30</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Às vezes, uma célula vazia desse tipo é apresentada como se a célula não
existisse, conforme você pode observar na figura seguinte:
Se você quiser forçar a apresentação de uma célula vazia, pode incluir uma
quebra de linha, sem inserir texto algum.
143
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”3”>
<TR>
<TD><BR></TD>
<TD>20</TD>
<TD>30</TD>
</TR>
</TABLE>
</BODY>
</HTML>
144
Seção 2
Alinhamento da tabela e das células
Nesta seção, você vai ver como as tags auxiliam no alinhamento da tabela e das
células.
Alinhamento da tabela
Os elementos dentro da tabela podem ser alinhados da mesma forma que um
parágrafo comum. Por padrão, as tabelas são apresentadas em uma linha no lado
esquerdo da página, com o restante do texto acima ou abaixo.
As linhas e células podem ter alinhamentos definidos por meio dos atributos:
Alinhamento da célula
Quando as suas linhas e células estiverem na posição adequada e a tabela estiver
alinhada corretamente na página, você poderá, ainda, alinhar os dados contidos
em cada célula para obter o melhor efeito possível com base no conteúdo da
sua tabela. As tabelas oferecem várias opções para o alinhamento dos dados
contidos nas células, tanto na horizontal como na vertical.
Alinhamento horizontal:
145
Alinhamento vertical:
146
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”3”>
<TR>
<TH>Alinhamento Horizontal</TH>
<TD ALIGN=”LEFT”>ALIGN=”LEFT”</TD>
<TD ALIGN=”CENTER”>ALIGN=”CENTER”</TD>
<TD ALIGN=”RIGHT”>ALIGN=”RIGHT”</TD>
</TR>
<TR>
<TH>Alinhamento Vertical</TH>
<TD VALIGN=”MIDDLE”>VALIGN=”MIDDLE”</TD>
<TD VALIGN=”BOTTOM”>VALIGN=”BOTTOM”</TD>
</TR>
</TABLE>
</BODY>
</HTML>
147
Vamos utilizar um texto mais longo na segunda célula da segunda coluna para
demonstrar o alinhamento padrão.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR>
<TH>Título 1</TH>
<TH>Título 2</TH>
</TR>
<TR>
<TD>Célula 1</TD>
<TD><B>Célula 2</B><P>
148
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
A visualização é esta:
Observe que a largura da coluna da direita foi ampliada para que o texto da célula
2 aproveitasse o espaço até o final da margem do navegador. Se a largura da
janela do navegador for reduzida, a largura da segunda coluna também será.
149
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”3”>
<TR>
<TH>Título 1</TH>
<TH>Título 2</TH>
</TR>
<TR>
</TR>
</TABLE>
</BODY>
</HTML>
150
Alinhamento combinado
Repare que uma mesma célula pode ter atributos ALIGN e VALIGN combinados:
Alinhamento de linhas
Acima, você viu o alinhamento na tag TD. O alinhamento pode ser aplicado a
linhas inteiras na tag da linha TR, com a seguinte sintaxe:
151
Para criar uma célula que ocupe várias linhas ou colunas, você deve incluir o
atributo COLSPAN (para colunas) e ROWSPAN (para linhas) nas tags <TH> ou
<TD> junto com o número de linhas ou colunas que deseja que a célula ocupe.
O exemplo a seguir mostra uma tabela com duas linhas e duas colunas. O
número de colunas é definido pelo número de células presentes nas linhas. É
possível expandir as células para que elas ocupem o espaço de mais de uma
coluna.
152
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”2”>
<TR>
</TR>
<TR>
</TR>
<TR>
</TR>
</TABLE>
</BODY>
</HTML>
153
Agora, vamos expandir as células para que elas ocupem o espaço de mais de
uma linha.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”3”>
<TR>
</TR>
<TR>
</TR>
</TABLE>
</BODY>
</HTML>
154
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR><TD>duas linhas</TD></TR>
<TR><TD>três linhas</TD></TR>
</TABLE>
</BODY>
</HTML>
155
Indentação significa organizar o código HTML para o mesmo tornar-se legível, sabendo, por
exemplo, onde inicia e termina uma tag ou, ainda, sabendo quais tags ou textos estão dentro
de outras tags. Organizamos o código utilizando espaço ou a tecla TAB.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR>
156
</TR>
<TR>
</TR>
<TR>
</TR>
<TR>
<TD>uma linha</TD>
</TR>
<TR>
<TD>duas linhas</TD>
</TR>
<TR>
<TD>três linhas</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Observe que os dois códigos representam a mesma coisa, ou seja, trazem como
resultado a mesma tela do navegador mostrado anteriormente.
157
Seção 3
Dimensões da tabela
Além de controlar a largura da borda (com o atributo BORDER), é possível definir
as dimensões (em pixels) de toda a tabela, espaço entre as células e as margens
dentro das mesmas. Todos esses controles são feitos por meio de atributos
dentro da tag <TABLE>.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
</TR>
<TR>
</TR>
</TABLE>
</BODY>
</HTML>
158
A visualização é a seguinte:
Atributos de largura
Já foi comentado que uma tabela comum ajusta o tamanho de suas células ao
conteúdo. Por exemplo:
159
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>uva</TD>
<TD>abacaxi</TD>
<TD>goiaba</TD>
</TR>
<TR>
<TD>laranja</TD>
<TD>maça</TD>
<TD>morango</TD>
</TR>
</TABLE>
</BODY>
</HTML>
160
A seguir, um exemplo de tabela que ocupa 50% do espaço disponível, com uma
coluna que preenche 60% do espaço disponível.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>janeiro</TD><TD WIDTH=”60%”>fevereiro</
TD><TD>março</TD>
</TR>
<TR>
<TD>abril</TD><TD WIDTH=”60%”>maio</TD><TD>junho</
TD>
</TR>
</TABLE>
</BODY>
</HTML>
161
Figura 6.14 – Exemplo de tabela usando 50% da janela e alterando largura da 2ª coluna
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>janeiro</TD><TD WIDTH=”1%”>fevereiro</
TD><TD>março</TD>
</TR>
<TR>
<TD>abril</TD><TD WIDTH=”1%”>maio</TD><TD>junho</TD>
</TR>
</TABLE>
</BODY>
</HTML>
162
Atributos de espaçamento
Como você verificou nesta Unidade de Aprendizagem, existem dois atributos que
permitem o controle de espaçamento em tabelas:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>uva</TD>
<TD>abacaxi</TD>
<TD>goiaba</TD>
163
</TR>
<TR>
<TD>laranja</TD>
<TD>maça</TD>
<TD>morango</TD>
</TR>
</TABLE>
</BODY>
</HTML>
<HTML>
<HEAD>
</HEAD>
<BODY>
164
<TR>
<TD>uva</TD>
<TD>abacaxi</TD>
<TD>goiaba</TD>
</TR>
<TR>
<TD>laranja</TD>
<TD>maça</TD>
<TD>morango</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Figura 6.17 – Exemplo de preenchimento das bordas da tabela (afastamento entre as células)
165
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>uva</TD>
<TD>abacaxi</TD>
<TD>goiaba</TD>
</TR>
<TR>
<TD>laranja</TD>
<TD>maça</TD>
<TD>morango</TD>
</TR>
</TABLE>
</BODY>
</HTML>
166
Você, agora, já viu grande parte dos recursos disponíveis para manipular tabelas,
os quais permitem produzir bons efeitos de apresentação. Vamos, então, estudar
as cores em tabelas.
Seção 4
Cor em tabelas
Você vai estudar, nesta seção, como inserir cor de fundo e de borda em tabelas,
além de como combinar tais cores.
Cor de fundo
Para alterar a cor de fundo de uma tabela, de uma linha ou de uma célula contida
em uma linha, use o atributo BGCOLOR das tags <TABLE>, <TR>, <TD> ou <TH>.
167
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD>uva</TD>
<TD>abacaxi</TD>
<TD>goiaba</TD>
</TR>
<TR>
<TD>laranja</TD>
<TD>maça</TD>
<TD>morango</TD>
</TR>
</TABLE>
</BODY>
</HTML>
168
Cada cor de fundo anula a cor de fundo do elemento em que está contida. O
fundo de uma tabela, por exemplo, anula o fundo da página; o fundo de uma linha
anula o fundo da tabela e as cores das células anulam todas as outras cores.
<HTML>
<HEAD>
<TITLE>Vigésimo exemplo</TITLE>
</HEAD>
<BODY>
<TR>
<TD BGCOLOR=”#E1FFD9”>janeiro</TD>
<TD>fevereiro</TD>
<TD BGCOLOR=”#E1FFD9”>março</TD>
</TR>
<TR>
<TD>abril</TD>
<TD BGCOLOR=”#E1FFD9”>maio</TD>
<TD>junho</TD>
</TR>
</TABLE>
</BODY>
</HTML>
169
A visualização é a seguinte.
Cor de borda
Alguns navegadores permitem que você altere as cores dos elementos da borda
da tabela, por meio da utilização dos seguintes atributos:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR>
<TD BGCOLOR=”#E1FFD9”>janeiro</TD>
<TD>fevereiro</TD>
170
<TD BGCOLOR=”#E1FFD9”>março</TD>
</TR>
<TR>
<TD>abril</TD>
<TD BGCOLOR=”#E1FFD9”>maio</TD>
<TD>junho</TD>
</TR>
</TABLE>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
171
BORDERCOLOR=”#00FF00”>
<TR>
<TD bgcolor=”#E1FFD9”>janeiro</TD>
<TD>fevereiro</TD>
<TD bgcolor=”#E1FFD9”>março</TD>
</TR>
<TR>
<TD>abril</TD>
<TD bgcolor=”#E1FFD9”>maio</TD>
<TD>junho</TD>
</TR>
</TABLE>
</BODY>
</HTML>
A visualização é esta:
172
Combinando cores
O Internet Explorer, navegador da Microsoft, permite atribuir cores diferentes
para o fundo de cada célula. Basta acrescentar o atributo BGCOLOR com a cor
desejada às tags de célula. Em algumas combinações de cores será necessário
também modificar a cor das letras. Isso é feito com o atributo COLOR, dentro da
tag <FONT>. Veja o exemplo.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR>
</TR>
<TR>
<TD BGCOLOR=”WHITE”>Arroz</TD>
</TR>
</TABLE>
</BODY>
</HTML>
173
Seção 5
Tabelas aninhadas
Nesta seção, será estudado como aninhar tabelas dentro de tabelas, ou seja,
inserir uma tabela dentro de outra.
Aninhar tabelas é muito útil, pois da mesma forma que podemos incluir listas
dentro de outras listas, tabelas também podem ser incluídas dentro de outras
tabelas. Para incluir uma tabela, basta considerar que cada célula é um espaço
que pode receber qualquer outro código HTML, inclusive uma tabela. Portanto, é
possível inserir outra tabela em uma célula e assim por diante. Dependendo da
quantidade de tabelas aninhadas, a complexidade aumenta, por isso é importante
manter um código bem indentado. Veja este exemplo.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TR ALIGN=”CENTER”>
<TD>
<TR>
174
<TD>11</TD><TD>12</TD>
</TR>
<TR>
<TD>13</TD><TD>14</TD>
</TR>
</TABLE>
</TD>
<TD>20</TD>
</TR>
<TR ALIGN=”CENTER”>
<TD>30</TD>
<TD>
<TR>
<TD>41</TD> <TD>42</TD>
</TR>
<TR>
<TD>43</TD> <TD>44</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
175
Perceba que, neste código, temos 3 tags TABLE. Na célula da coluna 1 da linha
1, temos uma tabela, e na célula da coluna 2 da linha 2, temos outra. Todos os
atributos de formatação continuam valendo. Sendo que as tabelas aninhadas
herdam as características da tabela em que ela estiver.
No final deste capítulo, vimos diversos atributos para formatar uma tabela. Além
deles, é possível formatar uma tabela de maneira mais eficiente, com folhas, no
estilo cascata, conhecida em inglês como Cascading Style Sheets (CSS). Vimos,
também, como adicionar alguns atributos para tornar as tabelas acessíveis. Para
isso alguns atributos devem ser adicionados as tabelas como: o summary,
para uma pequena explicação sobre como deve ser feito a leitura da tabela; o
elemento caption para o título da tabela; para os dados da tabela começamos
com o thead que define o cabeçalho da tabela; no espaço dos dados, as
informações da tabela propriamente dito utilizando o tbody; e por fim o tfoot, que
especifica as informações de rodapé da tabela.
176
Frames 1
Seção 1
Frames
A especificação de frames está definida em HTML 4.01, mas não é suportada
no HTML5. Atualmente todos os navegadores ainda oferecem suporte a eles. O
primeiro navegador a dar suporte a ele foi o Netscape (a partir da versão 2.0).
Os documentos que possuem frames são bonitos e atrativos por serem diferentes
do padrão simples de páginas encontradas na web. Eles possibilitam dividir um
hipertexto em múltiplas janelas (os frames), nas quais podem ser carregados
diferentes documentos HTML.
Bookmark é um “atalho” que marca o É muito fácil colocar frames em páginas.
endereço de um site já acessado para
Porém, nem todos os usuários gostam deles,
agilizar ao ser acessado novamente.
Os navegadores possibilitam pois nem sempre a navegação é fácil, além
armazenar bookmarks ou favoritos, de poder haver problemas para a impressão
armazenando a URL dos sites e e a marcação dos documentos interiores dos
tornando fácil visitá-los novamente.
Portanto, é uma lista de endereços já
frames nos bookmarks. A alternativa natural
visitados anteriormente na internet. para os frames são as tabelas.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. 177 - 202.
177
178
Uma página com frames tem um texto fonte semelhante ao que veremos a seguir.
<HTML>
<HEAD><TITLE>Assunto X</TITLE></HEAD>
<FRAME SRC=”indice1.html”>
<NOFRAME>
<BODY>
<P>
Blablablá blablablá
Blablablá blablablá
</BODY>
</NOFRAME>
</FRAMESET>
</HTML>
179
O caminho das páginas a serem inseridas como frames (nos exemplos: indice1.
html e texto.html) seguem a mesma padronização para a inserção de imagens;
neste caso, os dois arquivos estão no mesmo diretório do frame document
(arquivo que contém a tag FRAMESET).
<HTML>
<BODY>
</BODY>
</HTML>
<HTML>
<BODY>
</BODY>
</HTML>
180
Seção 2
Links com frames
Sempre que se aciona um link dentro de uma página, é padrão que a página
referente a esse link seja carregada na mesma janela da página anterior.
181
No exemplo a seguir, um link dentro da janela à direita faz com que a página apontada
seja mostrada, ocupando a janela da direita (coluna de 80%).
<HTML>
<HEAD><TITLE>Assunto X</TITLE></HEAD>
<FRAME SRC=”indice1.html”>
<NOFRAME>
<BODY>
<P>
Blablablá blablablá
Blablablá blablablá
</BODY>
</NOFRAME>
</FRAMESET>
</HTML>
Veja que, no código fonte acima, o frame associado à apresenta.html tem um atributo
NAME. Nomear um frame permite que direcionemos o frame em que será
apresentado o documento de destino de um link.
<HTML>
<BODY>
</BODY>
</HTML>
182
Deste modo, indica-se que se está definindo (pelo atributo target) o frame em que
a página de destino do link (apresenta.html) será mostrada.
<HTML>
<BODY>
</BODY>
</HTML>
183
Limpando a tela
Há, basicamente, dois efeitos possíveis para limpar a apresentação de frames, e
isso é feito com “targets” especiais, cujos atributos foram apresentados no item
Links com frames.
184
Seção 3
Composição com frames
Como você já observou, a formatação Frameset tem atributos que definem a
divisão do espaço da janela do navegador em colunas ou linhas. Podemos utilizar
uma combinação de framesets para criar diversos modos de apresentação do
conteúdo de um site.
<FRAME SRC=”col1.html”>
<FRAME SRC=”col2.html”>
</FRAMESET>
<FRAME SRC=”lin1.html”>
<FRAME SRC=”lin2.html”>
</FRAMESET>
185
Para montar a estrutura abaixo, você deve criar, primeiro, dois frames em coluna
e compor a segunda coluna com dois frames em linha.
<FRAME SRC=”col1.html”>
<FRAME SRC=”lin1.html”>
<FRAME SRC=”lin2.html”>
</FRAMESET>
</FRAMESET>
Para montar a estrutura abaixo, crie primeiro dois frames em linha e componha a
segunda linha com dois frames em coluna.
<FRAME SRC=”lin1.html”>
<FRAME SRC=”col1.html”>
<FRAME SRC=”col2.html”>
</FRAMESET>
</FRAMESET>
186
Seção 4
Atributos de Frameset
Nesta seção, você estudará os seguintes atributos de Frameset: Rows, Cols,
Frameborder, Border e Bordercolor.
ROWS
Este atributo define divisões horizontais entre janelas. Vem sempre acompanhado
de valores que definem que espaço da tela será ocupado por cada janela. Cada
janela a ser criada deverá ter, portanto, um valor associado e esses, que devem
estar separados por vírgula. Veja a sintaxe.
Numérico em pixels Refere-se a quantos pixels cada frame (ou janela) deve ocupar.
(ROWS=”30,50”) A desvantagem dessa notação é que não é possível ter o
controle do valor total de pixels que o navegador do usuário
contém.
Percentual Corresponde a um valor percentual do tamanho da página,
(ROWS=”25%,25%,50%”) sempre somando um total de 100%. Esse é o método mais
simples.
Relativo Define o tamanho de uma janela em relação às outras. No
(ROWS=”*,*,2*”) exemplo seguinte, os dois primeiros frames vão ocupar um
quarto da tela e o terceiro frame ocupará dois quartos, ou seja,
metade da tela. Esse exemplo produz o mesmo resultado que
o exemplo anterior utilizado no Percentual.
187
Veja como dividir a tela do navegador em três janelas horizontais, com a do meio
mais larga do que as de cima e de baixo.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
</FRAMESET>
</HTML>
188
<HTML>
<HEAD>
</HEAD>
<FRAME SCR=”exemplo1.html”>
<FRAME SRC=”exemplo2.html”>
<FRAME SCR=”exemplo3.html”>
</FRAMESET>
</HTML>
Figura 7.10 – Uso de frames em linha com o frame central mais largo
189
COLS
O atributo COLS funciona exatamente como a marcação anterior, inclusive no
que diz respeito ao modo de apresentação do campo “valor”. No entanto, este
atributo divide a tela em frames ou janelas verticais, assim como as colunas em
tabelas, conforme mostram os exemplos a seguir.
(COLS=”valor,valor,valor..”)
Aqui, divide-se a tela em 3 colunas, sendo que a do meio é mais larga do que as
outras duas.
<HTML>
<HEAD>
</HEAD>
<FRAME SRC=”exemplo1.html”>
<FRAME SRC=”exemplo2.html”>
<FRAME SRC=”exemplo3.html”>
</FRAMESET>
</HTML>
190
Da mesma maneira que nos exemplos das linhas (ROWS), o navegador irá definir
sozinho qual o tamanho da segunda célula do atributo COLS. Para intercalar
janelas verticais e horizontais, é necessário definir várias áreas FRAMESET. Para
cada área delimitada com FRAMESET, pode-se definir o número de linhas ou
colunas. Contudo, não é possível definir COLS e ROWS para uma mesma área
FRAMESET.
Para intercalar linhas e colunas, pode-se fazer como no exemplo a seguir.
<HTML>
<HEAD>
<TITLE>Quinto exemplo</TITLE>
</HEAD>
<FRAMESET ROWS=”30%,70%”>
<FRAME SRC=”exemplo1.html”>
<!-- A linha de código abaixo divide a segunda linha em duas colunas -->
<FRAMESET COLS=”50%,50%”>
</FRAMESET>
</FRAMESET>
</HTML>
191
FRAMEBORDER
Este atributo especifica se os frames do FRAMESET devem apresentar
uma borda ou não. Se ele for omitido, será usado o valor (“yes” ou “no”) do
FRAMESET mais externo. Se nenhum FRAMESET apresentar esse atributo, então,
o valor padrão (com bordas) será usado. Acompanhe o modelo seguinte.
(FRAMEBORDER=”yes”|”no”)
Eis um exemplo.
<FRAMEBORDER=”no”>
192
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
</FRAMESET>
</HTML>
193
BORDER
Este atributo especifica a largura da borda que os frames desse FRAMESET
devem apresentar. A sintaxe é a seguinte.
(BORDER=”valor”)
<BORDER=”10”>
BORDERCOLOR
Este atributo especifica a cor da borda que os frames desse FRAMESET devem
apresentar. A sintaxe é a seguinte:
(BORDERCOLOR=nome-cor|RGB)
Neste caso, você pode usar tanto o nome de uma cor (nome-cor) quanto o
padrão RGB.
<BORDERCOLOR=blue>
194
Seção 5
Atributos de frame
Até este ponto, vimos os atributos COLS e ROWS (para FRAMESET), SRC e
NAME (para FRAME).
A tag <FRAME> define que página HTML será carregada em cada janela contida
em uma área FRAMESET. Ela aceita seis possíveis atributos, cuja utilização
depende das necessidades do criador da página (Frame Document). São eles:
•• SRC;
•• NAME;
•• MARGINWIDTH;
•• MARGINHEIGHT;
•• SCROLLING;
•• NORESIZE.
Vejamos agora cada atributo separadamente.
SRC
O atributo SRC define a URL que será exibida em cada frame. Ele pode ser
omitido, caso se deseje criar uma região em branco na tela. A sintaxe é a
apresentada na sequência.
(SRC=”url”)
...
<FRAME SRC=”indice.html”>
...
195
NAME
Este atributo é utilizado para associar um nome a uma das divisões do Frame
Document e deve ser usado quando se deseja especificar onde (em que janela)
os documentos devem ser carregados. É um atributo opcional. Por padrão, os
frames não têm nome, mas, quando acontece de se estabelecerem nomes para
janelas, estes devem começar com caractere alfanumérico. A sintaxe é a seguinte.
(NAME=”nome”)
...
...
MARGINWIDTH
Este atributo controla as margens esquerda e direita de cada frame, ou seja, a
distância entre o conteúdo da página e as margens da janela. O valor associado
será expresso em valor absoluto em pixels, cujo menor valor aceito é 1. Este é
um atributo opcional e, caso não esteja definido, o navegador usará o seu padrão
para definir as margens dos frames ou janelas. A sintaxe é a seguinte.
(MARGINWIDTH=”valor”)
Observe o exemplo.
196
MARGINHEIGHT
Também é um atributo opcional e funciona exatamente como o anterior, só que
determina as margens superior/inferior de cada frame. Eis a sintaxe.
(MARGINHEIGHT=”valor”)
Veja o exemplo.
SCROLLING
Novamente, temos um atributo opcional. Com o SCROLLING é definido se uma
janela deve possuir barra de rolagem ou não. Caso seja definido como “YES”, a
janela sempre possuirá uma barra de rolagem visível. Caso seja definido como
“NO”, nunca haverá barra de rolagem. E, finalmente, se vier como “AUTO”, o
navegador aplicará a barra quando necessário. Lembrando que “AUTO” é o
valor padrão. Portanto, se o atributo SCROLLING não for definido, o navegador
aplicará a barra de rolagem à janela em questão, automaticamente, toda vez que
o conteúdo da página HTML não couber completamente no frame. A sintaxe é a
seguinte.
(SCROLLING=”yes/no/auto”)
197
</FRAMESET>
...
NORESIZE
NORESIZE é também opcional. Este atributo não possui valor associado; quando
ele não aparece, o usuário poderá alterar o tamanho da janela, arrastando a
sua borda com o mouse. Caso contrário, a janela terá sempre um tamanho
inalterável. Normalmente, todas as janelas podem ter seu tamanho alterado, já
que navegadores diferentes estarão sendo utilizados por diferentes pessoas, e as
páginas podem não caber na tela, impedindo que os usuários possam lê-las. Eis
um exemplo.
198
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<FRAMESET COLS=”200,*,*”>
MARGINWIDTH=”3” MARGINHEIGHT=”4”
SCROLLING=”yes” NORESIZE>
</FRAMESET>
</HTML>
199
Seção 6
Tag noframes
Quando o acesso for feito por meio de um navegador que não entenda frames,
os elementos FRAMESET e FRAME (e NOFRAMES também!) serão ignorados
pelo navegador e as marcações entre <NOFRAME> e </NOFRAME> serão
obedecidas, montando-se uma página alternativa. Por outro lado, os navegadores
que suportam frames ignoram todo conteúdo entre as marcações NOFRAMES.
Veja o exemplo a seguir.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<FRAMESET ROWS=”30%,70%”>
<FRAMESET COLS=”50%,50%”>
</FRAMESET>
</FRAMESET>
200
<NOFRAMES>
<FONT SIZE=4>
</FONT>
</NOFRAMES>
</HTML>
Veja o resultado na Figura 7.15. Se ele suporta o uso de frames, surgirá algo
similar.
201
Figura 7.16 – Uso da tag NOFRAMES quando o navegador não aceita frame
202
Desenvolvendo Páginas
Eficientes 1
Seção 1
Uso das extensões HTML
No passado, antes de todas as empresas que produzem navegadores
começarem a introduzir suas próprias tags HTML, era fácil ser um projetista da
web. As únicas tags que você tinha que lidar eram aquelas da HTML 2.0 e a
maioria dos navegadores existentes na web era capaz de ler as suas páginas sem
qualquer problema. Hoje, ser um projetista da web é bem mais complicado. Você
precisa trabalhar com vários grupos de tags de diversas versões.
• Outras tags propostas para o futuro para a HTML, que contam com o suporte
de poucos navegadores.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação web Básica. Palhoça: UnisulVirtual,
2016 . págs. 203 - 224.
203
Se você considera essa situação confusa, saiba que não é o único. Os autores e
projetistas estão tentando esclarecer essa confusão e tomar decisões com base
no aspecto visual que desejam atribuir às suas páginas. As extensões HTML
oferecem maior flexibilidade no layout, mas limitam o público que pode ver essas
páginas da maneira que você deseja que elas sejam exibidas.
Se o autor da web, por outro lado, deseja ter, sobre o layout de páginas, o tipo
de controle que as mais avançadas tags proporcionam e está disposto a perder
boa parte de seu público para conseguir isso, então ele utilizará as mais novas
inserções propostas pela HTML 5. As páginas para esse autor são elaboradas
para poucos navegadores, são testadas somente nesses navegadores e é possível,
inclusive, que haja um aviso na página informando em qual navegador a página
deve ser lida. Na maioria das vezes, se você usar outro navegador para ler essas
páginas, o resultado poderá ser bem confuso, quando não for inteiramente ilegível.
204
Seção 2
Seu texto na web
A redação na web não é diferente da redação no “mundo real”. Mesmo que o
texto que você esteja redigindo para a web não seja apresentado em uma cópia
impressa, ainda assim, ele será “publicado” e refletirá a sua personalidade e o
seu trabalho. Na verdade, você deverá seguir as regras de uma boa redação com
mais cuidado, pelo fato de o documento estar no ambiente on-line e ser, por isso,
muito visitado por leitores muito exigentes.
Vai dizer que você nunca fez isso? Nunca visitou uma página carregada de
informações desorganizadas, sem um bom layout e, por esses motivos,
acabou desistindo?
Isso não significa que você tenha que se tornar um escritor profissional para criar
uma página apresentável na web, mas deve seguir algumas sugestões para tornar
a sua página mais legível e compreensível. A seguir, estão elas.
O critério de qualidade do texto vale tanto para a internet quanto para o papel.
Não há linguagem nova que desobrigue o texto na internet a ser bom, legível e
compreensível. O texto só passa a existir verdadeiramente quando é consumido
produtivamente pela pessoa que está do outro lado da tela.
205
Um texto para a internet tem que ter o tamanho que a informação exigir. Na
informação rápida, não se pode esquecer-se de um ponto crucial: o porquê. Se
nós entramos na internet, queremos saber o porquê dos fatos, não queremos
apenas rapidez. A velocidade tem que vir com peso, com qualidade. A internet
é a grande chance da humanidade para preservar sua cultura e, nesse sentido,
deve funcionar como um banco de dados e não apenas como um veículo de
informação.
206
Os textos de vínculo constituem também uma forma de ênfase. Utilize uma única
palavra ou uma frase curta como texto de vínculo. Não use trechos ou parágrafos
inteiros como vínculos.
207
• Para gravar esta página, abra o menu Arquivo e selecione Salvar - cada
navegador tem um conjunto diferente de menus e maneiras específicas de
executar a mesma ação, além de idiomas diferentes. Sempre que possível, evite
fazer referência a operações específicas do navegador nas suas páginas da
web.
Lembre-se de que qualquer pessoa poderá ler e explorar suas páginas da web.
Erros ortográficos ou gramaticais produzem uma impressão negativa sobre o
seu trabalho, você e as informações que estiver fornecendo. Uma redação ruim
poderá irritar o leitor e fazê-lo desistir de prosseguir com a leitura do seu site, por
mais fascinante que seja o assunto abordado.
208
Seção 3
Projeto e layout da página
O melhor layout a ser seguido ao elaborar o projeto de cada página da web é
o seguinte: mantenha o projeto o mais simples possível; reduza o número de
elementos (imagens, cabeçalhos e linhas) e lembre-se sempre de chamar a
atenção para os pontos mais importantes da página, sem exagerar.
209
Esse tipo de layout padronizado funciona igualmente bem nas páginas da web.
A atribuição de uma única aparência e de um único comportamento a todas as
páginas da sua apresentação da web proporciona conforto aos leitores. Depois
da segunda ou terceira página, eles conhecerão os elementos de cada página
e saberão onde localizá-los. Assim, com um projeto padronizado, os seus
leitores podem localizar as informações de que necessitam e navegar pelas suas
páginas sem precisar parar em cada uma delas para saber onde encontrar essas
informações.
210
Seção 4
Uso de vínculos
Sem os vínculos, as páginas da web não teriam a menor graça e seria
praticamente impossível encontrar algo interessante na web. Sob vários aspectos,
a qualidade dos seus vínculos pode ser tão importante quanto a criação e o
projeto das páginas propriamente ditas. Considere as seguintes dicas que Lemay
(2001; 2002) coloca em seus livros.
211
212
Ou ainda:
Cada vínculo deve ter uma finalidade, por isso tenha motivos razoáveis para
estabelecê-los. O simples fato de você mencionar a palavra “café” em uma
página referente a algum outro tópico não significa que tenha de vinculá-la com
um site referente ao café. Isso pode até parecer interessante, mas se um vínculo
não for útil para o assunto corrente, servirá apenas para confundir o leitor.
213
214
Seção 5
Outras sugestões de bons hábitos
A seguir, algumas sugestões sobre os bons hábitos que você deve desenvolver
ao trabalhar com grupos de páginas da web.
Se você perceber que um tópico está ficando muito longo para uma única página,
considere a possibilidade de reorganizar o conteúdo para que possa dividi-
lo em vários subtópicos. Isso funciona especialmente bem em organizações
hierárquicas e permite que você determine exatamente o nível de detalhe de cada
“nível” da hierarquia que deve ser incluído, além do tamanho e da complexidade a
serem atribuídos a cada página.
Suponha que você queira incluir todas as informações que deseja transmitir
em uma página grande e crie vários vínculos com as seções dessa página.
Então, você pode optar por um extremo ou por outro, cada qual com suas
vantagens e desvantagens.
215
Vantagens:
Desvantagens:
• Os leitores precisam rolar o texto várias vezes para localizar o que desejam.
O acesso a informações específicas pode tornar-se tedioso. A navegação
até outros pontos que não estejam localizados nem no início nem no final do
documento torna-se praticamente impossível.
Ou, por outro lado, você pode criar um conjunto de páginas pequenas e
estabelecer vínculos entre elas.
Vantagens
Desvantagens
216
Cada página deve conter algum tipo de informação na parte inferior, que funcione
como uma “assinatura”. A tag <ADDRESS> foi criada especificamente com esse
objetivo. A utilização dessa tag é útil nas suas páginas, pois informa:
217
Uma boa sugestão para a sua página da web é estabelecer um vínculo entre um
URL mailto e o texto que contém o endereço de correio eletrônico (e-mail) do
webmaster, como neste exemplo a seguir.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<br>
<i><A HREF=”mailto:contato@unisul.br”><i>contato@unisul.br</i></A><br>
</BODY>
</HTML>
218
Figura 8.2 – Exemplo de assinatura para uma página web com mailto
Tal procedimento permite aos leitores que tenham navegadores que ofereçam
suporte ao URL mailto, simplesmente selecionar o vínculo e enviar uma
correspondência para a pessoal responsável pela página, sem precisar digitar
novamente o endereço em seus programas de correio eletrônico.
Seção 6
Elementos e atributos obsoletos
No início, o HTML era a linguagem mais utilizada por cientistas. Eles não
precisavam de qualidade gráfica, diferentes formatações de textos e se
preocupavam muito mais com o conteúdo do que com a forma visual. Como as
páginas eram simples, qualquer navegador poderia ser utilizado para visualização.
219
Foi aí que a W3C decidiu dar um basta nisso e resolveu tornar essas tags de
formatação de texto como obsoletas (deprecated), ou seja, essas tags de
formatação de texto e atributos estariam condenadas em futuras versões do
HTML e do XHTML.
Center text-align:center
B font-weight:bold
I font-style:italic
U text-decoration: underline
S e Strike text-decoration:line-through
align text-align
background background-image:url(image)
bgcolor background-color
hspace padding
vspace padding
size font-size:
220
Vamos começar pelo atributo Align. Esse atributo possui os seguintes valores:
align = left|center|right|justify
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE> </TITLE>
<STYLE type=”text/css”>
H1 { text-align: center}
</STYLE>
</HEAD>
<BODY>
</BODY>
</HTML>
221
Essa mesma forma utilizada para formatar o texto do exemplo acima pode ser
feita com os atributos de tabelas. Com isso, você reduz o tamanho do código
HTML e padroniza a tabela.
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR>
</TR>
<TR>
</TR>
</TABLE>
</BODY>
</HTML>
222
<HTML>
<HEAD>
<TITLE> </TITLE>
<STYLE type=”text/css”>
TH { font-size: 48px;
color: GREEN}
TD { font-size: 32px;
color: RED}
</STYLE>
</HEAD>
<BODY>
<TABLE BORDER=”1”>
<TR>
<TH>Comida</TH>
<TH>Bebida</TH>
</TR>
<TR>
<TD>Arroz</TD>
<TD>Vinho</TD>
</TR>
</TABLE>
</BODY>
</HTML>
223
224
Folhas de Estilo 1
Seção 1
O que são os estilos CSS
As tags que definem os elementos do HTML foram concebidas para definir
conteúdos. O autor do HTML nunca teve qualquer intenção de usar esta
linguagem para definir estilos gráficos para as páginas. As tags do HTML foram
idealizadas para declarar coisas como “Isto é um parágrafo”, ou “Isto é um
cabeçalho”. Para isso, colocavam-se tags como <P> ou <H1> ao redor do
texto. A forma como essa informação devia ser apresentada graficamente era
um problema que o navegador tinha que resolver tendo em consideração o
significado de cada tag.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. 225 - 254.
225
Mas isso não foi suficiente, porque havia coisas que não podiam ser feitas
usando apenas as tags disponíveis. Para dar aos designers aquilo que eles
pediam, os criadores dos navegadores acharam que era boa ideia os primeiros
inventarem as suas próprias tags e acrescentarem atributos estilísticos as que
já existiam. Essas extensões permitiram usar o HTML para dar cores e estilos
diferentes ao texto e aplicar outras formatações.
As iniciativas dos criadores dessas novas tags e desses atributos ignoraram por
completo a filosofia na qual o criador do HTML, Tim Berners Lee, baseou-se para
criar a linguagem. As novas tags (como a tag <FONT>) davam importância ao
aspecto gráfico que produziam e não ao significado daquilo que continham.
Esse problema começou a ser resolvido pelo World Wide Web Consortium
(W3C) com a criação dos padrões HTML 4, HTML 5, CSS, XML e XHTML. Para o
W3C, o HTML deve ser usado em conjunto com estilos CSS (folhas de estilo em
cascata), sendo que os conteúdos exprimem-se em HTML; e os estilos, em CSS.
As folhas de estilo permitem que você defina a aparência padrão de diferentes
partes de seu documento. E é precisamente esse o objetivo das folhas de estilo
em cascata. Com elas, você pode controlar a cor e o estilo de fontes, ajustar o
espaço em branco etc.
Esse novo paradigma para a criação de páginas é bem suportado por todos os
navegadores dominantes: Netscape/Mozila, Microsoft Internet Explorer, Opera,
Google Chrome etc.
226
Quando você tinha que usar as técnicas antigas para fazer alterações no aspecto
gráfico de um website, você era obrigado a alterar todas as tags <FONT> e todas
as tabelas usadas para formatar as páginas. Isso tinha que ser feito em todas as
páginas.
O “mecanismo” de cascata
O termo cascata refere-se à sequência ordenada de estilos de formatação do
documento. As regras das folhas posteriores têm precedência sobre as anteriores.
A ordem de estilos aplicados é apresentada a seguir.
227
Uma das regras da cascata diz que, ao encontrar várias versões para o mesmo
estilo, o navegador guarda a última que encontrou. Outra regra diz que alguns
estilos são herdados pelas tags que se encontram dentro de outras tags.
228
Seção 2
A sintaxe CSS
Agora, você está pronto para usar as folhas de estilo em cascata, as quais
utilizam uma sintaxe simples para definir a propriedade de estilo. A sintaxe das
definições CSS é composta por duas partes: uma tag e uma declaração.
Veja.
Tag Declaração
H1 { color: green }
Neste exemplo, a tag H1 diz que o estilo aplica-se a tags <h1> e a definição diz
que a cor do texto destas tags deve ser verde (“green”).
A declaração fica entre chaves ({...}) e pode conter várias definições. Cada
definição é formada por um par-propriedade: valor, que é separado da
propriedade pelo caractere dois pontos (:).
Tag Declaração
P { color: green;
font-family: arial}
Essas listas podem ser usadas de várias formas, para aplicar estilo a uma tag. A
W3C definiu um conjunto de tags e atributos que podem ser usados para aplicar
qualquer folha de estilo em um documento. A base das folhas de estilo é simples.
Veja na sequência.
229
• Folhas de estilo inline – é uma definição de estilo que pode ser aplicada a
uma tag HTML específica, pela utilização do atributo Style.
• Folhas de estilo interna – é uma definição de estilo que pode ser criada
entre as tags <STYLE> e </STYLE> (isso deve estar no cabeçalho do
documento HTML). Esse tipo de definição estabelece um estilo para todas as
ocorrências de determinada tag HTML. Por exemplo, você pode definir todas
as ocorrências de cabeçalho <H1> para que sejam apresentadas em tipo
vermelho.
• Folhas de estilo externa – é uma folha de estilo que pode ser importada
de um arquivo externo, por meio da utilização de <LINK REL=stylesheet
HREF=”nome do arquivo de folha de estilo”>.
Seção 3
Tipos de definição de estilos
Quando o navegador encontra uma folha de estilos em um documento, ele a usa
para formatar os elementos desse documento. Existem três formas básicas e
diferentes para definir estilos e inseri-los em um documento.
A definição de estilos inline faz-se por meio do atributo Style colocado na tag
a qual queremos aplicar o estilo. A definição pode conter qualquer uma das
propriedades CSS. A sintaxe a seguir mostra como é a definição de um estilo
inline.
230
<HTML>
<HEAD><TITLE> </TITLE>
</HEAD>
<BODY>
</P>
</BODY>
</HTML>
231
<HTML>
<HEAD><TITLE></TITLE>
</HEAD>
<BODY>
</P>
</P>
</BODY>
</HTML>
232
<STYLE TYPE=”text/css”>
...
</STYLE>
Observe o uso do atributo Type na tag <STYLE> para indicar o uso da folha de
estilo em cascata. Uma folha de estilo interna deve ser usada quando os estilos
são usados uma única vez. Neste caso, as definições são feitas dentro de uma
tag <STYLE>, que deve ser colocada dentro da tag <HEAD> da página HTML, da
seguinte maneira.
<HTML>
<HEAD><TITLE></TITLE>
<STYLE type=”text/css”>
P { margin-left: 20px }
</STYLE>
</HEAD>
<BODY>
</BODY>
</HTML>
233
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
H1 { color: green }
</style>
</HEAD>
<BODY>
</BODY>
</HTML>
234
Se o valor que queremos dar à propriedade tiver mais do que uma palavra, então
devemos colocá-lo entre aspas, como será mostrado a seguir.
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
</style>
</HEAD>
<BODY>
<P>
</P>
</BODY>
</HTML>
Figura 9.4 – Exemplo de folha de estilo com propriedadecom mais de uma palavra
235
<HTML>
<HEAD><TITLE> </TITLE>
<style type=”text/css”>
P {
text-align: center;
color: green;
font-family: arial
</style>
</HEAD>
<BODY>
<P>
</P>
</BODY>
</HTML>
236
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
<!--
hr { color: blue }
p { margin-left: 20px }
237
-->
</style>
</HEAD>
<BODY>
...
</BODY>
</HTML>
238
<HTML>
<HEAD><TITLE></TITLE>
</HEAD>
<BODY>
...
</BODY>
</HTML>
Mais uma vez, o caminho dos arquivos das folhas de estilo deve estar no mesmo
diretório da página ou ser definido o caminho absoluto ou relativo.
Para poder testar esse tipo de inserção de folhas de estilho, crie um arquivo texto
(pode ser editado no próprio bloco de notas do Windows) chamado “meu_estilo.
css”. Em seu conteúdo, escreva as formatações dos exemplos.
Sempre que alterar o valor de um estilo, basta salvar o arquivo CSS e atualizar
(F5) a página, sem a necessidade de nenhuma alteração no arquivo HTML.
239
Se você abrir o arquivo “meu_estilo.css”, irá reparar que a folha de estilos externa
é apenas um arquivo de texto que contém definições CSS. No seu conteúdo não
podem aparecer tags do HTML, pois só são permitidas definições CSS válidas.
Os elementos inline, como <b> ou <span> não dão início a uma nova linha e a
sua largura é determinada apenas pelo seu conteúdo. O seu comportamento é
semelhante ao comportamento do texto simples.
Agrupar tags
Se você desejar aplicar os estilos a mais do que uma tag, agrupe as tags que
partilham as mesmas definições. Para isso, escreva uns seguidos dos outros,
separados por vírgulas. No exemplo seguinte, todas as tags de <h1> até <h6>
partilham a mesma definição.
h1,h2,h3,h4,h5,h6
color: green
240
Tags de Classe
Uma classe é um estilo amplamente definido, que estabelece propriedades para
alguns ou para todos os elementos de um documento. Assim, a classe pode ser
aplicada a qualquer elemento, por meio da utilização do atributo Class. Apenas
as definições de estilo para esse elemento na classe específica serão aplicadas a
ele.
<HTML>
<style type=”text/css”>
</style>
</HEAD>
<BODY>
<P class=”direita”>
</P>
<P class=”centro”>
</P>
</BODY>
</HTML>
241
O atributo Class, como qualquer outro atributo, só pode ser especificado uma
única vez em uma tag. Por isso, o exemplo seguinte está errado.
Este parágrafo tem um erro causado pela utilização repetida do atributo Class.
</p>
<HTML>
<style type=”text/css”>
</style>
242
</HEAD>
<BODY>
<H2 class=”centro”>
</H2>
<P class=”centro”>
</P>
</BODY>
</HTML>
Perceba que a definição de classes genéricas, que pode ser utilizada em qualquer
tag, necessita obrigatoriamente de um ponto (.) antes do nome da classe. Essa
metodologia é bem interessante, pois exige a possibilidade de reaproveitamento
de estilos, sempre que for necessário utilizar a referida formatação.
243
Nome_da_tag.nome_da_classe .nome_da_classe
Utilizado para todas as tags Utilizado em qualquer tag em que se
definidas queira aplicar a classe
p.direta .centro
Tags de ID
O atributo ID define algo que tenha um valor exclusivo para um documento inteiro,
ou seja, aplica-se a um único elemento da página. As regras do HTML ditam
que os valores do atributo ID não podem repetir-se em uma mesma página. Daí
resulta que o número de elementos no documento com um determinado ID é um
ou é zero.
A regra de seleção para o estilo definido no exemplo seguinte indica que ele só
pode ser aplicado a uma tag <P> que tenha o valor “para1” no atributo ID.
244
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
P#para1 {
text-align: center;
color: red
</style>
</HEAD>
<BODY>
<P id=”para1”>
</P>
</BODY>
</HTML>
245
Se tentarmos aplicar esta regra a uma tag <DIV>, usando id=”para1”, veremos
que o navegador não a aceita, pois ele foi definido somente para a tag <P>.
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
P#para1 {
text-align: center;
color: red
</style>
</HEAD>
<BODY>
<div id=”para1”>
</div>
</BODY>
</HTML>
246
Se quisermos que a regra seja aplicada a qualquer tag que tenha o id=“para1”,
basta escrevê-la na forma que se segue.
#para1 {
text-align: center;
color: red
A regra acima é aplicável a qualquer tag que tenha o ID correto, porque não está
sendo definido para uma tag específica e sim para o ID que se aplica a todas as
tags. No exemplo seguinte, ela seria aplicada à tag <H1>.
247
P{
text-align: center;
/* Isto é um comentário */
color: black;
font-family: arial
Seção 4
A ordem da cascata
Quando um estilo é definido mais do que uma vez, qual das definições o
navegador deve escolher? A primeira? A última? Nenhuma delas? Para decidir,
o navegador aplica as seguintes regras (listadas por ordem crescente de
importância).
248
Assim, temos que os estilos que são definidos na própria tag por intermédio do
atributo Style têm a prioridade mais elevada. As definições que o atributo Style
faz sobrepõem-se a qualquer definição que tenha sido feita antes.
Suponha que uma folha de estilos externa defina as seguintes propriedades para
a tag h2.
H2 {
color: red;
text-align: left;
font-size: 8pt
Mas existe uma folha de estilos interna com as seguintes propriedades também
para a tag h2.
H2 {
text-align: right;
font-size: 20pt
Se a página que contém a folha de estilos interna usa a tag <link> para se
ligar à folha de estilos externa indicada antes, então as duas definições serão
249
H2 {
color: red;
text-align: right;
font-size: 20pt
Veja que a cor foi herdada da folha externa, mas o alinhamento do texto e o
tamanho de letra foram substituídos pelas definições dadas na folha interna.
250
<HTML>
<HEAD><TITLE></TITLE>
<style type=”text/css”>
</style>
</HEAD>
<BODY>
<div>
<P>
</P>
</div>
<P>
uma “herança”.
</P>
</BODY>
</HTML>
No exemplo anterior, a folha de estilos expressa que o texto das tags <DIV> deve
ter cor azul. O parágrafo que está dentro de uma tag <DIV> “herda” a cor azul
porque a propriedade color é “herdada” pelos descendentes de uma tag. Já o
segundo parágrafo não está dentro de nenhuma tag que lhe deixe uma “herança”
(que neste caso é a propriedade color) e por isso o seu texto tem a cor normal.
251
<HTML>
<style type=”text/css”>
div {
color: blue;
</style>
</HEAD>
<BODY>
252
<div>
<p>
contorno (border).
</p>
<div>
</div>
</div>
</BODY>
</HTML>
253
Por meio da utilização das folhas de estilo, você pode definir tudo que precisa
para uma página na web, de tipos de fonte para as diferentes tags da HTML até
cores de fontes, cores e imagens gráficas de fundo, margens, espaçamento,
estilo de tipo e muito mais. Basicamente, qualquer parte da aparência visual de
seu documento pode ser definida com as folhas de estilo em cascata.
254
Criação de Formulários 1
Seção 1
Criando um formulário
Até agora, você viu a forma pela qual o HTML mostra a informação,
essencialmente mediante o texto, imagens e links. Até então, os leitores estão
sentados lendo as páginas, percorrendo vínculos e absorvendo as informações
que você apresentou.
Você viu, anteriormente, que podemos, por intermédio dos links, entrar em
contato diretamente com um correio eletrônico. Entretanto, esta opção pode ser
pouco versátil em alguns casos, se o que desejamos é que o leitor nos envie uma
informação bem precisa pela página criada por você. Isso pode ser realizado por
meio do uso de formulários.
1 PETRY, Patrícia Gerent; BRAZ JUNIOR, Osmar de Oliveira. Programação Web Básica. Palhoça: UnisulVirtual,
2016 . págs. 255 - 290.
255
ACTION
Este atributo da tag <FORM> define o tipo de ação a ser realizado com o
formulário. Como já comentado anteriormente, existem duas possibilidades:
256
<FORM ACTION=”mailto:endereço@correio.com”>...</FORM>
Se o que você deseja é que o formulário seja processado por um programa, deve
especificar o endereço do arquivo que contém tal programa. Nesse caso, a tag
ficaria da seguinte forma.
METHOD
Este atributo da tag <FORM> encarrega-se de especificar a forma na qual o
formulário é enviado, ou seja, seleciona um método para acessar a URL de ação.
Os métodos usados atualmente são GET e POST. Ambos os métodos transferem
dados do navegador para o servidor, com a seguinte diferença básica.
257
Como a HTML não tem condições de fazer isso, é necessário utilizar scripts CGI,
PERL, ASP, JavaScript etc. para executar essas tarefas. Porém, esses tipos de
scripts necessitam de aprendizado mais dedicado para criar o que você deseja
e são muito mais complexos do que a linguagem HTML, pois eles processam
informações.
ENCTYPE
Este outro atributo da tag <FORM> indica a forma na qual a informação que for
mandada pelo formulário será enviada. No caso mais corrente, ao se enviar o
formulário por correio eletrônico, o valor deste atributo deve ser “TEXT/PLAIN”.
Assim, você consegue que o conteúdo do formulário seja enviado como texto
plano dentro do e-mail.
Assim, para o caso mais habitual - o envio do formulário por correio - a tag de
criação do formulário terá o seguinte aspecto.
Entre esta tag e seu fechamento, você colocará o resto de tags que darão forma
ao seu formulário, as quais serão vistas nas próximas seções. O HTML propõe
uma grande diversidade de alternativas na hora de criar os formulários. Elas vão
desde a clássica caixa de texto até a lista de opções, passando pelas caixas de
validação. Todos os elementos do formulário dão suporte às configurações das
folhas de estilo (CSS). Na sequência, você vai ver em que consiste cada uma
dessas modalidades e como pode implementá-las em seu formulário.
258
Seção 2
Campos de entrada de texto
Os campos “entrada de textos” ou simplesmente “caixa de texto” permitem ao
usuário digitar texto em um campo de única linha. A tag <INPUT> inicia a criação
de campos de dados ou caixas de texto. Esse é um dos elementos que mais
encontramos nos formulários.
A tag <INPUT> não tem tag de fechamento. O emprego destas caixas está
fundamentalmente destinado à tomada de dados breves: palavras ou conjuntos
de palavras de longitude relativamente curta. Para entrada de textos mais longos
existe uma outra tag que define outro campo chamado “área de texto longo”.
A tag <INPUT> possui vários atributos que permitem a criação de diferentes
campos de entrada de dados.
Atributo NAME
O nome do elemento do formulário é de grande importância para poder identificá-
lo em nosso programa de processamento ou no e-mail recebido. Sua sintaxe é a
seguinte.
<INPUT NAME=”nome_do_campo”>
Este atributo é especialmente usado para que você dê um nome ao campo. Ele
não aparece na página, mas serve para identificar o campo e o valor digitado no
e-mail que você receber, ou algum elemento do script a ser processado.
Nunca deixe de definir o nome dos campos, pois só assim você poderá saber o
que cada usuário preencheu em cada campo. Por exemplo, se você tem vários
campos de texto, cada um para um tipo de informação diferente, você usa o
atributo NAME para identificar o campo. Você sempre verá em todas as tags
INPUT que este atributo estará presente.
259
Atributo TYPE
Por outro lado, é importantíssimo indicar o atributo TYPE, já que existem outras
modalidades de formulário que usam essa mesma tag. Em campo de dados de
texto, o atributo TYPE recebe o valor text.
Neste exemplo, temos uma caixa de texto cujo conteúdo será referenciado pelo
identificador “nome”. O aspecto mais comum desse tipo de caixa de texto pode
ser visto a seguir.
Quando INPUT não apresenta o atributo TYPE, assume-se TYPE= “text” como
padrão da formatação. O exemplo seguinte mostra um formulário simples com
dois elementos input.
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</FORM>
</BODY>
</HTML>
260
Atributo VALUE
Em alguns casos, pode ser interessante atribuir um valor definido ao campo em
questão. Isso pode ajudar o usuário a preencher mais rapidamente o formulário
ou a dar alguma ideia sobre a natureza de dados que se deseja. O valor inicial do
campo pode ser expresso mediante o atributo VALUE. Vejamos seu efeito com
um exemplo simples.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</FORM>
</BODY>
</HTML>
261
Nesse caso, pode ser comprovado que, ao escrever dentro do campo no lugar
de texto, serão vistos asteriscos. Esses campos são ideais para a introdução de
dados confidenciais, principalmente códigos de acesso, além de serem muito
usados para entradas de senhas, como se pode ver no exemplo a seguir.
262
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</FORM>
</BODY>
</HTML>
263
<FORM>
<INPUT TYPE=”hidden” NAME=”Escondido” Value=”Sim”>
</FORM>
Aqui, o campo está escondido. O visitante não o vê, mas ele vai ser processado
pelo formulário. Você pode incluí-lo sem problemas junto com os outros elementos,
conforme o exemplo a seguir.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM ACTION=”processar.php” METHOD=”post”>
Usuário: <INPUT TYPE=”text” NAME=”login”><BR>
Senha: <INPUT TYPE=”password” NAME=”senha”>
<INPUT TYPE=”hidden” NAME=”Escondido” VALUE=”Sim”>
</FORM>
</BODY>
</HTML>
264
Em alguns casos, à parte dos próprios dados enviados pelo usuário, pode ser
prático enviar dados definidos por nós mesmos, que ajudem o programa em seu
processamento do formulário. Vejamos outro exemplo.
Atributo SIZE
O atributo SIZE define o tamanho da caixa em número de caracteres. Se, ao
escrever, o usuário chega ao final da caixa, o texto irá desfilando à medida que se
escreve fazendo desaparecer a parte de texto que fica à esquerda. Este atributo
também especifica o tamanho do espaço no vídeo para o campo do formulário.
Só é válido para campos TEXT e PASSWORD. O valor padrão é 20. Veja um
exemplo a seguir.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</FORM>
</BODY>
</HTML>
265
A visualização é a seguinte.
Atributo MAXLENGTH
Este atributo indica o tamanho máximo do texto que pode ser “tomado” pelo
formulário. É importante não confundi-lo com o atributo SIZE. Enquanto este
define o tamanho aparente da caixa de texto, o MEXLENGTH indica o tamanho
máximo real do texto que pode ser escrito.
Podemos ter uma caixa de texto com um tamanho aparente (SIZE) que é menor
do que o tamanho máximo (MAXLENGTH). O que ocorrerá, neste caso, é que,
ao ser escrito, o texto irá desfilando dentro da caixa até que cheguemos ao seu
tamanho máximo, definido por MAXLENGTH. Neste momento, será impossível
continuar escrevendo. Este atributo só é válido para campos de entrada TEXT e
PASSWORD.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
266
</FORM>
</FORM>
</BODY>
</HTML>
No exemplo anterior, apenas 2 caracteres serão lidos pelo formulário e não será
possível digitar mais do que 2 caracteres no campo.
É por isso que, para mostrar um campo de texto, não adianta colocar a tag
<INPUT> e sim, colocá-la dentro de um formulário, conforme você vai ver a seguir.
<FORM>
</FORM>
267
Esses tipos de campos são práticos quando o conteúdo a ser enviado não é um
nome, telefone ou qualquer outro dado breve, e sim um comentário, opinião etc.
Dentro desta tag, você deve indicar o atributo NAME para associar o conteúdo a
um nome, que será semelhante a uma variável em linguagens de programação.
Além disso, você pode definir as dimensões do campo a partir dos seguintes
atributos:
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</FORM>
</BODY>
</HTML>
268
O resultado é o seguinte.
Mesmo assim, ainda é possível definir o conteúdo do campo. Para isso, você
não usará o atributo VALUE, e sim o conteúdo entre as tags que lhe desejamos
atribuir. Vejamos no exemplo que segue.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
comentário....</TEXTAREA>
</FORM>
</BODY>
</HTML>
269
Seção 3
Seleções e listas de opções
Efetivamente, os textos são uma forma muito prática para se fazer chegar à
informação do navegante. Porém, em muitos casos, os textos dificilmente são
adaptáveis a programas que possam processá-los devidamente ou pode ser,
também, que seu conteúdo não se ajuste ao tipo de informação que requeremos.
É por isso que, em determinados casos, pode ser mais efetivo propor uma
escolha ao navegante, a partir da exposição de uma série de opções.
Esse é o caso de, por exemplo, oferecer uma lista de países, o tipo de cartão de
crédito para um pagamento etc. Esses tipos de opções podem ser expressos de
diferentes formas.
As listas de opções são tipos de menus desdobráveis que nos permitem escolher
uma (ou várias) das múltiplas opções que nos propõem. Para construí-las,
utilizaremos uma tag com seu respectivo fechamento: <SELECT>.
Como para os casos já vistos, dentro dessa tag, definiremos seu nome por meio
do atributo NAME. Cada opção será incluída em uma linha precedida da tag
270
<OPTION>.
Veja, a partir destas diretrizes, a forma mais típica e simples desta tag.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
<SELECT NAME=”estação”>
<OPTION>Primavera</OPTION>
<OPTION>Verão</OPTION>
<OPTION>Outono</OPTION>
<OPTION>Inverno</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>
A tag SELECT pode ser vista modificada, principalmente a partir de outros dois
271
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
<OPTION>Primavera</OPTION>
<OPTION>Verão</OPTION>
<OPTION>Outono</OPTION>
<OPTION>Inverno</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>
272
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
<OPTION>Primavera</OPTION>
<OPTION>Verão</OPTION>
<OPTION>Outono</OPTION>
<OPTION>Inverno</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>
273
A tag <OPTION> ainda pode ser utilizada juntamente com outros atributos, tais
como SELECTED e VALUE.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
<SELECT NAME=”estação”>
<OPTION>Primavera</OPTION>
<OPTION>Verão</OPTION>
274
<OPTION SELECTED>Outono</OPTION>
<OPTION>Inverno</OPTION>
</SELECT>
</FORM>
</BODY>
</HTML>
275
<OPTION VALUE=”1”>Primavera</OPTION>
estação=1
Seção 4
Botões de rádio
Os botões de rádio indicam uma lista de itens, dos quais apenas um pode ser
escolhido de cada vez. Os botões de rádio usam a tag <INPUT> com o atributo
TYPE igual a “radio”. Você indica os grupos de botões de rádio usando o mesmo
atributo NAME para cada um.
Além disso, cada um dos botões de rádio deve ter um atributo VALUE exclusivo,
indicando o valor da seleção. Veja o exemplo a seguir.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</BODY>
</HTML>
276
Repare que só é possível selecionar uma das opções dadas, pois elas excluem-
se mutuamente. Se o usuário escolhe, supostamente, feminino, receberemos
como resultado:
Sexo=”feminino”
277
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</BODY>
</HTML>
Vejamos o efeito.
278
Seção 5
Caixas de validação
As caixas de validação (“checkboxes”) ou verificação devem ser usadas sempre
que queremos que o usuário aprove (ou não) itens dentro de um pequeno grupo.
É permitido validar mais do que uma opção simultaneamente, ou seja, as caixas
de verificação permitem a seleção de vários itens de uma lista.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</BODY>
</HTML>
279
Repare que você pode selecionar cada uma das opções de forma independente
da outra. Esses tipos de elementos podem ser ativados ou desativados pelo
usuário com um simples clique sobre a caixa em questão.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</BODY>
</HTML>
280
Seção 6
Botão de envio
Os botões de envio orientam o navegador para que envie os dados do formulário
ao servidor. Você deverá incluir pelo menos um botão de envio em cada
formulário. Para criar um botão de envio, use “SUBMIT” como valor do atributo
em uma tag <INPUT>, da seguinte forma.
<INPUT TYPE=“submit”>
Você pode modificar o texto de rótulo do botão usando o atributo VALUE, como
neste exemplo.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<FORM>
</FORM>
</BODY>
</HTML>
281
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</FORM>
</BODY>
</HTML>
282
283
Botões normais
Dentro dos formulários, também podemos colocar botões normais, clicáveis
como qualquer outro botão. Da mesma forma que ocorre com os campos
HIDDEN, estes botões por si só não têm muita utilidade, mas poderemos
necessitar deles para realizar ações no futuro. Sua sintaxe é a seguinte.
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
</FORM>
</BODY>
</HTML>
284
Seção 7
Exemplo completo de formulário
Com esta seção, você finaliza o estudo sobre formulários. Passaremos, agora, a
exemplificar todo o aprendido a partir da criação de um formulário, que consulta
o grau de satisfação dos usuários de uma linha de ônibus fictícia. O formulário
está construído de modo que se enviem os dados por correio eletrônico para um
e-mail determinado.
285
<HTML>
<HEAD><TITLE> </TITLE></HEAD>
<BODY>
<BR>
Sexo<BR>
<BR>
<SELECT NAME=”utilizacao”>
</SELECT>
<BR><BR>
286
<BR><BR>
</FORM>
</BODY>
</HTML>
nome=Frederico Silvestre
e-mail=frede@unisul.com
cidade=Florianópolis
sexo=Masculino
utilizacao=2
receber_info=on
287
Seção 8
Exemplo de um formulário utilizando JavaScript
JavaScript é uma linguagem para páginas web. Os scripts escritos com
JavaScript podem ser colocados dentro das suas páginas HTML. Com JavaScript,
é possível, por exemplo, responder muito facilmente a eventos iniciados pelo
usuário. Desse modo, você pode criar páginas muito sofisticadas com a ajuda
desta linguagem.
Antes de qualquer coisa, vamos criar um script simples, que contém uma função
chamada Enviar(). A página HTML terá dois elementos textuais, um campo texto e
um botão para enviar os dados da caixa de texto para serem processados.
<HTML>
<HEAD>
<TITLE>Cadastro Pessoa</TITLE>
</HEAD>
<SCRIPT language=”JavaScript”>
function Enviar(form) {
document.write(saida);
</SCRIPT>
<BODY>
<FORM>
288
<HR>
</FORM>
</BODY>
</HTML>
Vamos a uma rápida explicação. Todo script é executado dentro das tags
<SCRIPT>...</SCRIPT>. Você pode usar essas tags no seu documento, no lugar
que desejar. Muitos autores declaram os scripts dentro das tags <HEAD> quando
utilizam funções JavaScript, como é o caso do exemplo anterior (foi utilizada a
função Enviar() com o parâmetro FORM). As funções são convocadas por eventos
iniciados pelo usuário. Elas são carregadas antes que o usuário possa fazer
alguma ação que chamará a função.
289
Recapitulando o que foi visto neste capítulo: ressaltamos que os formulários são
de extrema importância no HTML, uma vez que são responsáveis pela interação
entre um usuário e o servidor, possibilitando a troca de dados ou informações.
290
Sabe-se que o desenvolvimento web não termina com as páginas estáticas. Mas,
sim, começa, pois as linguagens de programação web utilizam o HTML embutido
em seu código para gerar as interfaces e a interação com o usuário. Portanto,
é um requisito primordial no desenvolvimento de sistemas web e para todo
profissional de desenvolvimento.
Não se pretende esgotar o assunto referente ao HTML neste material. Mas você
pode
Foi um trabalho longo e de um nível técnico mais elevado, que exigiu de você o
Assim, esperamos que você tenha gostado deste material e desejamos sucesso
no curso.
291
292
GRAHAM, Ian S. HTML 4.0 sourcebook: a complete guide to HTML 4.0 and
HTML extensions. New York: Wiley Computer Publishing, 1998.
PRATES, Rubens. HTML: guia de consulta rápida. São Paulo: Editora Novatec,
1997.
RAMALHO, José Antônio Alves. HTML 4: prático e rápido. São Paulo: Editora
Berkeley, 1999.
WEINMAN, Lynda; WEINMAN, Bill. Design criativo com Html 2: um guia prático
e completo para design na web. Rio de Janeiro: Ciência Moderna, 2002.
WATRALL Ethan, SIARTO Jeff. Use a cabeça Web-Design. São Paulo: Alta
Books, 2009
293
295
Programação
web Básica
com JavaScript para ter alguma interação com o
usuário.
w w w. u n i s u l . b r