


Un frame es una especie de marco o recuadro
independiente en el que podemos cargar una página
web.
Podemos así dividir una página web en diferentes
partes o ventanas, cada una con sus propios bordes y
barras de desplazamiento, pudiendo cargar dentro de
cada una de ellas una página externa independiente.
Pero los frames no se usan aisladamente, si no que
una de las características más importantes de los
frames es que pulsando un enlace situado en un
frame, se puede cargar en otro frame una página
determinada.

Al usar frames será necesario un documento HTML para definir la
estructura de la página (número de frames a usar y disposición de
estos), y posteriormente tantos documentos HTML extra como
frames tengamos para insertar su contenido.



La estructura del documento de definición de frames es parecida a la
estructura de las páginas creadas hasta ahora.
La principal diferencia será que este documento no tendrá contenido
y por tanto no debe usarse la etiqueta BODY.
A cambio ha de usarse una nueva etiqueta: FRAMESET. Esta será la
etiqueta clave en la creación de los frames.
Para crear una página Web formada por varios frames que
dividen la ventana del navegador en columnas usamos el
atributo COLS de la etiqueta FRAMESET. Este atributo toma
como valores separados por comas la anchura de los
diferentes frames:
<FRAMESET COLS="ancho_col1, ancho_col2, ...">
Existen diversas formas de indicar el ancho de las columnas, una de ellas es
usando porcentajes. Con este método podríamos dividir la ventana en dos
columnas usando el siguiente código:
<HTML>
<HEAD>
</HEAD>
<FRAMESET COLS="20%,80%">
</FRAMESET>
</HTML>
En la que estamos diciendo que la primera
columna (la de la izquierda) ocupará el 20% del
ancho de la ventana del navegador y la
segunda ocupará el 80%



Uno de ellos consiste en especificar el ancho de las
columnas en su tamaño absoluto en pixeles
directamente.
Sin embargo existe un problema: existen varias
resoluciones de pantalla distintas y sería muy
extraño que todos los navegantes que visiten
nuestras páginas tengan una misma anchura de
pantalla.
Cuando se pone un asterisco como ancho de una
columna estamos indicando al navegador que use
todo el espacio sobrante para ese frame.
Por ejemplo si escribimos:
<FRAMESET COLS="100,300,*">
Se crearán tres columnas, la
primera de 100 pixeles, la
segunda de 300 y la tercera
ocupará todo el espacio que
reste y que dependerá del
tamaño de la ventana del
navegador con el que se
visualicen las páginas.
Si el navegante usa una
configuración de 640x480
es de esperar que la
ventana de su navegador
tenga un ancho entre 600 y
640 pixeles y la tercera
columna
tendría
una
anchura
de
200-240
pixeles.
También se puede dividir en filas. En esta ocasión
será necesario usar el atributo ROWS (rows significa
precisamente filas en inglés).
El funcionamiento del atributo ROWS es muy
similar al de COLS:
<FRAMESET ROWS="alto_fila1, alto_fila2, ...">
<FRAMESET ROWS="200,*,100">
Divide la ventana en tres filas: una superior de 200 pixeles en la que se
podría poner un encabezado; una inferior de 100 pixeles en la que
puede ponerse una coletilla o una barra de navegación; y una central
que ocupa el espacio sobrante y donde se podría situar el contenido
principal.
<FRAMESET ROWS="15%,*,3*">
Se divide la ventana en una primera fila que ocupa el 15% de la altura; la
siguiente fila ocupará un cuarto del resto y la tercera tres cuartos.


Los atributos COLS y ROWS pueden ser usados simultáneamente en
una misma etiqueta FRAMESET.
Si hacemos esto dividiremos la ventana del navegador en
cuadrículas de diferentes tamaños
EJEMPLO:
<FRAMESET COLS="100,50,*,*“ ROWS="15%,*,3*">
... Más código ...
</FRAMESET>



Es la etiqueta usada para insertar el contenido en las filas,
columnas o divisiones en general, hechas con la etiqueta
FRAMESET, es FRAME.
Esta etiqueta debe ser usada una vez por cada una de las
divisiones que hallamos creado.
Cada una de estas veces debemos usar un atributo, SRC, que
servirá para indicar el documento HTML donde se encuentre el
contenido que queremos insertar en esa división:
Sintaxis:
<FRAME SRC="docum.htm">

Esta etiqueta consta de una única instrucción, es decir la
instrucción de fin </FRAME> no existe, y debe ser insertada
entre la instrucción de inicio y la instrucción de fin de la etiqueta
FRAMESET.
Con este atributo le daremos un nombre al frame para poder
referirnos posteriormente a él con el atributo TARGET o con
los lenguajes de script.
La forma de usar este atributo es:
<FRAME SRC="docum.htm“ NAME="primer_frame">
Si posteriormente queremos crear un enlace a este frame
desde otro de la misma página no tendremos más que
escribir:
<A HREF="otro.htm“ TARGET="primer_frame">

Index.htlm
<HTML>
<HEAD>
<TITLE> Primera página con frames</TITLE>
</HEAD>
<FRAMESET COLS="20%,80%">
<FRAME SRC="izquierd.htm">
<FRAME SRC="derecha.htm">
</FRAMESET>
</HTML>
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="#99FF99">
<H1> Frame izquierdo</H1>
Este frame podría servir de índice:
<UL>
<LI>Tema 1
<LI>Tema 2
<LI>Tema 3
</UL>
</BODY>
</HTML>
<HTML>
<HEAD>
</HEAD>
<BODY>
<H1>Este es el frame Derecho</H1>
<P>
En este frame podría ir el contenido principal
del Web.
</P>
</BODY>
</HTML>
SCROLLING: Usando este atributo podemos controlar
la aparición o no de barras de desplazamiento.
Los valores que puede tomar este atributo son:
◦ SCROLLING="auto": Este es el valor por defecto y provoca
que el navegador sólo inserte barras de desplazamiento si
el contenido del frame ocupa más del espacio dedicado
para él.
◦ SCROLLING="yes":
Las
aparecerán siempre.
barras
de
desplazamiento
◦ SCROLLING="no": Las barras de desplazamiento no
aparecerán nunca. Hay que tener mucho cuidado si usamos
esta opción porque si la página ocupa más que el espacio
de la ventana dedicado al frame la información que no
quepa en un principio no podrá ser vista.

NORESIZE: Por defecto los usuarios pueden mover los
bordes de los frames sin más que situar el ratón
sobre ellos y arrastrarlos. Si incluimos este atributo
en la etiqueta FRAME evitaremos que el borde de ese
frame pueda ser movido. Es necesario notar que este
atributo no toma ningún valor.

MARGINHEIGHT: Ajusta el margen superior que debe
respetar el contenido de ese frame. El tamaño debe
ser dado en pixeles.

MARGINWIDTH: Ajusta el margen lateral que debe
respetar el contenido del frame. Al igual que antes, el
margen debe ser dado en pixeles.
<HTML>
<HEAD>
<TITLE> Página con frames</TITLE>
</HEAD>
<FRAMESET COLS="110,*" ROWS="110,*">
<FRAME NAME="Imagen"
SRC="cuadrado.gif"
MARGINWIDTH="0"
MARGINHEIGHT="0"
SCROLLING="No"
FRAMEBORDER="No“>
<FRAME SRC="f2.html“>
<FRAME SRC="rect.gif" SCROLLING="no">
<FRAME SRC="f4.html"
MARGINWIDTH="100"
MARGINHEIGHT="100“>
</FRAMESET>
</HTML>



Los navegadores que tengan soporte para frames simplemente
ignorarán todo lo que haya entre la instrucción de inicio, <NOFRAME
>, y la instrucción de fin,</NOFRAME>.
Por su parte los navegadores que no entiendan frames, directamente
ignorarán todas estas etiquetas (no las entienden) y pasarán a
interpretar las etiquetas que siguen a <NOFRAME >.
Esta etiqueta debe ser usada entre <FRAMESET> y </FRAMESET> de
la siguiente manera:
<FRAMESET ...>
...Código de definición de frames...
<NOFRAME>
...Código alternativo...
</NOFRAME>
</FRAMESET>
<FRAMESET COLS="200,*">
<FRAME SRC="f1.htm">
<FRAME SRC="f2.htm">
<NOFRAME>
<BODY>
<P>Esta página usa frames y su navegador no los soporta,
por favor vaya a
<A HREF="sinframe.htm"> nuestras páginas sin frames </A>
</BODY>
</NOFRAME>
</FRAMESET>


El primero de los atributos, BORDERCOLOR, nos permitirá
cambiar el color del borde.
El color puede indicarse tanto con el número hexadecimal
RGB (por ejemplo #99CC99) o bien usando uno de los
nombres predeterminados.
Por ejemplo para poner el borde de
color rojo podríamos usar:
<FRAME BORDERCOLOR="red">
O bien:
<FRAME BORDERCOLOR="#FF0000">
La etiqueta FRAME tiene un atributo que puede ser usado para
quitar los bordes de los frames: FRAMEBORDER.
Este atributo puede tomar dos valores: "1" y "0" que significan
mostrar los bordes y ocultarlos respectivamente.

El valor por defecto es mostrar
los bordes (FRAMEBORDER="1") y
si
queremos
que
estos
desaparezcan debemos escribir
explícitamente:
<FRAME FRAMEBORDER="0">
El atributo TARGET nos permite mostrar el resultado de un enlace en el frame
que queramos indicando el nombre de dicho frame. Existen, además, ciertos
valores que puede tomar este atributo que tienen un significado especial:
◦ TARGET="_blank" Fuerza que el documento referenciado por el enlace sea
mostrado en una nueva ventana del navegador.
◦ TARGET="_self" Usando este valor el documento enlazado será mostrado
en el mismo frame o ventana donde está el enlace. Este valor es
especialmente útil cuando se ha usado laetiqueta BASE para especificar un
frame destino por defecto distinto del actual.
◦ TARGET="_parent" Este valor provoca que el documento sea mostrado en
el FRAMESET padre del frame actual.
◦ TARGET="_top" Fuerza a que el enlace sea mostrado usando todo el
espacio de la ventana del navegador destruyendo toda estructura de
frames. Este valor debe ser usado siempre que creemos un enlace a una
página externa a nuestro sitio web.
Descargar

FRAMES EN HTML