Lenguaje HTML/Marcos

De Wikilibros, la colección de libros de texto de contenido libre.
← Estilos CSS Marcos Formularios →


Los marcos aportan un método de dividir la ventana del navegador en secciones para poder visualizar varios documentos web al mismo tiempo.

Las diferencias principales entre un documento con marcos y un documento HTML normal son dos:

  • La declaración del DOCTYPE
  • Un documentos con marcos carece del elemento body, en su lugar usaremos el elemento frameset

Elemento frameset[editar]

Sus etiquetas son <frameset> </frameset> (ambas obligatorias)
Sus principales atributos son:

rows
cols


Elemento frame[editar]

Sus etiquetas son <frame> </frame> (la de cierre opcional)
Sus principales atributos son:

name
src
noresize

Elemento noframes[editar]

Sus etiquetas son <noframes> </noframes>

Esta marca indica a todo browser incapaz de gestionar los frames el texto que debe presentar al usuario en lugar de los paneles. Dicho texto ira entre las marcas <NOFRAMES> y </NOFRAMES>. En realidad dichos browsers ignoraran las marcas FRAMESET y NOFRAMES pero casualmente no el texto comprendido entre estas últimas. Por el contrario un browser capaz de gestionar paneles interpretara las marcas <NOFRAMES> y </NOFRAMES> y sabra que debe ignorar el texto comprendido entre ellas. Esta etiqueta debe ser usada entre <FRAMESET> y </FRAMESET> de la siguiente manera:

     <FRAMESET ...>
      ...Codigo de definicion de frames...
      <NOFRAME>
      ...Codigo alternativo...
      </NOFRAME>
      </FRAMESET>

Los navegadores que tengan soporte para frames simplemente ignoraran todo que haya entre la instrucción de inicio, <NOFRAME >, y la instruccion de fin, </NOFRAME> . Por su parte los navegadores que no entiendan frames, directamente ignoraran todas estas etiquetas (no las entienden) y pasaran a interpretar las etiquetas que siguen a <NOFRAME >. Entre ellas debe estar la etiqueta BODY, ya que esta etiqueta era imprescindible para las paginas sin frames, y para los navegadores que no las soporten todas las paginas son sin frames. En esta ocasion BODY no provocara problemas con FRAMESET porque, como hemos dicho, los navegadores que entiendan esta ultima ignoraran todo el codigo entre <NOFRAME> y < /NOFRAME>.


Un uso habitual de NOFRAME es:

<FRAMESET COLS="200,*">
<FRAME SRC="f1.htm">

<FRAME SRC="f2.htm"> <NOFRAME> <BODY>

Esta pagina usa frames y su navegador no los soporta, por favor vaya a <A HREF="sinframe.htm"> nuestras páginas sin frames </A> </BODY> </NOFRAME> </FRAMESET> Si no hubieramos usado la etiqueta NOFRAME el resultado de ver la pagina con este codigo con un navegador sin soporte para frames seria simplemente una pantalla en blanco.

Enlazando frames[editar]

El uso de marcos o también llamados frame es una herramienta muy útil para crear páginas dinámicas ya que se hace el uso de no solo un archivo sino un número determinado de archivos. El número de archivos usados para hacer el uso de un frame es el número de frame mas uno que es el que controla todos los frame; en el ejemplo se mencionan Archivo1.html, Archivo2.html, y el Archivo3.html más el frame.html.


<html>

<head>

<title>Prueba con Frame</title>

</head>

<frameset rows="20%,*%">

<frame name="menu" src="archivo1.html" noresize framespacin=9 scrolling="no"></frame>

<frameset cols="20%,*%">

<frame name="trabajo" src="archivo2.html" noresize framespacin=5 bordercolor="red"></frame>

<frame name="trabajo" src="archivo3.html" noresize framespacin=5 bordercolor="red"></frame>

</frameset>

</frameset>

</html>