Los marcos aumentan aun mas la flexibilidad de las paginas web permitiendo dividir el área visible en mas de una subregion. Cada subregion o marco, puede contener otros marcos anidados o cuadros. Cada cuadro tiene las siguientes propiedades:
No soportado en HTM5
Estas propiedades dan paso a una serie de escenarios:
Los marcos son generados con tres etiquetas: FRAMESET, FRAME y NOFRAMES
.Un documento con marcos tiene una estructura básica muy parecida al documento HTML normal, excepto porque la etiqueta BODY es reemplazada por <FRAMESET>, que describe un subdocumento o marco y están diseñadas para ser procesadas muy rápidamente por el navegador del cliente.
<HTML> <HEAD> <TITLE>Titulo del documento</TITLE> </HEAD> <FRAMESET> ... </FRAMESET> </HTML>
Define un marco que puede contener otros marcos o cuadros dentro de si. Reemplaza la etiqueta BODY de una pagina normal.
Este es el contenedor principal y tiene 2 parámetros: ROWS y COLS.
Parámetro | Descripción |
---|---|
ROWS=valor1[,valor2,valor3...] | El numero de filas esta determinado por el numero de elementos en la lista separados por comas y el alto de cada fila por el valor del mismo. El alto total de todas las filas debe ser igual a la altura total de la ventana. |
COLS=valor1[,valor2,valor3...] | El numero de columnas esta determinado por el numero de elementos de la lista separados por comas y el ancho de cada columna por el valor mismo. El ancho total de todas las columnas debe ser igual al ancho total de toda la ventana. |
Donde valor#, separados por comas, pueden estar en valor absoluto: pixel (px) o valor relativo: porcentajes (%).
Valor | Descripción |
---|---|
Absolutos | Pixeles (px). Un simple valor numérico es asumido como el tamaño fijo en pixels. Esta es la forma mas peligrosa de asignar un valor a tu Frame, ya que su tamaño puede varias sustancialmente dependiendo de la resolución de pantalla (VGA o SVGA) que este usando en ese momento el cliente. Si valores fijos de pixel son usados, es recomendable y necesario que se mezcle ese valor con uno o mas tamaños relativos. De otra manera el visor sobrescribir tu definición para hacer que el 100% de la ventana disponible del cliente sea usada. |
Relativo | Porcentaje (%). Un simple "*" se interpreta como un Frame de tamaño relativo que ocupara el resto del espacio disponible. Si hay varios "*" el espacio es dividido entre ellos. Un valor como 2*,* le indicaría dividir el espacio en 2/3 y 1/3. Si el total es superior/inferior a 100%, todos los porcentajes son proporcionalmente reducidos/aumentados para llegar a este 100%. |
<FRAMESET ROWS="20%,60%,20%"> <FRAMESET COLS="100,*,100"> <FRAMESET ROWS="*,30%,80">
Define un cuadro dentro de un marco.
La etiqueta <FRAME> puede tener los siguientes parámetros:
Parámetro | Descripción |
---|---|
SRC | Es la ruta y nombre del documento a ser mostrado en un Frame particular. Un FRAME sin atributo SRC es mostrado en blanco. |
NAME | Usado para asignar un nombre, de manera que puede ser direccionada desde otra ventana. Es opcional. El nombre debe empezar con un carácter alfabético. |
MARGINWIDTH | Valor. Usado para controlar un margen en el cuadro. El valor debe ser en pixels y nunca podrá ser menos a 1, es decir tocar el marco. Es opcional. |
MARGINHEIGHT | Valor. Funciona igual al anterior solo que es para controlar el margen superior/inferior. |
SCROLLING | Yes|no|auto. Usado para definir si el cuadro deberá tener barra de desplazamiento o no. Yes, resultara en una barra siempre visible, No en una barra nunca visible y Auto deja al navegador que debe decidir según el tamaño de la pagina cargada. Por omisión es Auto. Es opcional. |
NORESIZE | Es un parámetro que indica si el usuario podrá o no cambiar el tamaño del cuadro. Por omisión esta en RESIZE y es opcional. |
Siempre hay nombres reservados para el atributo NAME de la etiqueta <FRAME>, solo se podrán referir a enlaces de llegada.
Esta etiqueta es usada por los autores que quieran crear alternativas para los navegadores de clientes (browser) que no puedan visualizar los marcos. Los que ignoraran todas las etiquetas aquí puestas.
Usado para hacer que el resultado de un enlace se produzca en otro cuadro de la misma ventana, pondríamos TARGET=nombre, siendo "nombre" el nombre de un segundo cuadro.
<FRAMESET ROWS="85,*,65">
Con este etiqueta se divide la pantalla en 3 regiones la superior de 85 px de alto, una inferior de 65 px de alto y la media ocupa el resto de la ventana.
<FRAME SCROLLING="no" NAME="titulo" NORESIZE SRC="titulo.htm">
Con estos parámetros se define la ventana superior (la de 85 px), sin barra de desplazamiento, no reajustable por el usuario en su tamaño y con un nombre "titulo".
<FRAMESET COLS="40%,60%">
Con este atributo se divide la ventana media en dos regiones de 40% a la izquierda y 60% a la derecha.
<FRAME SCROLLING="yes" NAME="toc" SRC="toc.htm"> <FRAME SCROLLING="yes" NAME="main page" SRC="main.htm">
Con estos dos etiquetas se definen dos ventanas en la parte media, llamadas "toc" y "main", que tiene asociadas una pagina cada una, toc.htm y main.htm respectivamente.
</FRAMESET>
Aquí cerramos el Frame anidado, el de las dos ventanas.
<FRAME SCROLLING=no NAME="HLP buttons" NORESIZE SRC="buttons.htm">
Aquí definimos las propiedades de la ventana inferior, la de 65 pixels de alto, sin barra de desplazamiento, no cambiable su tamaño. Ideal para la barra de herramientas de navegación.