Frames sin bordes

28/Nov/2006 HTML 12 Comentarios

Cuando estamos creando un sistema de frames en HTML, y lo cargamos por primera vez, podemos comprobar de forma explicita que, por defecto, los frames TIENEN BORDE.

Es decir, podemos ver claramente cual es división que hemos efectuado con los frames sobre la página. Quedándonos claramente delimitados los áreas del mismo.

Si bien, cuando diseñemos, puede que no nos interese que nos aparezcan estos molestos bordes. Si digo la verdad no soy capaz de recordar ninguna página donde aparezcan estos dichosos bordes.

A si que deberemos de aprender a quitar los bordes de los frames.

Para ello lo primero que tenemos que hacer es recordar como se modela una página con frames. Esta página contiene un conjunto de frames, el cual se modela con la etiqueta frameset. En esta etiqueta decidimos si la división es por columnas

  1. <frameset cols="20,*" frameborder="0"></frameset>

o por filas:

  1. <frameset row="20,*" frameborder="0"></frameset>

Para ello y como hemos podido ver en las líneas de código, se utilizan los atributos cols y rows.

Cada frameset o conjunto de frames contendrá tantos frames como columnas o filas hayamos definido. La etiqueta frame será la que mediante el atributo src indique que página HTML se carga en dicho frame. Veamos la línea de código:

  1. <frame src="pagina.html">

Si bien, el frameset puede contener a su vez y anidados, varios frameset. Quedandonos una estructura parecida a la que sigue:

  1. <frameset cols="20,*">
  2. <frameset rows="10,*">
  3. <frame src="pagina1.html">
  4. <frame src="pagina2.html">
  5. </frameset>
  6. <frame src="pagina3.html">
  7. </frameset>

Una vez que hemos repasado los frames por encima, lo que veremos es cómo quitar el borde que sale por defecto. Este se manipulará por el atributo frameborder, tal y como indica la especificación HTML 4.01 sobre la etiqueta <frame>.

Y es que el atributo frameborder tiene un valor, por defecto, de 1. Es por ello que salen los bordes. Lo que tenemos que hacer es darle el valor de 0 para quitar dichos bordes. Quedandonos la siguiente línea de código:

  1. <frame src="pagina.html" frameborder="0">

Y si nos basamos en el ejemplo anterior:

  1. <frameset cols="200,*" >
  2. <frameset rows="170,*">
  3. <frame src="pagina1.html" frameborder="0">
  4. <frame src="pagina2.html" frameborder="0">
  5. </frameset>
  6. <frame src="pagina3.html" >
  7. </frameset>

En este caso no habría borde entre la pagina1.html y la pagina2.html, pero si habría borde con la pagina3.html

Veámos el código completo:

  1. <title>Frames sin borde</title>
  2. </head>
  3.  
  4. <frameset cols="200,*" >
  5. <frameset rows="170,*">
  6. <frame src="pagina1.html" frameborder="0">
  7. <frame src="pagina2.html" frameborder="0">
  8. </frameset>
  9. <frame src="pagina3.html" >
  10. </frameset>
  11.  
  12. </html>

Nota Curiosa Uno: Aunque la especificación HTML 4.01 sobre frames no diga nada con respecto a el atributo frameborder en la etiqueta frameset, este es soportado de igual manera. Incluso algunos navegadores soportan el atributo, tampoco estandar, border. A si que nos podemos encontrar de todos.

Nota Curiosa Dos: Si en los navegadores Mozilla no consiguen cargar las páginas del frame, este navegador abrirá la ventana con los bordes e indicando que no encuentra la página. Pero no os asustéis, una vez que encuentra las páginas, empieza a comportarse correctamente.

Vídeos sobre HTML


12 comentarios en “Frames sin bordes”

Víctor Cuervo

angela

Intente quitar los bordes de los frames , hize todo lo q dice arriba, coloque frameborder=”0″ pero aun asi sigue saliendo el borde en blanco,ya intente mucho pero no hallo la forma de quitarlos

Víctor Cuervo

klauz

ola estaba realizando una web con frames, pero la unica forma de eliminar los molestosos bordes es con el atributo border=”0″, el problema que trae consigo esto es que el atributo border no esta considerado dentro de los frames, por lo tanto no hay como validar ese html en la w3c. Mi pregunta es la siguiente, existe alguna forma alternativa de quitar esos molestosos bordes??? y que la valide la w3c

de antemano muchas gracias

Víctor Cuervo

lineadecodigo

@KincasMix,

Te he dejado un ejemplo que explica como bloquear los frames en Bloquear frames en HTML.

Espero que sea de ayuda.

Víctor Cuervo

KincasMix

Hola, a esos ejemplos de Frames, como puedo hacer para immobilizar la linea que las divide? y como puedo hacer para que salga en la parte inferior?

Víctor Cuervo

david oseguera

de entemano gracias!

Víctor Cuervo

david oseguera

hola! mi pagina del hi5 es negra y el color de fondo es transaprente pero no logro quitar los bordes, siguen apareciendo en blanco, eh intentado ya muchas claves y cabe mencionar que no se mucho de diseño, jajaja.. podrias ayudarme con la clave completa por favor!!!

Víctor Cuervo

felipe

por favor me lo podias enviar a mi correo

Víctor Cuervo

felipe

hoye necesito saber cuale es el codigo para dividir mi pagina en 11 marcos ya casi la acabo pero me falta algo
mepodias decir por favor
te dejo el codigo

en la segunda etapa me falta dividir en 2 filas
y la ultima en 2 columnas y una de esa columna dividie en 2 filas y 2 columnas

por favor

Víctor Cuervo

lineadecodigo

Javi, eso no lo vas a poder hacer con frames. Esto lo puedes hacer, por ejemplo, con capas <DIV>.

Víctor Cuervo

javi

Como puedo hacer para que el conteido de un frame se suporponga en otro.

Víctor Cuervo

lineadecodigo

Me alegro que te haya servido. 🙂

Víctor Cuervo

Alex

gracias no sabia como quitar lols bordes

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*