# Lenguaje HTML/Marcos

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

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

## Elemento frame

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

## Elemento noframes

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:
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:
<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

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>