Foros del Web » Creando para Internet » HTML »

bordes en frameset

Estas en el tema de bordes en frameset en el foro de HTML en Foros del Web. Hola amigos: Tengo la intención de validar mi página, y al estar hecha con frames le puse el dtd que especifica w3.org: <!DOCTYPE HTML PUBLIC ...
  #1 (permalink)  
Antiguo 12/02/2005, 17:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
bordes en frameset

Hola amigos:

Tengo la intención de validar mi página, y al estar hecha con frames le puse el dtd que especifica w3.org:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

Al validarla apareció el error sobre el atributo border del frameset, que hace que no se note la separación entre los marcos... pero border en la validación no cuela... ... y si lo quito, se queda un espacio "no deseado".
Probe frameborder en los frames, y también probé los estilos (border, margin...)

Seguro que hay algo que no llegué a probar...

También probé, para pasar la validación, asignar el atributo con el evento onload (tanto en el frameset como en los framse)

Espero que haya alternativas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #2 (permalink)  
Antiguo 12/02/2005, 23:26
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola Caricatos:

Nunca he trabajado con framesets. Sin embargo, tu consulta me dejó con curiosidad y me puse a investigar y practicar un poco.

En principio, fui directo al DW y creé un frameset. Luego procedí a validarlo y ya de una vez me dio varios errores, entre ellos, se especificaba que el atributo frameborder no está permitido dentro de la etiqueta frameset en HTML 4.0

Después de eso, me fui a revisar las especificaciones de HTML 4.0, fijándome que frameborder no estaba desaprobado.

Esto me confundió, pues de pronto no leí todo con calma.

Más tarde, vuelvo a probar y elimino todos los errores marcados por el validador. A partir de ahí intento releer las especificaciones y fue cuando comprendí que frameborder se permite dentro de la etiqueta frame.

Luego, en DW, asigno valores a ese atributo dentro de las etiquetas frame y me los coloca como frameborder="NO".

Sin embargo y según las especificaciones, los valores que toma el atributo frameborder, solamente pueden ser “0” y “1”.

Así que procedí a asignar los valores correctos y acto seguido, al validar, no obtuve errores.

Aquí te muestro lo siguiente:

1.- Código Válido:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test</title>
</head>

<frameset rows="80,*">
  <frame src="02.htm" name="topFrame" frameborder="0" scrolling="NO" noresize marginwidth="0" marginheight="0">
  <frame src="01.htm" name="mainFrame" frameborder="0" marginwidth="0" marginheight="0">
</frameset>
<body>
</body>
</html> 
2.- Código no Válido:
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test</title>
</head>

<frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
  <frame src="04.htm" name="topFrame" scrolling="NO" noresize>
  <frame src="03.htm" name="mainFrame">
</frameset>
<noframes><body>
</body></noframes>
</html> 
Ahora dejo fragmentos de lo que leí:

Cita:
16.2.2 El elemento FRAME

frameborder = 1|0 [CN]
Este atributo proporciona información al agente de usuario sobre el borde del marco. Valores posibles:
1: Este valor le dice al agente de usuario que dibuje un separador entre este marco y todos los marcos adyacentes. Este es el valor por defecto.
0: Este valor le dice al agente de usuario que no dibuje un separador entre este marco y todos los marcos adyacentes. Obsérvese que aún se puede dibujar un separador junto a este marco si así se especifica para otros marcos.

http://html.conclase.net/w3c/html401....html#h-16.2.2

http://html.conclase.net/w3c/html401...nt/frames.html
Sin embargo, al final, me doy cuenta que entre frame y frame queda una pequeña línea que no he encontrado como quitar. He intentado CSS de varias formas y nada
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.

Última edición por Khronos; 12/02/2005 a las 23:30
  #3 (permalink)  
Antiguo 13/02/2005, 02:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Justamente es ese mi problema, y también probé estilos que nunca los había usado antes como outline.

Bueno, puse una página de prueba en este enlace: http://www.pepemolina.com/pruebas/marcos/marco.html

Seguiré invetigando, pero ya no sé que cosa probar... por lo pronto veré la lista de estilos y atributos de los frames y sus valores, luego mostraré los resultados.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 13/02/2005, 04:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola caricatos

Esto ha pasado bien la prueba del validador. Espero que te sirva:
Código:
<frameset cols="150,*">
  <frame name="izq" frameborder="0" noresize="noresize" src="marco_files/izq.htm">
  <frameset rows="50%, *">
    <frame name="derarr" frameborder="0" src="marco_files/derarr.htm">
    <frame name="deraab" frameborder="0" src="marco_files/deraba.htm">
  </frameset>
  </frameset>
</html>
Saludos,
  #5 (permalink)  
Antiguo 13/02/2005, 11:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola JavierB:

El problema es que pasa la validación, pero entre marco y marco queda un espacio no deseado.

Lo quiero aplicar a la página de caricaturas, para que valide, pero esa página para tener ese efecto tiene el atributo border="0" en el frameset principal, y por eso no valida, y si se lo quito valida, pero no se pegan.

Subí las páginas modificadas y en uno de los marcos puse el conjunto de atributos y de estilos del marco propio y del "parent"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 13/02/2005, 11:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
¡Oops! Tienes toda la razón.

Me había bajado la página que has puesto de ejemplo, pero al no tener las imágenes de fondo, algunos frames me salían con fondo blanco y no veía ninguna separación. Ahora acabo de poner los marcos de distintos colores y si que se ve una línea blanca.

Saludos,
  #7 (permalink)  
Antiguo 13/02/2005, 16:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
con javascript valida strict

Hola otra vez:

Con un script usando el DOM (creando tags dinámicamente) conseguí que validara en strict...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

Código:
<html>
<head>
	<title>
		Marcos
	</title>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1" >
	<script type="text/javascript" >
		function hacerFrames()	{
			var conjunto = document.createElement("frameset");
			conjunto.cols = "150,*";
			conjunto.border = "0";

			var frameIzq = document.createElement("frame");
			frameIzq.name = "izq";
			frameIzq.src = "izq.html";

			var conjuntoDerecha = document.createElement("frameset");
			conjuntoDerecha.rows = "50%,*";

			var derArr = document.createElement("frame");
			derArr.name = "derarr";
			derArr.src = "derarr.html";

			var derAba = document.createElement("frame");
			derAba.name = "deraba";
			derAba.src = "deraba.html";

			conjuntoDerecha.appendChild(derArr);
			conjuntoDerecha.appendChild(derAba);
			conjunto.appendChild(frameIzq);
			conjunto.appendChild(conjuntoDerecha);
			document.documentElement.replaceChild(conjunto, document.body);
		}
	</script>
</head>

<body onload="hacerFrames()" >
<p>
Validar
</p>

<!--frameset cols="150,*" style="outline: 0; border: 0; margin: 0; padding: 0" >
	<frame name="izq" frameborder="0" noresize="noresize" src="izq.html" style="outline: 0; border: 0">
	<frameset rows="50%, *" style="outline: 0; border: 0; margin: 0; padding: 0" >
		<frame name="derarr" frameborder="0" src="derarr.html" >
		<frame name="deraab" frameborder="0" src="deraba.html" >
	</frameset>
</frameset-->

</body>
</html>
Pero es un arma de doble filo, porque por ejemplo en opera no se ve nada (tiene un soporte DOM un poco peor) y en mozilla hay más separación, pero supongo que tendría que usar el atributo frameborder, incluso framespacing...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 13/02/2005, 23:18
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 19 años, 7 meses
Puntos: 0
Un poco complicado
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #9 (permalink)  
Antiguo 14/02/2005, 02:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por Khronos
Un poco complicado
Sin duda complicado, y al no verse bien en algunos navegadores, nada recomendable...

Parece que tendré que olvidarme de la validación, ya que en los distintos sitios en donde encontré información se menciona el atributo border y eso no valida..., o retocar el diseño (creo que me vendría bien cambiar de imagen... )

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 14/02/2005, 09:58
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 19 años, 7 meses
Puntos: 0
Que tal si usaras el código válido, dejando los fondos en blanco, ya que así no se mira la pequeña franja blanca entre frames y luego embelleces el diseño en otra forma, usando, por ejemplo, tablas o capas con bordes redondeados o sombreados?
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #11 (permalink)  
Antiguo 14/02/2005, 16:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Gracias Khronos: Ya tengo que modernizarme, y algo haré. Aunque sería bueno que se pudieran resolver estos "problemillas".

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 14/02/2005, 17:17
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 19 años, 7 meses
Puntos: 0
Cita:
Iniciado por caricatos
Aunque sería bueno que se pudieran resolver estos "problemillas".
Sí... como el caso del detalle con archivos swf y el problema con <embed></embed> Sé que tienen una solucion, pero tambien es algo complicada tanto por el uso, como por compatibilidad con navegadores.

Por cierto, me gustaría mirar tu trabajo cuando ya lo tengas terminado, si no es mucha molestia.
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #13 (permalink)  
Antiguo 15/02/2005, 02:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por Khronos
...
Por cierto, me gustaría mirar tu trabajo cuando ya lo tengas terminado, si no es mucha molestia.
No hay problema, aunque también estaba esperando que mi servidor modernizase la versión php que tiene (sobre todo las librerías GD)

Seguramente opte por un sistema de pestañas e "Iframes" que me parece que validan mejor... probaré la validación con una página con iframes y luego decidiré.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.