Etiqueta <FRAME>
La etiqueta <FRAME> define cada uno de los marcos que va a haber en la ventana. Debe ir colocada siempre entre <FRAMESET> y </FRAMESET>, y debe haber tantas etiquetas como marcos hayamos definido con COLS y ROWS. Sus atributos son:
Estas etiquetas se deben situar entre <HTML> y </HTML>, pero podemos hacerlo también entre </HEAD> y <BODY>, en incluso podemos no utilizar <BODY>…</BODY>.
Sus principales atributos o parametros son:
* SRC=" ruta pagina html", que especifica qué pagina se va a cargar en el frame. La ruta de la pagina debe especificar su localización en el sistema de archivos local del servidor web o una URL completa.
Ejemplos.-
<frame src="principal.html">
<frame src="http://www.yahoo.es">
* NAME=" nombre ", que especifica qué pagina se va a cargar en el frame. La ruta de la pagina debe especificar su localización en el sistema de archivos local del servidor web o una URL completa.
Sirve para asignar un nombre al marco. Es un atributo muy importante, ya que cuando queramos luego cargar una pagina en un marco mediante un enlace, deberemos decir en qué marco queremos hacerlo, y esto se consigue haciendo referencia al nombre del marco en el atributo TARGET de la etiqueta <A> del enlace.
Este parametro TARGET esta relacionado con pulsar un enlace en un marco y cargar la pagina enlazada en otro. Su sintaxis general dentro de la etiqueta <A> es:
<A HREF=" manual.html " TARGET= " cuerpo ">Manual HTML</a>
donde cuerpo es el nombre asisnado a un frame mediante el atributo NAME. Con esto, al pulsar el enlace se cargara la pagina manual.html dentro del marco llamado cuerpo.
<A HREF=" manual.html " TARGET= " _blank">Manual HTML</a>
y ahora se cargara la pagina en una ventana nueva del navegador, por lo que tendremos dos ventanas abiertas.
<A HREF=" manual.html " TARGET= " _self "</a>
En este caso el la pagina llamada se va a cargar en el propio frame que la llama. Es equivalente a no colocar el parametro TARGET, por lo que casi no se usa. Se puede usar para modificar el valor dado por BASE.
<A HREF=" manual.html " TARGET= " _parent</a>
y la pagina se mostrara en el marco o <FRaMESET> que llamó al documento actual. Si no hay ningún <FRAMESET> anterior, la pagina llamada se mostrara a pantalla completa, suprimiendo todos los marcos de la pantalla. Indica que se muestre en la ventana completa, eliminando la estructura de frames que tenga la ventana.
<BASE TARGET= " nombre" </a>
que especifica el frame en el que se mostrara por defecto todos los hiperenlaces del documento actual. Se debe especificar en la cabecera del documento (HEAD).
<AREA SHAPE=RECT COORDS="x,y,..." HREF="url" TARGET="frame" </a>
que en la definición de imagenes sensibles en el cliente, indica el frame donde se vera el documento que se activa en la zona correspondiente de la imagen.
<FORM ACTION="url" TARGET="nombre"</a>
que indica al formulario al que se mandan los datos el frame de destino del resultado de los mismos.
* MARGINWIDTH=" x ", con x = nº píxeles o porcentaje. Sirve para definir el margen horizontal que queremos que haya dentro del frame, entre l os límites de este y su contenido.
que indica al formulario al que se mandan los datos el frame de destino del resultado de los mismos.
* MARGINHEIGHT=" x ", con x = nº píxeles o porcentaje. Nos define el margen vertical que queremos que haya dentro del frame, entre los límites de este y su contenido.
Ejemplo.-
<html>
<head>
<title>Mi pagina</title>
</head>
<frameset rows="40%,*" >
<frame src="a.html" marginwidth="50" marginheight="30">
<frame src="b.html" marginwidth="10" marginheight="0">
</frameset>
</html>
ver resultado.
* SCROLLING= " yes / no / auto ", que nos va
a permitir establecer si el marco tendra o no barra deslizadora cuando el contenido del marco exceda al
tamaño de este.
Sus posibles valores son:
- yes…siempre aparecera la barra deslizadora.
- no…nunca aparecera. Por lo tanto, si el contenido es mayor que el texto sólo podremos ver lo que quepa
en el marco.
- auto…sólo aparecera el scroll si es necesario para poder visualizar el contenido completo del marco.
Este es el valor por defecto
* NORESIZE. Este atributo impide que el marco pueda ser redimensionado por el visitante arrastrando su borde. Si no se indica este atributo el marco podra ser redimensionado.
* BORDECOLOR= " color ", con color = nombre color web en inglés o en hexadecimal. Sirve para definir el color del borde del marco concreto al que se aplica.
* FRAMEBORDER= " 1 / 0 ". Si se ha establecido BORDECOLOR, si su valor es 0 se mostrara el borde sin efecto 3D en el marco (se percibe mejor en Explorer), y si es 1 sí se mostrara este efecto. ademas, si lo igualamos a cero se eliminara el borde con todos los marcos contiguos que tengan también este valor a cero.
Ejemplos.-
<html>
<head>
<title>Mi pagina</title>
</head>
<frameset rows="40%,*" bordercolor="red">
<frame src="a.html" marginwidth="50" marginheight="30" frameborder="0" >
<frame src="b.html" marginwidth="10" marginheight="0" frameborder="0">
</frameset>
</html>
ver resultado.
<html>
<head>
<title>Mi pagina</title>
</head>
<frameset rows="40%,*" bordercolor="red">
<frame src="a.html" marginwidth="50" marginheight="30" frameborder="0" >
<frame src="b.html" marginwidth="10" marginheight="0" >
</frameset>
</html>
ver resultado.
<html>
<head>
<title>Mi pagina</title>
</head>
<frameset rows="40%,*" bordercolor="red">
<frame src="a.html" marginwidth="50" marginheight="30" frameborder="1" >
<frame src="b.html" marginwidth="10" marginheight="0" frameborder="1">
</frameset>
</html>
ver resultado.
Etiquetas <NOFRAMES>…</NOFRAMES>
Este par de etiquetas no son atributos de <FRAME>. Se utiliza para prevenir el caso de que el navegador del visitante no soporte frames. Deben situarse antes de </FRAMESET>, y dentro de ellas se incluyen <BODY> texto de aviso </BODY>. Si el navegador no reconoce los frames los ignorara, mostrando el mensaje de aviso. Este atributo esta actualmente en dehuso, ya que todos los modernos navegadores soportan frames.
Un ejemplo completo de una pagina simple con frames sería:
<html>
<head>
<title>Pagina con frames</title>
</head>
<frameset rows="20%,*" frameborder="yes" bordercolor="yellow" >
<frame name="uno" src="a.html" marginwidth="50" marginheight="30" >
<frame name="dos" src="b.html" marginwidth="30" marginheight="40" >
<noframes>
<body>
  Lo siento. Su navegador no soporta frames. Pulse
<a href="noframes.html">AQUÍ</a>
para acceder a una pagina sin frames.
</body>
</noframes>
</frameset>
</html>
ver resultado.