¿Qué son?
Son
una manera de encajar varias páginas en una. Utilizadas mal pueden
echar a extraviar la gracia de una página, claro que no hay que
retirar que los monitores están físicamente limitados. Cada marco
que forma la página funcionará parecido a una ventana opcional,
teniendo sus propios margenes, barra de scroll etc. Su situación en
la página será fija, por lo tanto no podremos desplazarlos a
nuestro gusto. Si movemos cuatro, se partirá en cuatro trozos y se
moverán en cada cuadrante de la pantalla, si cojemos dos, ésta se
partirá a la mitad. Ésta es la etiqueta pertinente:
HTML>
<HEAD>
<TITLE>Los frames: varias páginas</TITLE>
</HEAD>
<FRAMESET COLS="20%,80%">
<FRAME NAME="indice" SRC="indice.htm">
<FRAME NAME="principal" SRC="principal.htm">
<NOFRAMES>
<P align="center">tu internet no aguanta los marcos</P>
</NOFRAMES>
</FRAMESET>
</HTML>
Hay algunas discrepancias destacadas en el código comparándolo con otro html. Una conveniente
innovadora es que carece de la etiqueta body y, en su destino aparece frameset. Cada frameset
es una página o ventana introducida en la página contenedora, que estará especificada por los
parámetros cols o rows. Por ejemplo, se trata de dos marcos, uno al lado del otro
uno abarcará el 20% y otro el 80% de la ventana que sobra.
Dentro del <FRAMESET>explicamos los marcos que forman el conjunto y la actividad alternativa
de los navegadores que no aguanten marcos. A cada uno de los marcos le ponemos un
y definimos qué la página HTML se presentará en él (etiqueta <FRAME>). Sólo queda
explicar lo que verá el usuario en el supuesto de que su navegador no soporte frames
(etiqueta<NOFRAMES>). Aunque, actualmente no hay navegadores que no soporten marcos
ya que están actualizados para ello.
Etiqueta frameset
Los parámetros cols y rows nos admite controlar el tamaño de los marcos presentadosen la ventana del navegador. Existen tres formas de presentar los tamaños:1)Porcentajes: podemos definir el tamaño de un marco por el porcentaje de espacio total habitable (el ancho o alto de la ventana del navegador)2)Absolutos: podemos definir su ancho y alto en píxeles.3)Calculado: Podemos colocar el ancho o alto de un marco y dejar que el tamaño del otro lo calcule el navegador, usando para ello un asterisco en lugar de un valor o porcentaje. Por ejemplo, si tenemos tres marcos y colocamos cols="10%,30%,*", el último ocupará el 60% (espacio sobrante 100-10-30). Si decidimos acoplar el asterisco en varios marcos, el espacio se partirá justamente, pero también podemos hacerun marco que sea el doble o triple de otro. Así, un marco con un espacio 3* será tres veces más grande que el que abarcar un asterisco. Todo esto se puede concertar, por ejemplo:<FRAMESET COLS="10%,*,300,3*>Imaginemos que el ancho total de una ventana son 800 pixels. El primer marco abarcará el 10%, es decir, 84 px, el tercero necesita 300, en total tenemos 384 px ocupados, por lo tanto, quedan 416 px libres. Los otros marcos se distribuirán el espacio en función de los asteriscos: 416/4 = 104 px para el de un asterisco y 312 para el otro. En total tenemos ocupados los 800 px.Lo más recomendable es dejar un marco calculado, es decir, con asterisco.Si queremos que los marcos se organice de una manera más irregular, podemos unirlos, o lo que es lo mismo, un marco que contenga una página que contenga marcos. Esto se hace poniendo otro <FRAMEST> donde colocaremos la etiqueta <FRAME>. de esta manera:<FRAMESET COLS="20%,80%"> <FRAME NAME="indice" SRC="indice.htm"> <FRAMESET ROWS="*,80"> <FRAME NAME="principal" SRC="superior.htm"> <FRAME NAME="ejemplos" SRC="principal.htm"> </FRAMESET> </FRAMESET>
Éste frame concretamente se usa para dividir la página en distintas secciones, por lo tantono se escribe el body en el html, si no, daría error.Etiqueta frame
Esta es la etiqueta que nos deja describir como debe ser cada marco Los parámetros que aguantan son:Marcos flotantes <IFRAME>
NAME
Asigna un nombre a un marco, de esta manera luego podemos usarlo como destino de un enlace.SRC
Indica la URL del documento HTML que ocupará el marco.
NORESIZE
Evita que el usuario pueda evolucionar el tamaño del marco.
FRAMEBORDER
Si lo igualamos a cero el borde de este marco desaparece (pero ojo si los contiguos tienen borde éste se verá).SCROLLING
Coloca o no las barras de scroll. Su valor es por defecto AUTO, aparecerán si son necesarias. Las otras opciones que tenemos son YES o colocarlas y NO, no ponerlas.
MARGINWIDTH
Permite cambiar los márgenes horizontales dentro de un marco. Se representa en pixels.
MARGINHEIGHT
Igual al anterior pero con márgenes verticales.
Una espléndida alternativa a los marcos fijos son los marcos flotantes, actualmente soportados por todos los navegadores. La idea de este elemento ideado por Explorer, sigue siendo la misma: incluir una página externa dentro de otra, pero en este caso el marco puede quedar totalmente integrado en la página contenedora. Es como un include. La descripción de este elemento es muy parecida a los frames: es necesario decir de donde viene la página y como se ha de ver el marco (bordes, márgenes scroil...) Esto se hace mediante los parámetros ya vistos:
NAME |
Asigna
un nombre a
un marco, de esta manera luego podemos usarlo como destino de un
enlace.
|
ALIGN |
Alineación
del marco respecto al texto que lo rodea (botton, right, left,
middle) |
SRC |
Indica
la URL del documento HTML que ocupará el marco. |
HEIGHT |
Altura
del marco |
WIDTH |
Anchura
del marco |
FRAMEBORDER |
Ssi
lo igualamos a cero el borde de este marco desaparece |
SCROLLING |
Coloca
o no las barras de scroll. Su valor es por defecto AUTO,
aparecerán si son necesarias. Las otras opciones que tenemos
son YES o
colocarlas y NO,
no ponerlas. |
MARGINWIDTH |
Permite
cambiar los márgenes horizontales dentro de un marco. Se
representa en pixels. |
MARGINHEIGHT |
Igual
al anterior pero con márgenes verticales. |
allowtransparency |
Si
es true La página origen puede tener
como color de fondo transparent.
|
Acceso a otros marcos
Si
leístes la sección dedicada a los enlaces recordarás que cuando
pulsas un enlace en la ventanda del navegador aparecerá otra página,
pero podíamos colocar el atributo target para
hacer que la nueva página se abriera en otra ventana. Pues
bien esta otra
ventana puede ser otro marco. Así en un marco puedo colocar un
enalce que abra la página en otro marco de la misma página.
Este
parámetro se puede colocar en tres etiquetas: <A>, <AREA> y <BASE>.
En las dos primeras sirve para indicar el marco en el que abriremos
ese enlace en particular y el último modificaremos el marco en el
que por defecto se nos muestran todos los enlaces.Para indicarle el
marco que deseamos le asignaremos el nombre del mismo. Así, en los
ejemplos anteriores, si en el marco llamado indice tenemos
un enlace que queremos se abra en el marco principal pondremos:
<A HREF="pagina.html" TARGET="principal">
También
existen cuatro nombres reservados que podremos utilizar en el
parámetro TARGET:
- _top
- Elimina todos los marcos existente y muestra la nueva página en la ventana original sin marcos.
- _blank
- Muestra la nueva página en una ventana nueva y sin nombre del navegador.
- _self
- Muestra la nueva página en el marco donde está declarado el enlace.
- _parent
- Muestra la nueva página en el <FRAMESET> que contiene al marco donde se declara el enlace. En el ejemplo que pusimos de <FRAMESET> anidados, una enlace situado en el marco ejemplocuyo parámetro TARGET fuese igual a _parent eliminaría la separación entre los marcos ejemplo y principal y mostraría en ese nuevo marco la nueva página.
No hay comentarios:
Publicar un comentario