2. concepto
Amados u odiados, útiles o inútiles, excelentes o pésimos, los marcos
son instrumentos que forman ya parte habitual del web y que los
navegadores gestionan hoy día a la perfección. Los detractores de los
marcos afirman la inutilidad de subdividir ulteriormente las páginas
web, las cuales, en última instancia, pueden resultar poco legibles.
Otros, como yo, consideran que los marcos pueden llegar a ser muy
útiles ya que se evita cargar las mismas imágenes y se mantienen
ordenados el contenido y la estructura del sitio. Naturalmente, abusar
de los marcos puede producir como resultado pésimas impostaciones
gráficas, obteniendo un efecto contrario al previsto.
Un punto en contra de los marcos es, ciertamente, su incompatibilidad
con los programas de navegación gráfica destinados a invidentes, los
cuales se bloquean impidiendo la lectura de las páginas.
Una buena solución es crear una versión con marco y una versión sin
marco
3. Marcas de HTML con gestión a
frames
N2.0 Documento Marco <FRAMESET></FRAMESET> (en lugar de
<BODY>)
N2.0 altura en filas <FRAMESET ROWS=,,,></FRAMESET> (píxel ó %)
N2.0 altura en filas <FRAMESET ROWS=*></FRAMESET> (* = tamaño
relativo)
N2.0 anchura en columnas <FRAMESET COLS=,,,></FRAMESET> (píxel ó
%)
N2.0 anchura en columnas <FRAMESET COLS=*></FRAMESET> (* =
tamaño relativo)
N3.0b anchura del borde <FRAMESET BORDER=?>
N3.0b borde <FRAMESET FRAMEBORDER="yes|no">
N3.0b color del borde <FRAMESET BORDERCOLOR="#$$$$$$">
N2.0 Definición del marco <FRAME> (contenido de cada uno de los
recuadros)
N2.0 documento que se debe mostrar <FRAME SRC="URL">
4. Mas marcas de HTML con gestión a
frames
N2.0 denominazione del frame <FRAME
NAME="***"|_blank|_self| _parent|_top>
N2.0 anchura de los márgenes <FRAME
MARGINWIDTH=?> (margen izquierdo y derecho)
N2.0 altura de los márgenes <FRAME MARGINHEIGHT=?>
(margen superior e inferior)
N2.0 barra de desplazamiento o no <FRAME
SCROLLING="YES|NO|AUTO">
N2.0 no redimensionable <FRAME NORESIZE>
N3.0b borde <FRAME FRAMEBORDER="yes|no">
N3.0b color del borde <FRAME BORDERCOLOR="#$$$$$$">
N2.0 contenido en ausencia de marco
<NOFRAMES></NOFRAMES> (para navegadores antiguos)
5. Para crear una página dividida en
marcos
Imaginemos que debemos crear una ventana dividida en marcos como la de la figura, con un marco en
la parte superior fijo (en el cual cargaremos el archivo "top.htm", que deberemos crear aparte) y un
marco central (en el cual cargaremos el archivo "central.htm", que deberemos, asimismo, crear
aparte) que cambiará según cual sea la página que deba mostrar. Como hemos señalado antes, la
gestión de estos dos marcos correrá a cargo de un tercer archivo, el cual deberá invocarlos
asignándoles una parte de la página. He aquí el código de esta página:
<FRAMESET rows="80,*"> <frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
</FRAMESET>
Como podemos ver, el código del marco está encerrado entre las marcas <FRAMESET></FRAMESET>
que se comportan como las marcas usuales <HTML></HTML>.
El tamaño de los marcos, o mejor dicho, el espacio que cada uno de ellos debe ocupar en la página,
queda establecido mediante la marca rows="80,*, que significa que el marco alto (que en este caso es
una fila, "row") debe tener 80 píxel, mientras que "*" significa que todo el resto debe asignarse al
marco central. Asimismo, habríamos podido expresar el tamaño de los marcos en tantos por ciento de
esta manera:
6. Para crear una página dividida en
marcos
FRAMESET rows="20%,*">
<
Una vez impostados los dos parámetros <FRAMESET></FRAMESET>, dentro de ellos se definen los nombres y los
archivos que deberán invocarse en los dos marcos creados. Es necesario dar un nombre al marco (name="alto") e
indicar el archivo HTML que deberá cargarse dentro del marco (SRC="top.htm"). Deben, por tanto, crearse
previamente dos archivos de nombre "top.htm" y "central.htm".
Fíjate bien en lo importante que es la colocación dentro del código para una correcta interpretación por parte del
navegador. Así, si se invirtiera el orden de esta manera:
<FRAMESET rows="80,*"> <frame name="central" src="central.htm">
<frame name="alto" src="top.htm">
</FRAMESET>
el navegador invertiría el orden de asignación y cargaría el archivo "central.htm" en el marco superior, y el archivo
"top.htm" en el marco central.
para ver el resultado de este marco.
Para crear dos marcos verticales basta sustituir el término "rows" (filas) con el término "cols" (columnas):
<FRAMESET cols="100,*">
<frame name="sx" src="sx.htm">
<frame name="central" src="central.htm">
</FRAMESET>
para ver el resultado de este marco.
7. Para crear una página dividida en
marcos
insertar un
Los antiguos navegadores no soportaban los marcos por lo cual, dada la posibilidad de que se use uno de estos viejos programas para visualizar las páginas, es útil
código que advierta de la presencia de marcos y de la imposibilidad de que el navegador los muestre. Éste es
el código que debes incluir:
<noframe>
<HTML>
<body>
Atención. Tu navegador no soporta la opción de los marcos. Para ver estas páginas es necesario descargar un
navegador que soporte dicha opción. Te aconsejo Netscape 3.0 o superior.
</body>
</html>
</noframe>
Es posible adoptar simultáneamente una división tanto en columnas como en filas, de manera que se cree
una ventana dividida en varios marcos. Veamos cómo debemos intervenir en el código HTML del documento
según el número y la posición de los marcos que queremos crear.
para ver el resultado de este marco. <frameset rows="100,*"> <frame name="alto" src="top.htm">
<frameset cols="150,*">
<frame name="sx" src="sx.htm.htm">
<frame name="central" src="central.htm">
</frameset>
</frameset>