Los frames (marcos o cuadros) permiten dividir la ventana
en varias más pequeñas, de modo que en cada una de ellas se
cargua una página html distinta. Las versiones más antiguas
de los navegadores no tienen implementada esta
característica, por lo que no podrán verlos.
Sintaxis
Los frames se declaran con la etiqueta <FRAMESET>, que debe ser colocada antes de la etiqueta <BODY>. Si
no se cumple este requisito, la etiqueta se ignorará.
Un ejmplo sencillo es el siguiente: (puedes ver el ejemplo
real pulsando aquí)
<HTML>
<HEAD><TITLE> Título de la página </TITLE></HEAD>
<FRAMESET ROWS=75,*>
<FRAME SRC="frames1.htm" >
<FRAME SRC="frames2.htm" >
</FRAMESET>
<NOFRAMES>
<BODY>
Lo siento,su navegador no soporta frames.
Pulse <a href="frames1.htm>aquí </A>
para acceder a los contenidos de estas
páginas.
</BODY>
</NOFRAMES>
</HTML>
EL atributo ROWS (filas)
es el que define el número y el tamaño de los frames, en
este caso dos filas, de 75 píxels la primera y el resto de
la ventana la segunda. También se puede dividir en columnas
mediante COLS
El tamaño de los frames se puede
especificar de más formas:
COLS=*,5* dos columnas, la segunda cinco veces mayor
que la primera
COLS=150,*,150 tres colunmas, la primera y tercera de 150
píxels, la segunda ocupa el resto.
ROWS=20%,80% dos filas que ocupan el 20 % y el 80 % del
espacio respectivamente.
Las etiquetas NOFRAMES y BODY solamente
se usan por cortesía, de hecho se pueden suprimir.
Las etiquetas FRAME SRC="frames.htm" cargan las página indicadas en el frame
correspondiente.
También es posible anidar frames,
llamando a una página que tenga de nuevo frames o bien
declarándolo explicitamente. Un ejemplo de esto último es
el que aparece abajo (el real aquí )
<FRAMESET COLS=20%,*>
<FRAME SRC="frames1.htm">
<FRAMESET ROWS=20%,*>
<FRAME SRC="frames2.htm">
<FRAME SRC="frames3.htm">
</FRAMESET>
</FRAMESET>
Este código divide la ventana en dos columnas, la primera
del 20 % del ancho total, y la segunda queda dividida a su
vez en dos filas, siendo la primera de ellas un 20 % del
total
El atributo TARGET
Lo más interesante de los frames es
la posibilidad que tienen de interactuar entre si, es decir
pulsar un enlace en el frame 1 y cargar el contenido en el
frame 2.
Para conseguir esto hay que darle un nombre a los frames y
luego indicar en el enlace donde se va a cargar mediante el
atributo TARGET. Veamos un ejemplo
<HTML>
<HEAD><TITLE> Frames --Ejemplo 3--</TITLE></HEAD>
<FRAMESET COLS=150,*>
<FRAME SRC="frames4.htm" NAME=margen>
<FRAME SRC="frames5.htm" NAME=principal>
</FRAMESET>
</HTML>
Los enlaces de la página frames4.htm
, que es la que se carga en el margen izquierdo,se escriben
de la forma:
<A HREF="frames1.htm"
TARGET=principal>Frame 1 </A>
Hay ciertos valores reservados para TARGET, estos
son
TARGET=_top, hace que la página se cargue en la ventana
completa del navegador.
TARGET=_self, hace que la página se cargue en la misma
ventana del frame actual.
TARGET=_parent, hace que la página se cargue en el frame
"padre", del que desciende el actual
TARGET=_blank, hace que la página se cargue en una nueva
ventana.
TARGET=nombre, hace que la página se cargue en el frame
llamado nombre. Si no existe se carga en una ventana nueva
Atributos de FRAME
En los frames se pueden modificar algunas de sus
características por medio de las etiquetas que siguen:
SCROLLING= yes, no , auto .
Indica si el frame llevará siempre, nunca o cuando lo
necesite, barra de deslizamiento vertical
BORDERCOLOR="color"
. Indica el color del borde
MARGINWIDTH=n . Indica el
margen horizontal, tanto derecho como izquierdo, en píxels
MARGINHEIGHT=n . Indica el
margen vertical, tanto superior como inferior, en píxels
NORESIZE . Indica que el
frame no se puede redimensionar. Si no se pone este atributo
colocando el cursor en el borde del frame, permitiría su
deslizamiento
Atributo de FRAMESET
FRAMEBORDER=yes, no . Indica
si los frames tendrán bordes o no.
Puedes ver un ejemplo más de frames aquí
|