Frame

Un frame (o un marco) es una ventana dentro de la ventana general del navegador.

Cada marco es independiente con sus bordes y sus barras de desplazamiento.

Se crean desde un documento HTML específico, que se llama documento de definición de marcos. En él se especifica el documento HTML que contendrá, su posición y el tamaño.

Un ejemplo:

<HTML>
<HEAD>
  <TITLE>Esto es un ejemplo de definición de marcos</TITLE>
</HEAD>
<FRAMESET COLS="30%,70%">
  <FRAME NAME="marco1" SRC="ejemplomarcos1.html">
  <FRAME NAME="marco2" SRC="ejemplomarcos2.html">
</FRAMESET>
</HTML>

La cabecera de la página es similar a un documento normal, aunque BODY es sustituido por un FRAMESET.

A cada frame se le define el nombre del frame y la página dentro de etiqueta <FRAME>.

Etiqueta <FRAMESET>

En cada FRAMESET se divide la ventana actual (la general o otro marco) en varias ventanas definidas por el parámetro COLS o por ROWS, separados por comas. Aparece el número de marcos y el tamaño de cada uno.

A los parámetros COLS y ROWS se les asignan una lista de tamaños separada por comas. Tenemos los siguientes formatos para el tamaño:

<FRAMESET COLS="20%,3*,500,*">

Las etiquetas <FRAMESET> se pueden anidar utilizando otro <FRAMESET> :

<FRAMESET COLS="30%,70%">
  <FRAME NAME="marcos1" SRC="ejemplomarcos1.html">
  <FRAMESET ROWS="*,80">
    <FRAME NAME="marcos2" SRC="ejemplomarcos2.html">
    <FRAME NAME="marcos3" SRC="ejemplomarcos3.html">
  </FRAMESET>
</FRAMESET>

Etiqueta <FRAME>

Detro de esta etiqueta tenemos los siguientes parámetros:

NAME Nombre a un marco.
SRC Dirección del documento HTML para el marco.
SCROLLING Si se colocan o no barras de desplazamiento al marco para que podamos movernos dentro de él. YES o NO.
NORESIZE Si se especifica el usuario no podrá cambiar de tamaño el marco.

Acceso a otros marcos

Si se pulsa sobre un enlace situado dentro de un marco, por defecto la nueva página la veremos encerrada en ese mismo marco. Si se quiere que se abra en el otro marco hay que indicarlo. Esto se hace con el parámetro TARGET.

Este parámetro se puede colocar dentro de la etiqueta <A>.

Por ejemplo:

<A HREF="nuevapagina.html" TARGET="marcos1">

Como valores que se utilizan dentro del parámetro TARGET:

_top
Se eliminan todos los marcos existente y muestra la nueva página en la ventana original sin marcos.
_blank
Se muestra la nueva página en una ventana nueva y sin nombre en el navegador.
_self
Se muestra la nueva página en el marco donde está declarado el enlace.
_parent
Se muestra la nueva página en el <FRAMESET> que contiene al marco donde se declara el enlace.