Unidad 7. Marcos (I)



En este tema vamos a ver qué son los marcos, para qué se utilizan, y cómo insertarlos.

 

Conjunto de marcos <frameset>

 

Los marcos o frames sirven para distribuir mejor los datos de las páginas, ya que permiten mantener fijas algunas partes, como pueden ser el logotipo y la barra de navegación, mientras que otras sí pueden cambiar. Además de mejorar la funcionalidad, pueden mejorar también la apariencia.

Cada uno de los marcos de una página, contiene un documento HTML individual. Por ejemplo, en la imagen de la derecha puedes ver una página con dos marcos. El marco izquierdo contiene el documento menu.htm y el derecho el documento perros.htm. Para poder visualizar la página de este modo, hemos tenido que abrir en el navegador el documento marcos.htm, que es el que en este caso contiene el grupo de marcos.

El trabajar con marcos puede resultar una tarea algo complicada, sobretodo al principio, por lo que vemos solamente algunos conteptos básicos y ejemplos sencillos.

Como hemos visto si queremos utilizar marcos debemos crear una página con la definición del conjunto de marcos (en el ejemplo anterior la página marcos.htm).

Los conjuntos de marcos se definen a través de las etiquetas <frameset> y </frameset>, que van después de la etiqueta <head>. A través de estas etiquetas se indica el número de marcos en que se dividirá la ventana, cada uno de los cuales será una especie de subventana.

Cuando se insertan las etiquetas <frameset> y </frameset> no hay que insertar las etiquetas <body> y </body>, ya que el cuerpo del documento será el cuerpo de las páginas que se carguen en cada uno de los marcos del conjunto de marcos.

Los atributos que pueden especificarse sobre la etiqueta <frameset> son los siguientes:

Atributo
Significado
Posibles valores

cols

tamaño de cada una de las columnas en que se divide el documento

un número (acompañado de % cuando se desee que sea en porcentaje) por cada columna, separados por comas.

rows
tamaño de cada una de las columnas en que se divide el documento
un número (acompañado de % cuando se desee que sea en porcentaje) por cada fila, separados por comas.
frameborder
aparece o no el borde de los marcos
yes
no
framespacing
separación entre los marcos
un número
border
grosor del borde
un número, acompañado de % cuando se desee que sea en porcentaje
bordercolor
color del borde
número hexadecimal

 

También es posible incluir asteriscos como valores para los atributos cols y rows. Este valor indica que dicha fila o columna ocupará todo lo que quede de ventana o subventana. Cuando existan varias columnas o filas con este valor, se repartirán de forma equitativa lo que quede de ventana.

Por ejemplo, si insertáramos la siguiente línea de código:

<frameset rows="*" cols="142,*,25%">...</frameset>

Como el atributo rows tiene el valor asterisco, solo habría una fila, que ocuparía todo el alto de la ventana. En este caso concreto no haría falta poner el atributo rows.

Como el atributo cols tiene tres valores, estaríamos dividiendo el documento en tres columnas. La primera columna sería de 142 píxeles de ancho, la tercerá del 25% de la ventana, y la segunda columna ocuparía lo que quedará de ventana (el 75% de la ventana menos 142 píxeles).

También es posible anidar marcos. Es decir, es posible dividir marcos en otros marcos.

Por ejemplo, si insertáramos el siguiente código:

<frameset cols="142,*">
  <frameset
rows="80,*">...</frameset>
  <frameset
cols="25%,*,*">...</frameset>
</frameset>

Estaríamos dividiendo el documento en dos columnas. La primera sería de 142 píxeles, y la otra abarcaría el resto de la ventana.

Al mismo tiempo, la primera columna o subventana estaría dividida en dos filas o subventanas horizontales, la primera de ellas de 80 píxeles.

La segunda columna o subventana de la ventana principal se dividiría a su vez en tres columnas, la primera de ellas del 25% de la subventana, y las otras dos se repartirían el resto a partes iguales (se repartirían el 75% de la subventana).

Por último debemos saber que entre las etiquetas <frameset> y </frameset> sólo se pueden encontrar la etiquetas <head> <noframe> <frameset> <frame> y sus correspondientes etiquetas de cierre.

Atrás  Inicio  Adelante





.