Transcript e HTML
Sumário
World-Wide-Web
A linguagem HTML
Conceitos básicos
Posicionamento
Folhas de estilo
Formulários
GOII 2002 - 1
Perguntas (respostas às 12H10)
Apresentação oral correspondente a uma página A4 (5 min)
Qual o papel e funcionamento do W3C?
Compare os navegadores IE e Opera.
HTML: forma ou conteúdo?
GOII 2002 - 2
Serviços de navegação
São serviços que permitem varrer ou vasculhar
documentos armazenados de forma distribuída
obter texto, som e imagem de uma multiplicidade de fontes
mostrar automaticamente a informação recuperada
guardar uma cópia no disco local
imprimir uma cópia em papel
seguir referências para documentos relacionados, dispensando
o conhecimento exacto do nome do ficheiro e até da máquina
as referências podem mudar de servidor
diferentes dos serviços de recuperação (ftp) que se
limitam a transferir informação sem a mostrar
GOII 2002 - 3
Hipertexto
Misturar as referências (realçadas) com o texto têm a
vantagem de lhes dar contexto e de facilitar uma sequência
natural de consulta
estrutura não-linear
estes documentos designam-se de hipertexto ou hipermédia
texto, áudio, imagem parada ou vídeo, ...
NMP 1998/1999
Alunos
------
------
LEIC Disciplinas
------
Luis
------
Alunos
Rui
------
------
------
Luis
-----Rui
NMP
----------Curso
----------Curso
------
------
GOII 2002 - 4
World Wide Web
Origem: vários grupos de físicos pretendiam gerir a
informação relativa à investigação que desenvolviam
problema: manutenção de documentação sobre as experiências e
acesso à informação
Requisitos
Acesso remoto
• a partir da Internet
Acesso heterogéneo
• plataformas diversas
Não centralizado
• possibilitando a integação de sistemas existentes
Anotações privadas
• ligações e anotações pessoais a informação pública
Possível ligação a aplicações externas
solução: sistema de hipertexto distribuído: teia (web) de
documentos com ligações entre eles
GOII 2002 - 5
World Wide Web
Objectivo fundamental
partilha da informação
• questões de segurança não eram prioritárias
Em 1991, no CERN (Conseil Européen pour la Recherche
Nucléaire)
Em 1993, no NCSA implementou-se o browser Mosaic
Tim Berners-Lee desenvolveu a linguagem HTML
Marc Andreessen e Eric Bina
Lynx (interface alfanumérico)
Em 1994, ficou disponível a primeira versão do Netscape
Serviço mais importante: em 1995 o tráfego WWW
ultrapassou o de FTP
Responsável pela actual expansão da Internet
Em sentido estrito, WWW refere-se ao serviço de navegação
que usa o protocolo HTTP
GOII 2002 - 6
Comunicação Cliente-Servidor
URL
Uniform Resource
Locator
HTTP Hypertext
Transfer Protocol
HTML Hypertext
Markup Language
GOII 2002 - 7
Navegadores
Quem controla as normas da Web é o W3C - World Wide
Web Consortium
O W3C foi formalizado em Dezembro de 1994
Os navegadores mais comuns são o Netscape Navigator e
Microsoft Internet Explorer
Aprofundar: Opera
para além de funcionarem como clientes WWW, também incluem
clientes para os outros serviços (ftp, telnet, mail)
transferem ficheiros ASCII ou HTML que mostram e ficheiros binários
que também mostram se a aplicação ajudante (helper) ou um software
adicional (plug-in ou applet) estiverem definidos, caso contrário
armazenam-nos em disco
interface universal, incluindo bases de dados
http://www.statmarket.com
http://www.browsers.com
GOII 2002 - 8
URL
A localização de um qualquer recurso é definida
num URL - Uniform Resource Locator
serviço://computador/ficheiro
serviço indica o protocolo do servidor pretendido (http, ftp, ...);
se omisso, usa-se o http
computador é a máquina onde corre o servidor
ficheiro é o nome completo do ficheiro pretendido; se omisso,
usa-se habitualmente index.html ou welcome.html
para facilitar a organização das áreas de trabalho
http://tom.fe.up.pt/~ei96023/casa.html corresponde de facto ao
ficheiro ~ei96023/public_html/casa.html
os directórios ~ei96023 e public_html têm que ter permissão x
para todos e o ficheiro casa.html tem que ter permissão r
GOII 2002 - 9
HTML
HyperText Markup Language
é uma linguagem de estruturação de documentos, incluindo recursos
multimédia, e de especificação de ligações, com suporte para outros
serviços, como o ftp e o mail.
é um caso particular da linguagem SGML (Standard General
Markup Language) utilizada em processamento de texto
HTML é definida por um DTD (Document Type Definition) SGML
http://www.w3c.org
A concorrência entre navegadores origina o
aparecimento de extensões à norma
podem amarrar a um navegador e dificultar o acesso através de
outros navegadores
por vezes, as mais usadas acabam por ser incorporadas na versão
seguinte da norma
GOII 2002 - 10
HTML não é
Não é uma ferramenta de processamento de texto
é uma linguagem de anotação de documentos, para
evidenciar a sua estrutura e conteúdo, mais do que a forma,
que pode variar entre navegadores
inclui contudo comandos que afectam a forma, tais como os títulos e as
mudanças de linha
não se devem usar os comandos de estrutura só pelo efeito gráfico que
produzem
não existe
notas de rodapé, sumários e índices automáticos
cabeçalhos e rodapés
tabuladores
listas com sublistas numeradas
tratamento gráfico de equações matemáticas
GOII 2002 - 11
Ferramentas de desenvolvimento
Necessários um editor e um navegador
Métodos de construção de páginas Web
primeiro escrever o texto e depois marcá-lo
• pode usar-se um processador de texto normal e respectivas
ferramentas de correcção ortográfica, etc., e em seguida
acrescentar as marcas sistematicamente (gravar em texto)
• pode recorrer-se à gravação em formato HTML de documentos
MS Office, embora muitas vezes seja necessário afinar o resultado
escrita simultânea do conteúdo e das marcas
• editores que facilitam a geração de código HTML com
visualização num navegador (HomeSite)
• editores WYSIWYG só interessam se for possível chegar
facilmente ao código gerado (Adobe PageMill)
GOII 2002 - 12
Primeiro documento
<html>
<head>
<title>Documento inicial</title>
</head>
<h2>Exemplo</h2>
<body>
Este documento mostra
que
os espaços no código fonte
<!-- observação: esta observação
não aparece no texto -->
são ignorados pelo navegador.
<p>
<i>Introduzi um novo paragrafo.</i>
</body>
</html>
GOII 2002 - 13
Estrutura de um documento
Documento HTML = texto + marcas
armazenado e transmitido como ficheiro de texto ASCII
partes : cabeçalho (título) + corpo
<html>
<head>
<title>Titulo</title>
</head>
<body>
Conteúdo anotado.
</body>
</html>
GOII 2002 - 14
Marcas
As anotações HTML são constituídas por marcas
<nome param1 param2=24 param3=“Valor entre aspas”> texto </nome>
indiferentes a maiúsculas
maior parte delimita uma região com um início e um fim
• há marcas sem fim (ex: <br>)
• nas marcas encaixadas convém manter o escopo hierárquico
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<i>Fica bold <b>a meio.</i>
Deixa de estar</b> bold aqui.
</body>
</html>
GOII 2002 - 15
Função das marcas
as marcas aconselham o navegador a mostrar o
conteúdo segundo uma dada forma, mas não são
imperativas
não se trata de definir disposição de página mas de transmitir
conteúdos
redimensionar a janela muda o aspecto
mas ver CSS
os navegadores ignoram marcas desconhecidas e
tentam ultrapassar erros
respeitar a sintaxe para facilitar o trabalho de analisadores de
texto
embora não exigida, é boa prática incluir a marca <html>
GOII 2002 - 16
Caracteres especiais
Só parte dos 256 caracteres ISO 8859-1 são
representáveis e ainda menos são normalizados
entidade carácter com nome
&nome;
<
>
&
º
×
<
>
&
º
×
á
ê
ì
õ
Ü
entidade carácter numérica
A
A
á
ê
ì
õ
Ü
&#nnn;
•
•
GOII 2002 - 17
Comentários
tudo entre as marcas <!-- eis o comentário -->
não visualizado mas passa no View Source
não está normalizado o encaixe de comentários
(Netscape aceita)
certos navegadores usam os comentários para
incluir comandos específicos para o seu servidor
que outros navegadores não entenderiam
CSS
inclusão de ficheiros do lado do servidor
geração dinâmica de conteúdo
GOII 2002 - 18
Cabeçalho <head>
Descreve propriedades do documento, em marcas
inclusas específicas
<title> - título do documento; topo da janela; nome de bookmark
• única “exigida” no cabeçalho
• importante que descreva o conteúdo e eventualmente dê o contexto, pois
pode-se chegar lá directamente e os indexadores muitas vezes só olham
para o título
<meta> - informação extra; pares nome/conteúdo (não normalizada)
• <meta name=“keywords” content=“engineering, computer science”>
• <meta http-equiv=“charset” content=“iso-8859-1”> faz com que o
servidor envie no cabeçalho do documento MIME que vai para o
navegador
content/type: text/html
(sempre)
charset: iso-8859-1
• automatização: motores de pesquisa, navegadores
GOII 2002 - 19
Divisões e parágrafos
Um texto pode estar estruturado em divisões
resumo, capítulos, secções, anexos, bibliografia, etc.
marca <div> … </div> permite individualizar essas unidades e tratá-las
sistematicamente; por exemplo extrair automaticamente os resumos de
todos os documentos
atributo align= left (omissão), center ou right, posiciona o texto
atributo class= nome permite definir um estilo para a classe nome e usálo sistematicamente
as marcas <div> podem estar encaixadas, para subdivisões, prevalecendo
a mais interior
o texto organiza-se em parágrafos
<p> - muda de linha e adiciona espaço
<p align=center class=citacao> … </p>
<br> limita-se a introduzir uma mudança de linha
</p> é muitas vezes omitido; <p> omitido no primeiro parágrafo
GOII 2002 - 20
Texto estruturado
<div align=right class=introducao>
Introdução: O trabalho presente visa demonstrar a
necessidade de os agricultores se actualizarem.
</div>
<hr>
<div class=capitulo>
Início do capítulo.
<div class=resumocap align=center>
Resumo: este é o primeiro capítulo <br>
e trata da actualização tecnológica.
</div>
A utilização de … dimensão.
<p align=right>
Encostado à direita.<br>
Este é um parágrafo fechado.
</p>
Encostado à esquerda por omissão.
<p align=center> Novo parágrafo.
</div>
GOII 2002 - 21
Títulos de divisões
Separação visual de partes do texto feita com
títulos, linhas, espaçamentos, …
seis níveis de títulos <h1>, <h2>, …, <h6>
<h4> tem o tamanho da fonte normal; escolher para a menor
subdivisão
<h5> e <h6> muito pequenos; só para elementos extra
existem os atributos align e class
manter a consistência na escolha dos níveis
repetir o conteúdo da marca <title> como primeiro título
marcam conteúdo; podem ser mostrados de várias maneiras;
não devem ser usados só para mudar fontes; fim existe sempre
podem incluir texto, imagens, âncoras e mudanças de linha
não devem incluir parágrafos, listas e outros blocos
GOII 2002 - 22
Aparência do texto
Estilos baseados no conteúdo
são marcas que anotam a função especial do elemento e devem
ser mostradas com aparência diferente do texto normal
actualmente são pouco diferenciadas (convertidas para itálico
ou negrito)
sensíveis ao atributo class e têm sempre fim
exemplos mais usados
•
•
•
•
•
<cite> - citação bibliográfica; incluir ligação, se existir; itálico
<code> - código para computador; monoespaçado
<dfn> - definição; útil para produzir índices;
<em> - enfatizar; itálico
<strong> - forte; negrito
GOII 2002 - 23
Aparência do texto
Estilos físicos
são marcas que indicam directamente o aspecto pretendido,
mas não transportam significado
redefiníveis na classe
exemplos
•
•
•
•
•
<b>, <i>, <s>, <u> - negrito, itálico, traçado, sublinhado
<big>, <small> - tamanho relativo; fonte seguinte; encaixável
<blink> - pisca; realça e aborrece
<sub>, <sup> - índice, expoente
<tt> - monoespaçado
GOII 2002 - 24
Exemplo de fontes
GOII 2002 - 25
Código do exemplo
<h2 align=center>Fontes</h2>
<h3>Modelo</h3>
<div>
O HTML usa um esquema de
<dfn>fontes virtuais</dfn>
com
<em>7 tamanhos</em>.
O tamanho por omissão é o
<strong>3</strong>.
A relação entre tamanhos adjacentes é de
20%. A especificação de tamanhos pode ser
absoluta (1..7) ou relativa
(<code>size=+1</code>).
</div>
<h3>Uso</h3>
<div>
Realçar uma expressão com
<big>a marca
<big><big></big>
produz</big>
uma variação relativa encaixada.
<br>
Diminuir tamanho do texto normal com
<basefont size=-1>
<basefont size=-1> passa para 2.
Aqui,
<big><big> fica com 3,</big>
pois a variação é relativa.
<br>
Realçar texto com
<font size=7><font size=7></font>
indica tamanho absoluto.
Este é o <small>mínimo e não adianta
tentar <small>reduzir</small>
mais</small>.
<basefont size=+1>
Os expoentes <b>x</b><sup>2</sup> e
índices
<b>x</b><sub><small>2</small></sub>
não mudam de tamanho automaticamente.
</div>
GOII 2002 - 26
Fontes
Tamanho de uma fonte
marca <basefont> (muitas vezes sem fim)
• <basefont size=+2><basefont size=+1> aumenta o tamanho 3 níveis
marca <font> (sempre com fim)
• <font size=+2><font size=+1> ... </font></font> só aumenta 1
nível, porque é sempre relativo à fonte base
<big> e <small> são encaixáveis
Escolha de fonte
<font face= "Times New Roman, ZapfDingbats, Courier New">
• a fonte escolhida é a primeira que exista no sistema do navegador
Côr
<font color=yellow>Sol</font> ou <font color=#FFFF00>Sol</font>
#FFFF00 significa vermelho e verde no máximo (FF), sem azul (RGB)
GOII 2002 - 27
Côr
Nomes normalizados
aqua (#00FFFF)
gray (#808080)
navy (#000080)
silver (#C0C0C0)
black (#000000)
green (#008000)
olive (#808000)
teal (#008080)
blue (#0000FF)lime (#00FF00)
purple (#800080)
yellow (#FFFF00)
fuchsia (#FF00FF)
maroon (#800000) red (#FF0000)
white (#FFFFFF)
Mapa de cores normalizado
cada côr primária (vermelho, verde e azul) só pode tomar 6 valores de
brilho (00, 33, 66, 99, CC, FF)
o mapa contém apenas 216 cores (6x6x6), mas que não precisam de ser
convertidas: convém usar só estas, para garantir consistência em
navegadores diferentes
GOII 2002 - 28
Controlo de quebras
<br clear=left>
<nobr>
não muda de linha, mesmo que ultrapasse a margem
<wbr>, dentro de um <nobr> dá a oportunidade de quebrar, se já se
tiver ultrapassado a margem
<pre> ... </pre>
muda de linha, mas só recomeça abaixo de qualquer imagem ou tabela
que esteja encostada à esquerda
respeita os espaçamentos e quebras do texto preformatado
útil para quadros e código; monoespaçado
interpreta marcas que não impliquem quebras (fontes, ligações)
<center> ... </center>
principal uso: centrar imagens e tabelas
outros usos: usar atributo align=center noutras marcas
GOII 2002 - 29
Exemplo de quebras
<h4 align=center>Quebras</h4>
<p>Este texto aparece antes da imagem, a qual vai
ser alinhada à esquerda.
<br>
<img src="Gtd.gif" align=left>
Esta frase está na mesma linha da imagem<br>
pelo que fica à sua direita.
<br clear=left>
O parâmetro de limpeza faz ultrapassar a imagem.
</p>
<pre width=30>
Este bocado de texto tem
muitos espaços
e mudanças de linha.
</pre>
GOII 2002 - 30
Réguas
Uma régua (<b><hr></b>) tem
o efeito de uma quebra,
não tem espaço antes nem depois,
e funciona como um separador.
<hr>
Para retirar o efeito 3D, usa-se
<b>noshade</b>.
<hr noshade>
Parâmetros interessantes:<br>
<b>size</b> -- espessura<br>
<b>width</b> -- largura em pixel ou
em % da janela<br>
<b>align</b> -- alinhamento
<hr align=right size=5 width=33%>
Recomenda-se o uso da percentagem para
tornar o aspecto relativo ao tamanho da janela.
<hr align=center size=7 width=33%>
Pode-se mudar a côr.
<hr align=left size=9 width=33% noshade>
GOII 2002 - 31
Formatos de imagem
GIF - graphical interchange format
256 cores
comprime sem perda de informação
ícones e desenhos
visualização de imagem aproximada em 1/4 do tempo
• entrelaçamento de 4 em 4 linhas
transparência
• pixels da côr do fundo são ignorados pelo navegador
animação
• ficheiro GIF pode conter várias imagens mostradas em sequência
JPEG - joint photographic experts group
milhares de cores
maior compressão, com perdas
fotografias
GOII 2002 - 32
Regras de uso
Usar imagens que tenham conteúdo e não apenas
para “colorir” a página
simplificar as imagens
reutilizar imagens
manter cada documento abaixo dos 50KByte
colocar índices com ligações para os documentos relacionados
isolar imagens grandes
ícones podem ficar na cache
dividir documentos grandes
reduzir tamanho, evitar dithering usando cores normalizadas
colocar uma versão reduzida no documento principal
especificar as dimensões
GOII 2002 - 33
Marca <img>
Atributos
src - URL absoluto ou relativo da localização do ficheiro gráfico
lowsrc - URL de uma imagem de carregamento mais rápido
alt - texto a mostrar caso a imagem não o seja
align - posiciona o texto relativamente à sua linha
• top, middle, bottom - acerta a linha com o topo da imagem, o meio
ou o fundo (varia do Netscape para o IE)
• left, right - encosta a imagem e põe o texto a envolvê-la
centrar - usa-se a marca <center> ou o atributo de <p>
border - espessura do caixilho; 0 elimina, o que pode prejudicar
a identificação dos que possuem ligações
height e width - dimensão em pixel, acelera o carregamento; é
usada para reservar espaço e para escalar as imagens
hspace, vspace - número de pixels extra na horizontal e vertical
GOII 2002 - 34
Exemplos de imagens
<p align=center>Eis o <img src="Gtd.gif"> dono do carro.</p>
<img src="carro.jpg" align=left alt="Carro da esquerda" border=0 width="25%">
<img src="carro.jpg" align=right alt="Carro da direita" border=5 width="25%"
height=80 hspace=10 vspace=10>
Especificar a largura ... a imagem.
GOII 2002 - 35
Mapas
<h4 align=center>Mapa</h4>
<p align=center><img src="mundo16.gif" width="35%” usemap="#mundo16"></p>
<map name="mundo16">
<area coords="30,70,70,140" href="AmericaLatina.html">
<area coords="90,30,150,130" href="Africa.html">
</map>
GOII 2002 - 36
Mapa sensitivo
O atributo usemap faz com que uma imagem fique
sensível à passagem do rato
definindo na marca <map> correspondente as
coordenadas de certas áreas e respectivas ligações,
pode usar-se a imagem como índice gráfico
este processamento é da responsabilidade do cliente
0,0
90,30
30,70
70,140
150,130
GOII 2002 - 37
A marca <body>
Cores
fundo: bgcolor
texto: text
ligação: link
ligação visitada: vlink
ligação activa: alink
Nota: mudar as cores pode confundir o leitor
Fundo
no atributo background indicar um URL de uma imagem
pequena que é replicada automaticamente até preencher todo o
fundo
GOII 2002 - 38
Atributos do corpo
<body bgcolor="yellow" text="red" background="mundo08.gif">
Um mau exemplo de valores para os atributos do corpo, pois obscurece a leitura.
GOII 2002 - 39
Desenho do documento
Três marcas para controlar posicionamento geral
Espaçamento
vertical, horizontal, rectangular
<spacer>
Colunas
definidas no navegador da Netscape
<multicol>
Camadas (Netscape v4.0)
localização precisa de páginas independentes sobrepostas
<layer> - página completa
<ilayer> - camada dentro da linha, relativa
acrescenta nova dimensão ao HTML
GOII 2002 - 40
Abertura de espaços
Primeiro, um exemplo de definição de um bloco de espaço.
<p align=center>
Norte<br>
Oeste
<spacer type=block width=50 heigth=50 align=absmiddle>
Leste.<br>
Sul
</p>
Agora, espaço vertical.
<hr noshade>
<spacer type=vertical size=50>
<hr noshade>
E termina com
<spacer type=horizontal size=50>
espaço horizontal.
GOII 2002 - 41
Colunas
<h2 align=center>Texto em colunas</h2>
<multicol cols=3 gutter=15 width=90%>
<p>A marca <multicol> tem os atributos <i>gutter</i>- espaço entre
colunas e <i>width</i>- dimensão total absoluta ou relativa à janela.<\p>
<p>O efeito de várias colunas pode ser simulado com recurso a tabelas.</p>
</multicol>
<hr align=left size=12 width=90% noshade>
GOII 2002 - 42
Camadas
Uma camada é um documento HTML
<layer> … </layer>
atributo src vai buscar conteúdo a URL sem <head> ou <body>
sem posicionamento, é incluída no fluxo normal
posicionamento (top, left) relativo ao canto superior esquerdo do
documento ou da camada que contenha uma camada inclusa
as camadas são transparentes, a menos que se defina bgcolor ou
background
atributo name se for necessário referir a camada
camadas sucessivas, ao mesmo nível, são postas por cima das
anteriores; above, below, z-index controlam sobreposição
pode-se controlar a visibilidade com JavaScript (camadas inclusas
herdam as propriedades da que as contém)
<ilayer> - camada dentro da linha, cujo posicionamento é relativo ao
ponto do fluxo em que é definida
GOII 2002 - 43
Exemplo de camadas
<layer name=titulo2>
<h2 align=center>Efeito de sombra</h2>
</layer>
<ilayer top=2 left=2 above=titulo2>
<h2 align=center>
<font color="gray">
Efeito de sombra
</font></h2>
</ilayer>
<ilayer>
<layer left=180, top=25>
<img src="Gtd.gif" width=30>
</layer>
<img src="carro.jpg" width=300>
</ilayer>
<br>Uma camada <layer> não ocupa
… para o seu sítio.
GOII 2002 - 44
Tipos de endereços
Usa-se um URL para identificar um recurso
FTP- ftp://utilizador:senha@servidor:porta/caminho;type=tipo
• tipo: i - binário, a - ascii, d- directório
notícias- nntp://servidor:porta/grupo/artigo
correio- mailto:utilizador@servidor
terminal remoto- telnet://utilizador:senha@servidor:porta
gopher- gopher://servidor:porta/caminho
ficheiro- file://servidor/caminho
• local: file:///C|/caminho ou file://localhost/caminho
código- javascript:instruções
Web- http://servidor:porta/caminho#fragmento
http://servidor:porta/caminho?pesquisa
• usar apenas caracteres 0-9, A-Z, a-z, $-_.+!*’(),
• codificar os outros em hexadecimal (US-ASCII)
• exemplos: / - %2F, ? - %3F, (espaço) - %20, “ %22
GOII 2002 - 45
Âncoras e ligações
Uma âncora identifica um ponto do documento
<h3><a name="capitulo2">Revisão bibliográfica</a></h3>
Uma ligação permite indicar ao navegador qual o
documento a mostrar a seguir
... após o que se apresenta uma
<a href="http://alf.fe.up.pt/relatorios/rel29.html#capitulo2">
revisão bibliográfica</a> sobre ...
Neste formato indica-se, para além do documento, qual o
fragmento que se pretende visualizar
O corpo da marca é a parte visível da ligação;
apresenta-se realçada; deve ser suficientemente
explicativa para se compreender o conteúdo desse
documento, mesmo sem se ler o contexto
GOII 2002 - 46
Atributos da marca <a>
onClick, onMouseOver, onMouseOut
valor é sequência de instruções JavaScript
... caiu do <a href=fotografia1.jpeg
onMouseOver= "window.inbox='Barco rabelo no Douro';return true"
onMouseOut= "window.inbox=' ';return true"
title="Barco rabelo">barco</a> e nadou ...
mostra e apaga na barra de estado o conteúdo do link
atributo title pode ser usado pelo navegador para
dar um título à janela que só mostra uma fotografia
atributos rel e rev definem significado das relações
directa e inversa entre origem e destino da ligação
meta-informação, apoio à automatização
exemplos: next, prev, head, toc, parent, child, index, glossary ...
GOII 2002 - 47
Endereços relativos
Omitir partes de endereço completar com
as partes correspondentes do documento actual
a parte de endereço contida na marca <base>
Exemplos:
<!-- servidor: tom.fe.up.pt doc: /relatorios/rel29/capa.html -->
<a href=#morada>
• refere-se ao fragmento com âncora morada no doc capa.html
<a href=imagens/minhafoto.html>
• http://tom.fe.up.pt/relatorios/rel29/imagens/minhafoto.html
• permite mover o relatório 29 para outro directório ou servidor sem
quebrar as ligações
se tiver <head> <base href="/relatorios/capas"></head>
• <base> só se define no cabeçalho e altera os endereços relativos
<a href= logotipo.html>
• http://tom.fe.up.pt/relatorios/capas/logotipo.html
• abrindo um doc com file, todos os URL relativos ficam file
GOII 2002 - 48
Estilos de ligações
Listas de ligações
listas de descrições de itens contendo ligações
ligações dispersas auto-descritivas
evitar chamadas do tipo CARREGUE AQUI!
usar imagens pode ser pouco descritivo
acrescentar mensagem explicativa na barra de estado
imagens sensíveis
ismap - processamento do lado do servidor pelo programa
indicado em href implica ter a imagem no corpo de <a>
usemap - processamento no cliente
<area shape= circle coords="20,30,10" href=liga1.html>
• circle, polygon, rectangle; href e nohref
GOII 2002 - 49
Listas
Tipos de listas
listas não ordenadas (<ul>)
• atributo type controla o aspecto do símbolo (disc, circle, square)
listas ordenadas (<ol>)
• atributos start e value para controlar a numeração
• atributo type controla o aspecto do símbolo (1, A, a, I, i)
menus (<menu>) e directórios (<dir>)
• habitualmente tratados como listas não ordenadas de itens curtos
item de uma lista
definições (<dl>)
<li>
<dt> … <dd> … (nas listas de definições)
as listas podem ser
compactadas (compact)
encaixadas
start=n indica o número inicial; value=n altera o valor corrente
GOII 2002 - 50
Exemplo de listas
<ol type=A>
<li>Vertebrados
<ol type=1>
<li>Mamíferos
<ul>
<li> Primatas.
<li type="disc"> Cetáceos.
</ul>
<li> Aves
</ol>
<li value="3"> Invertebrados.
</ol>
<dl>
<dt>Coisa <dd>O que se chama
a um objecto na falta de melhor.
<dt>Objecto <dd>O que se chama
a uma coisa quando não ocorre outra.
</dl>
GOII 2002 - 51
Tabelas
<table> - delimita a definição da tabela
<tr> - informação organizada por linhas
<th> - cabeçalho de coluna ou de linha
<td> - conteúdo de uma célula
Limitações
não alinha conteúdos de células diferentes
o controlo da espessura dos caixilhos é limitado
não há a noção de cabeçalho de repetição
GOII 2002 - 52
Tabela simples
<table>
<tr>
<th>Exame</th>
<th>Nota</th>
<th>Final</th>
</tr>
<tr>
<td>Ana</td>
<td>10</td> <td>11</td>
</tr>
<tr>
<td>Zé</td>
<td>12</td> <td>15</td>
</tr>
<tr>
<th>Média</th>
<td>11</td> <td>13</td>
</tr>
</table>
GOII 2002 - 53
Tabela mais elaborada
Como construir?
Quantos elementos são definidos na 2ª linha?
É possível incluir uma outra tabela num <td>?
GOII 2002 - 54
Código da tabela
<table align="center"bgcolor="#FFFF00"
border cellspacing="2" cellpadding="5"
width="50%">
<caption align="bottom"><small>
Tabela 1. Estatísticas.</small></caption>
<tr>
<td rowspan="2" colspan="2"></td>
<th colspan="3" align="center">
Demografia</th>
</tr>
<tr>
<th>Homens</th>
<th>Meninas</th>
<th>Prof</th>
</tr>
<tr align="center">
<th rowspan="2">Turmas</th>
<th>A</th>
<td>20</td>
<td>5</td>
<td><img src="Gtd.gif"></td>
</tr>
<tr align="center">
<th>B</th>
<td>21</td>
<td>3</td>
<td>idem</td>
</tr>
<tr align="center">
<th colspan="2">Total</th>
<td>41</td>
<td>8</td>
<td>49</td>
</tr>
</table>
GOII 2002 - 55
Atributos das tabelas
<caption> ... </caption> define a legenda
align (center, left, right)
em <table> controla a tabela; left e right dá texto a contornar
em <tr>, <th>, <td> controla as células individuais
bgcolor - côr do fundo
border - caixilho; cellspacing espaço intercelular;
cellpadding espaço intracelular
width - largura, absoluta ou relativa
align= top ou bottom
pode-se indicar a percentagem que cada coluna gasta do total
heigth - altura
colspan, rowspan - estende influência da célula
GOII 2002 - 56
Tabelas em HTML 4.0
<table>; <caption>; <tr>; <th>; <td>
HTML 4.0:
<col>; <colgroup>; <thead>; <tfoot>; <tbody>
as linhas e colunas podem ser agrupadas permitindo um maior
controlo da apresentação da tabela no ecrã
Estrutura
<table>
<caption>…</caption>
<colgroup>…</colgroup>
<thead>…</thead>
<tbody>…</tbody>
<tfoot>…</tfoot>
</table>
GOII 2002 - 57
Exemplo de tabela em HTML 4.0
<TABLE BORDER="1" FRAME="BOX"
RULES="GROUPS">
<CAPTION>Exemplo</CAPTION>
<COLGROUP><COL></COLGROUP>
<COLGROUP>
<COL ALIGN="CENTER">
<COL ALIGN="CHAR" CHAR="$">
</COLGROUP>
<THEAD>
<TR>
<TH
BGCOLOR="YELLOW">Fruta</TH>
<TH
BGCOLOR="YELLOW">Cor</TH>
<TH BGCOLOR="YELLOW">Custo
por quilo</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>Uvas<TD>Branco<TD>200$00
</TR>
<TR>
<TD>Cerejas<TD>Vermelho<TD>350$00
</TR>
<TR>
<TD>Kiwi<TD>Castanho<TD>400$00</TD>
</TR>
</TBODY>
<TFOOT>
<TR>
<TH COLSPAN=3>Exemplo de uma
tabela</TH>
</TR>
</TFOOT>
</TABLE>
GOII 2002 - 58
Quadros
Documento com a marca <frameset> divide a janela
em quadros, proporcionais ou absolutos
podem encaixar-se outros conjuntos de quadros
não existe a marca <body>
* nas dimensões vale por resto (noresize para impedir distorção)
framespacing e border definem espaçamento e moldura
marca <frame> só aparece num <frameset>
define com <src> qual o documento a ser mostrado nesse quadro
os quadros são preenchidos coluna a coluna e depois linha a linha
quadro sem <src> fica vazio
conflitos: o título da janela é o do último quadro
noresize impede de modificar as dimensões
scrolling=no impede o aparecimento de barras de deslocamento
GOII 2002 - 59
Controlo de quadros
o atributo name num quadro ou janela permite a outro quadro
ou janela alterá-lo, incluindo esse nome no atributo target de
uma ligação
se o quadro ou janela não existir, é criado
alvos especiais
_blank : nova janela
_self : o próprio quadro ou janela origem (valor por omissão)
_parent : o conjunto de quadros ou a janela que contém o quadro
origem (igual a _self se a origem já for a janela)
_top : substitui todo o conteúdo da janela que contém a origem
pode-se especificar um alvo comum na <base>
<base target="docs">
<base target=_top> garante que todas as ligações para docs fora do
sítio ocupam toda a janela, em vez de aparecerem num quadro (indicar
o quadro em cada referência local)
GOII 2002 - 60
Conjunto de quadros
<html>
<head>
<title>Quadros</title>
<base target="_top">
</head>
<frameset rows="30%,*">
<frame name="cimo" src="e16cimo.html"
scrolling="no" frameborder="1" noresize>
<frameset cols="50%,*">
<frame name="indice" src="e17indice.html"
frameborder="1">
<frame name="docs" src="dali-ovo.gif">
</frameset>
</frameset>
<noframes>Azar. Precisa de um navegador melhor!</noframes>
</html>
GOII 2002 - 61
Quadros
e16cimo.html
<html>
<head>
<title>Cimo</title>
</head>
<body>
<h2><img src="mundo08.gif"
align=middle> Documento
com quadros</h2>
</body>
</html>
<html>
e17indice.html
<head>
<title>Listas</title>
<base target="_top">
</head><body>
<ul>
<li>Algumas imagens
<ul>
<li><a href="dali-ovo.gif"
target="docs">Ovo</a>
<li><a href="dali-última ceia.jpg"
target="docs">Ceia</a>
<li><a href="garrafa.gif"
target="docs">Garrafa</a>
</ul>
<li><a href="mundo16.gif"
target="docs">Mundo</a>
<li><a href="e00Teste.html">Fim</a>
</ul>
</body></html>
GOII 2002 - 62
Exemplo com quadros
GOII 2002 - 63
A evitar
Colocar <base target=_top>
GOII 2002 - 64
Atributos nucleares
Atributos que podem aparecer em todas as marcas
Interesse em particular para suportar estilos
ID
<P ID=“PrimeiroParagrafo”>Este é o início</P>
• Cria identificador
<A href=“#PrimeiroParagrafo”>Salta para o início</A>
• Salta para lá
• Substitui a função de âncora do A
#PrimeiroParagrafo {color: gray}
• Numa folha de estilos
CLASS
Permite a subdivisão de marcas por categorias
<P CLASS=“definicao”>Ave é um animal que...</P>
GOII 2002 - 65
Atributos nucleares (cont.)
STYLE
TITLE
Contém informação sobre a forma de apresentação, separadamente
da informação sobre a estrutura do documento
<P STYLE=“font-size: 18pt”>Grande</P>
Associa texto informativo a uma marca
<P TITLE=“Autor = GTD”>Texto...</P>
Marca SPAN
Limita-se a marcar uma zona do documento e serve para associar
atributos
<P>No zoo há uma <SPAN CLASS=definicao>ave</SPAN>.</P>
GOII 2002 - 66
Folhas de estilo
Forma está a tornar-se importante, a par do conteúdo
Sistematizar o design de uma colecção de
documentos implica definições de estilo
CSS - Cascading Style Sheets
âmbito das definições
folha de estilo
• acessível a uma colecção inteira de documentos
marca <style> no cabeçalho de um doc
• geral para todo o documento
atributo style em marcas específicas
• activo dentro da marca
mais específico prevalece (daí o cascading)
em caso de empate, o mais recente
GOII 2002 - 67
Acesso às definições
Marca <link>
Estilo ao nível do documento
serve como meta-informação para documentar as ligações entre
documentos: atributos href, rev, rel
usada para ligar folhas de estilo, com rel=stylesheet
pode existir mais do que uma (Netscape)
marca <style>
para não perturbar navegadores sem estilos, as definições de
estilo são metidas dentro de comentários HTML
convém documentar as definições, com comentários /* */
importar CSS
previsto na norma CSS @import url(folha.css), mas não
funciona nos navegadores actuais
GOII 2002 - 68
Uso de estilos
<html>
/* estilogeral.css */
<head>
H1 {color: blue; font-style: normal}
<title>Estilos</title>
<link rel=stylesheet href="estilogeral.css" type="text/css">
<link rel=stylesheet href="estilotitulos.css" type="text/css">
<style>
<!-- /* pinta de vermelho */ H1 {color: red} -->
</style>
</head>
/* estilotitulos.css */
<body>
<h1 align=center>Título definido com CSS</h1>H1 {color: green; font-style: italic}
<p align=center>Eis o
<a href="e19Frames.html">dono</a>
do carro.</p>
<h1 style="color:yellow; font-style:normal">Título definido localmente</h1>
<p>Parágrafo à esquerda.</p>
</body>
</html>
GOII 2002 - 69
Resultado
GOII 2002 - 70
Elementos de sintaxe
Forma básica
aplicar a várias marcas
marca {prop1:valor1; prop2:valor2 valor3; …}
H1 {font-style : italic}
H1, H2, H3, H4, H5, H6 {font-style : italic}
aplicar só em contexto
OL LI {list-style: upper-alpha}
OL OL LI {list-style: upper-roman}
OL OL OL LI {list-style: lower-alpha}
• item numa lista de nível 3 identificado com letras minúsculas
H1 EM, P STRONG {color: red}
P UL STRONG {color: blue}
• caso vários contextos sejam aplicáveis, usar o mais específico
GOII 2002 - 71
Classes
Uma classe define um conjunto de propriedades para
uma marca
permite vários estilos para a mesma marca
P.resumo {font-style: italic; left-margin: 0.5cm; right-margin: 0.5cm}
P.equacao {font-family: Symbol; text-align: center}
usam-se definindo o atributo class na marca
<p class=resumo>Este texto destina-se…</p>
classes genéricas aplicam-se a várias marcas
.corrigido {color: red}
<em class=corrigido>nabissa</em>
as classes herdam as propriedades da marca base
não há herança entre classes
especificar bastante a marca, e definir classes que só alteram o
específico
GOII 2002 - 72
Uso de classes
<html><head>
<title>Estilos</title>
<link rel=stylesheet href="estilogeral.css" type="text/css">
</head>
<body>
<h1>Associações</h1>
<p class=resumo>Eis o
<a href="e19Frames.html">dono</a>
do carro. Ele pertence a várias associações profissionais sem que no
entanto tire daí grandes benefícios.</p>
<p class=equacao>x + a/2 = 0</p>
Há que repensar as respectivas funções e métodos de trabalho para
ver se se consegue reverter a situação.
<p class=corrigido>As associações desportivas são normalmente mais
participadas e os sócios empenham-se mais nas suas actividades.</p>
</body></html>
GOII 2002 - 73
Resultado
Estilo
H1 {color: blue; font-style: normal}
P {font-weight:bold}
P.resumo {font-style: italic; margin-left: 0.5cm; margin-right: 0.5cm}
P.equacao {font-family: Symbol; text-align: center}
.corrigido {color: red}
GOII 2002 - 74
Propriedades nos estilos
Grupos de propriedades definíveis
Norma
fontes, cores e fundos, texto, caixas e disposição, listas, marcas
http://www.w3.org/TR/REC-CSS1
Referências
HTML The Complete Reference, Thomas A. Powell (Osborne)
• http://www.htmlref.com
Tutorial (CERN)
• http://alf.fe.up.pt/~lmr/mgi/css/
Tutorial (John Allsopp of Western Civilisation)
• http://www.westciv.com/style_master/academy/css_tutorial/
GOII 2002 - 75
Modelo de formatação
beira
exterior
esquerda
beira
interior
esquerda
beira
interior
direita
margem caixilho enchimento
esquerda esquerdo à esquerda
beira
exterior
direita
enchimento caixilho margem
à direita direito direita
topo
margem superior
conteúdo
caixilho superior
enchimento
superior
topo
interno
enchimento
inferior
fundo
interno
caixilho inferior
margem inferior
fundo
GOII 2002 - 76