El lenguaje html permite dividir la ventana del navegador en varios marcos, en inglés frames, de manera que podamos cargas en ellos páginas independientes. Estas páginas, por ejemplo, tienen dos marcos o frames, uno a la izquierda, con el menú fijo, y otro a la derecha donde se van mostrando los contenidos.
Las etiquetas y la estructura para crear una página con frames es la siguiente:
<html> |
|||||||
|---|---|---|---|---|---|---|---|
<frameset> |
Define los marcos en que se divide la ventana. La etiqueta <body> desaparece cuando definimos una página con marcos.Tiene dos posibles atributos para dividir en columnas o en filas, y siempre ha de indicarse un sólo de ellos. Son cols y rows respectivamente. |
||||||
cols="anchuras" |
Divide la ventana en dos columnas. La anchura de las columnas se indican en pixels, en porcentajes o en proporciones separadas por comas Por ejemplo:
|
||||||
rows="alturas" |
Divide la ventana en dos filas. La altura de las filas se indican en píxels, en porcentajes o en proporciones separadas por comas, de la misma manera que el atributo cols |
||||||
Atributos opcionales de <frame> |
|||||||
src="archivo html" |
Es un atributo obligatorio, indica la página que se mostrará en el marco correspondiente | ||||||
name="nombre" |
Es un atributo obligatorio, indica el nombre del marco para futuras referencias. | ||||||
frameborder="1/0" |
Indica si se muestra el borde del marco, frameborder="1" muestra el borde y frameborder="0" no. Por defecto se muestra. |
||||||
marginwidth="Número" |
Indica el número de pixels de los márgenes interiores izquierdo y derecho del frame entre el borde y el texto. | ||||||
marginheight="Número" |
Indica el número de pixels de los márgenes interiores superior e inferior del marco entre el borde y el texto. | ||||||
scrolling="Yes/No/Auto" |
Indica si se muestra o no la barra de desplazamiento. Por defecto está en Auto. |
||||||
noresize |
Indica que el marco no podrá ser redimensionado por el visitante con el ratón. | ||||||
Veamos un ejemplo de ventana dividida en dos columnas, la segunda de ellas tres veces más ancha que la primera. Observa como puedes cambiar el tamaño de los marcos desplazando la línea que los divide.
| Ejemplo | Resultado |
|---|---|
<html> |
Otro ejemplo de ventana dividida en dos filas, la superior de 75 píxels, y el resto para la otra. Además no puedes cambiar el tamaño por incluir el atributo noresize
| Ejemplo | Resultado |
|---|---|
<html> |
Otra posibilidad que tenemos es crear frames anidados, es decir, unos dentro de otros. A continuación tenemos un ejemplo de una ventana dividida en dos columnas y la columna de la derecha dividida en dos filas.
| Ejemplo | Resultado |
|---|---|
<html> |
palabras.htm. Escribe en él únicamente una tabla de ancho el 100%, con dos celdas con las palabras agua y fuego.definiciones.htm con dos marcos
en filas de 30 píxels la primera y el resto para la segunda. (¡ojo!
Con Mozilla no podrás crear una página con marcos, tendrás
que hacerlo con un editor de textos como el Boc de notas)superiorpalabras.htminferioragua.htmdefiniciones.htm en el navegador para ver el resultado.menu.htm y escribe en él lo siguiente:
Mi página Web con formato de encabezadoPágina principal, Recetas, Definiciones, Música y Horariox-smallindex.htm con dos marcos en columnas de ancho 25% y 75% llamados izquierda y derecha respectivamente.menu.htminicio.htmindex.htm en el navegador para ver el resultadoEn el capítulo 7. Vínculos adelantamos que mediante el atributo target de la etiqueta <a> podíamos seleccionar el marco donde debía abrirse el vínculo. El nombre del marco viene dado por el atributo name="nombre" que acabamos de ver y este es el que debe aparecer en target. Recordemos sus posibles valores y veamos algunos ejemplos:
<a href="frames.html" target="derecha"> | Abre la página frames.html en el marco definido como derecha. |
<a href="frames.html" target="_blank"> | Abre la página frames.html en una nueva ventana del navegador. |
<a href="frames.html" target="_self"> | Abre la página frames.html en el mismo marco donde se encuentra el vínculo. |
<a href="frames.html" target="_top"> | Abre la página frames.html en la ventana al completo del navegador suprimiendo los marcos que hubiera. |
Prueba como funciona el atributo target aquí
palabras.htm y asigna a cada palabra la página correspondiente con su definición. Asegúrate que han de abrirse en el marco inferior.definiciones.htm en el navegador para ver el resultado. Prueba los vínculos para comprobar que funcionan.menu.htm y asigna el vínculo correspondiente a cada elemento de la lista para que se abran en el frame derecha de la página index.htm.index.htm en el navegador para ver el resultado y pulsa los vínculos para comprobar que funcionan. Observa que al pulsar el vínculo definiciones tendrás tres marcos anidados.Otra posibilidad es insertar un marco dentro de una página del tamaño que queramos, como en el ejemplo de la derecha.
La etiqueta para conseguirlo es <iframe> y su uso es muy similar al de <frame>.
Donde pongamos esta etiqueta se insertará el marco, igual que si fuera una imagen. Si lo que queremos es que el texto fluya alrededor del marco haremos igual que con las imágenes, con la propiedad float de las hojas de estilo.
<iframe mane="nombre" src="archivo" width="ancho" height="alto"> |
|
|---|---|
Atributos opcionales de <iframe> |
|
src="archivo html" |
Es un atributo obligatorio, indica la página que se mostrará en el marco correspondiente |
name="nombre" |
Es un atributo obligatorio, indica el nombre del marco para futuras referencias. |
width="número"height="número" |
Indican las dimensiones del marco en píxels o en porcentajes. |
frameborder="1/0" |
Indica si se muestra el borde del marco, frameborder="1" muestra el borde y frameborder="0" no. Por defecto se muestra. |
marginwidth="Número" |
Indica el número de pixels de los márgenes interiores izquierdo y derecho del frame entre el borde y el texto. |
marginheight="Número" |
Indica el número de pixels de los márgenes interiores superior e inferior del marco entre el borde y el texto. |
scrolling="Yes/No/Auto" |
Indica si se muestra o no la barra de desplazamiento. Por defecto está en Auto. |
Veamos un ejemplo con el código del marco flotante de arriba
| Ejemplo | Resultado |
|---|---|
<iframe name="flotante" src="iframe.html" width="300" height="100"></iframe> |
inicio.htm.receta.htm. Tablas |
Formularios ![]() |