Curso de html para Cegos. Aula 9 - Frames.
Para compreender os distintos conceitos vamos criar uma página com frames. O
da esquerda vai servir de índice do que vamos ver a direita, e veremos
inicialmente uma página de apresentação que será o default enquanto
nenhum link do índice for acionado. Poderemos aceitar também aqui uma
página pessoal criada nas aulas anteriores, quando teclamos sobre o frame
da esquerda.
Documento de definição dos frames.
A primeira coisa que temos que fazer é criar uma página HTML em que
definiremos quantas zonas existirão, que distribuição e tamanho, e qual
vai ser o conteúdo de cada uma delas.
No nosso exemplo, a página vai ter dois frames distribuídos em colunas e
com respeito ao tamanho, queremos que o primeiro (esquerda) ocupe 20% e o outro
os 80% restantes.
Com relação ao conteúdo, o frame da esquerda vai conter a página HTML que
vai servir de índice do que veremos no outro (vamos chamá-lo de
indice.htm), e o da direita outro documento HTM que vai servir de página
de apresentação (apresent.htm).
O código HTML seria o seguinte:
<HTML>
<FRAMESET COLS="20%, 80%">
Observe o seguinte:
* É uma página parecida com as que conhecemos até agora. A diferença
está em que em vez de utilizar a etiqueta BODY, que serve normalmente para
delimitar o que se vai ver na tela, se faz uso da etiqueta FRAMESET
(defineção de frames).
* Neste caso, com a etiqueta <FRAMESET COLS="20%, 80%> se definiu que haverá
dois frames em colunas (horizontal). Se quisermos linhas (vertical), colocamos ROWS. Também se
define o espaço que será ocupado por cada coluna ou fileira. São definidos
por percentual da tela que cada frame vai ocupar, porém poderíamos colocar
um número absoluto, que representaria a quantidade de pixels.
* Já foi definido o número de frames, sua distribuição e seu tamanho, por
isso só faltaria definir o conteúdo de cada frame. O código foi o
seguinte:
<FRAME SRC="indice.htm">
Com isto definimos que o conteúdo do primeiro frame (esquerda) será o
indice.htm e o seguinte (direita) será o apresent.htm.
* Observe que a etiqueta do segundo frame tem incluído o atributo
NAME="principal", porém não tem no primeiro. O motivo é que só
necessitamos dar nome ao segundo frame, pois, como veremos adiante, no
documento do primeiro frame vai ter uns links que vão ser dirigidos para
lá. Neste caso só temos dois frames, porém poderia haver mais, e é
necessário distinguirmos uns dos outros. O primeiro não necessita de nome,
pois não vai receber links do segundo frame, já que estará sempre
presente à esquerda de todos os links carregados à direita.
Este documento vamos chamar de miframes.htm, porém não vamos guardá-lo, pois
falta acrescentar algo que veremos mais adiante.
Páginas HTML de cada Frame.
Necessitamos agora confeccionar a página HTML de cada frame.
Página do frame da esquerda:
Vai ter um fundo cinza, e vai conter os links dirigidos para o frame da
direita. Além disso, podemos colocar qualquer coisa em um frame, vamos incluir
esta imagem animada de e-mail, a email.gif:
<HTML>
<BODY BGCOLOR="#c0c0c0" text="#000088" link="#000066">
</BODY>
Dentro das etiquetas dos links podemos observar algo novo, o atributo TARGET,
para que o link ao ser acionado, não carregue no próprio frame e sim em outro,
precisamente com o de nome no documento de definição dos frames (principal).
No nosso caso, demos o nome de "principal" ao frame da direita onde serão
carregados os documentos HTML (apresent.htm).
Guardamos este documento com o nome de indice.htm.
Página do Frame da Direita:
Terá as cores do indice e vai conter somente um texto.
posteriormente vamos acrescentar mais coisas.
<HTML>
<BODY BGCOLOR="#c0c0c0" text="#000088" link="#000066">
Guardamos este documento com o nome de apresent.htm.
Alternativa para Navegadores que Não Suportam Frames.
Como visto anteriormente, já temos as três peças que
necessitamos:
<HTML>
<FRAME 1 ....>
<NOFRAMES>
Observe que dentro da etiqueta <NOFRAMES> temos as etiquetas <BODY> e </BODY>,
porém é somente para esta página de advertência.
No nosso exemplo, vamos colocar uma mensagem advertindo esta circunstância, e
dirigindo o usuário, com um link normal, para a página indice2.htm.
Esta deve ser uma réplica da indice.htm, porém sem as etiquetas
frameset e com as etiquetas body, além da deleção dos atributos target.
(Poderíamos não colocar nada de frames e colocar aqui o código da página de
apresentação, porém acrescentando-se um link para indice2.htm, para que se
possa acessá-la).
<NOFRAMES>
<P> <A HREF="indice2.htm"> Minha página </A>
</BODY>
Ao incluirmos esse pedaço dentro do documento de definição dos frames, que vimos
anteriormente, fica desta maneira:
<HTML>
<FRAMESET COLS="20%, 80%">
<FRAME SRC="indice.htm">
<NOFRAMES>
</BODY>
Agora podemos guardar este documento com o nome de aula9.htm.
Atributos da Etiqueta FRAMESET.
A etiqueta FRAMESET, como vimos no nosso exemplo, é a que define a
distribuição, o número e o tamanho dos frames. Tem dois atributos: COLS
(colunas) e ROWS (fileiras):
<FRAMESET COLS="xx, yy, zz, ..">
* Define a distribuição dos frames em colunas ou fileiras, usamos um ou
outro atributo.
<FRAMESET COLS="xx, yy"> (dois frames em colunas, o xx e o
yy).
* Define o tamanho dos frames, segundo o valor que dermos a xx, yy, zz ...
Este valor podemos expressar em:
Frames sem Bordas.
Se desejarmos que não haja borda de separação entre os frames, devemos incluir
o atributo FRAMEBORDER=0 dentro da etiqueta FRAMESET. Nem todos os navegadores
implementam este atributo.
Para que desapareçam também os vãos de separação entre os frames temos que
acrescentar outros dois atributos (o primeiro para o Internet Explorer e o
segundo para o Netscape): FRAMESPACING=0 e BORDER=0. A etiqueta completa
seria:
<FRAMESET FRAMEBORDER=0 FRAMESPACING=0 BORDER=0 COLS="xx, yy">
Atributos da Etiqueta FRAME:
Esta etiqueta define as características de um frame concreto, no conjunto dos
frames, como era o caso com a etiqueta <FRAMESET>. Podemos ter os seguintes
atributos dentro da etiqueta <FRAME>:
* SRC="direção". Esta direção pode ser para um documento HTML ou URL.
Com este atributo indicamos o que se carregará inicialmente dentro do
frame.
Se não colocarmos este atributo o frame aparecerá vazio, porém
terá as dimensões definidas.
O Atributo TARGET.
No nosso exemplo vimos que, como queríamos, os links surtem efeito em outro
frame, não nele mesmo, pois foi colocado o atributo TARGET="principal", sendo
"principal" o nome do segundo frame, no documento de definição dos frames.
Estes nomes podem ser qualquer um, desde que o primeiro caracter seja
alfanumerico (letra ou número).
Porém, existem nomes reservados (que não podem ser usados para denominar um
frame), pois fazem este atributo efetuar funções especiais. Estas palavras
reservadas, para que surtam efeito, devem ser escritas em
minúsculas:
TARGET="_blank". Para abrir uma nova copia do navegador e o link ativo se
carrega nela.
Abaixo essa aula em formato txt:
|