Copiei de uma apostila achada no google nesse link:
http://www.dozen.com.br/nakamura/apostila_html2.doc
-------------------------------------------------
Frames
- Frames ou quadros – é um recurso que permite a visualização simultânea de vários arquivos HTML.
- Um deles é o controlador, ou seja, é o que indica onde e como as informações vão ser mostradas, ou, em outras palavras, define as áreas/regiões onde estarão situadas as demais páginas. É também conhecido como “frameset.htm”.
No código abaixo, nós temos um exemplo de página frameset. Lembrando que um frameset nada mais é do que um arquivo HTML que gerencia a visualização de outros documentos, vamos supor que esta seja a Homepage de seu site. Ao acessá-lo, o usuário vai visualizar, simultaneamente, 2 outras páginas HTML: “menu.htm” e “conteudo.htm”:
Exemplo 1 <HTML> <BODY>
<FRAMESET COLS=120,*>
<FRAME SRC="menu.htm" NAME="menu">
<FRAME SRC="conteudo.htm" NAME="principal">
</FRAMESET>
</BODY>
</HTML>
Exemplo 2
<HTML> <BODY>
<FRAMESET ROWS=10%,90%>
<FRAME SRC="menu.htm" NAME="menu">
<FRAME SRC="conteudo.htm" NAME="principal">
</FRAMESET>
</BODY>
</HTML>
Nos códigos acima, estamos criando um sistema de navegação, utilizando Frames, em que uma página contém os links como se fosse um menu de opções (“menu.htm”), e o conteúdo estivesse, inicialmente, em outra página chamada “conteudo.htm”.
No exemplo 1, os frames estarão dispostos em forma de coluna – divisão vertical. (comando “<FRAMESET COLS=120,*>. Veja que a diferença para o exemplo 2 é o uso do termo “COLS” ao invés de “ROWS”, que indica a divisão do frames na horizontal.
Observe que é necessário indicar o nome do Frame (nos exemplos, “NAME=’principal’”). Esse nome será utilizado como referência na hora de se criar um link (veja mais adiante).
Opções para controle de largura do frame:
- “120” – Você pode colocar um valor numérico, representando a medida em pixels. No exemplo 1, a primeira coluna tem 120 pixels.
- “10%” – Pode-se também especificar a medida do frame em valores percentuais em relação ao navegador. No exemplo 2, uma linha que ocupe 10% da altura do frame.
- “*” – O asterisco é um caracter coringa. Ele indica ao navegador para utilizar todos os espaços restantes. Caso haja uma definição do tipo “FRAMESET COLS=*,120,*”, estaremos dizendo para o navegador: “a coluna do meio tem 120 pixels. Divida igualmente os espaços restantes para formar a coluna 1 e a coluna 3”.
Em nosso exemplo, estamos trabalhando o documento “menu.htm” como a página que vai conter a navegação de nosso site. Veja um exemplo de código para ele:
<HTML>
<BODY>
<A HREF="pag2.htm">Link 1</A><br>
<A HREF="pag3.htm" target="_blank">Link 2</A><br>
<A HREF="pag4.htm" target="principal">Link 3</A>
</BODY>
</HTML>
Veja qual o comportamento de cada hyperlink especificado no documento menu.htm, quando o usuário clicar em:
- “Link 1”, o documento “pag2.htm” será aberto no mesmo frame onde está o hyperlink, ou seja, vai substituir a página “menu.htm” no frame.
- “Link 2”, o documento “pag3.htm” será aberto em uma nova janela do navegador.
- “Link 3”, o documento “pag4.htm” será aberto no frame de nome “principal”.
-
IMPORTANTE: lembra-se de que, agora há pouco, eu havia comentado da necessidade de se colocar um nome para cada quadro no frameset? Pois é: na hora de criar um hyperlink, definimos o alvo (target) onde o documento será direcionado.
- Observe que nos três exemplos acima, as diferentes formas de se escrever o hyperlink geraram 3 situações diferentes!
- Outras opções a serem utilizadas em Frameset:
- BORDER=”1” Acrescenta uma borda, definida em pixels, ao redor
do frame.
Utilize-o junto ao comando “”FRAMESET=” - MARGIN=”20” Acrescenta uma margem em cada frame.
Definida em pixels. - SCROLL=”NO” Você pode escolher se quer que apareçam barras
de rolagem (“YES”) ou não apareçam (“NÃO”) em
cada frame.
Você pode, por exemplo, não permitir a visualização de barra de rolagem na página que exibe o menu. No entanto, se a página for maior do que a visualização permite, o usuário terá dificuldades para ver o conteúdo da página!
- Algumas vantagens do recurso Frame
- Você pode fazer uma estrutura de navegação em que alguns documentos encontram-se fora de seu Site, mantendo a impressão, ao usuário, de continuar navegando no seu endereço, já que parte do conteúdo que ele estará vendo é uma página que você fez.
- É uma forma fácil de se criar menus.
- Algumas desvantagens do recurso Frame
- Quando o usuário for imprimir a página, na verdade serão impressos todos os documentos relacionados no frameset.
- Tecnicamente, é um recurso “mais pobre”, devendo ser reservado para casos específicos.
-------------------------------------------------
Espero ter ajudado.
Abraço.