Frames

Buenos días,
Me he creado una página con cuatro frames a los lados, con lo que queda uno central (resolución 800x600). Me gustaría que cuando lo visualice en Internet Explorer, al maximizar la pantalla no se maximicen los frames (incluido el central). He probado metiendo tablas de una celda ajustando el tamaño, incluso también capas, pero no me convence.
¿Hay alguna forma para dejarlo con un tamaño fijo todo? Imagino que tiene que haber una forma de hacerlo, pero le estoy dando muchas vueltas y no lo veo.
¿Me podrías echar un cable?
Muchas gracias!
DaniPeich!
Respuesta
1
Sí que lo puedes solucionar... Es fácil, sólo tienes que ajustar el tamaño de los frames que no quieres que se redimensionen.
En el código html de la página que hace los frames verás algo parecido a esto:
<frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
<frame name="leftFrame2" scrolling="NO" noresize src="UntitledFrame-5.htm">
<frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
<frame name="leftFrame1" scrolling="NO" noresize src="UntitledFrame-3.htm">
<frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
<frame name="leftFrame" scrolling="NO" noresize src="UntitledFrame-2.htm">
<frame name="mainFrame" src="Untitled-1.htm">
</frameset>
</frameset>
</frameset>
El asterisco * significa que no hay un tamaño definido así que el frame al que corresponde se redimensionará,
pero el que tiene un 80 no será nunca más ancho de 80...
¿Ok?
Frameset cols="80,*" >>> Con este código es como el html define el ancho de columna... también admite tantos por ciento.
Ten cuenta que si tienes 4 frames, debes dejar uno con el asterisco en el ancho, uno al menos, ya que uno va a tener que redimensionarse, en tu caso sería el central.
Procura que el principal sea el que se va redimensionar, y que los marcos añadidos sean los que tengan el tamaño fijo.
Si no quieres que se redimensione ningún frame... te aconsejo que hagas una página de inicio normal, sin frames, que llame con un link a la página de los frames, pero abriéndolo en ventana nueva, porque a esa ventana sí le puedes ajustar el tamaño a tu gusto.

5 respuestas más de otros expertos

Respuesta
1
Dani:
Interesante pregunta (esta introducción me dará tiempo para pensar en algo)
:-)
Se me ocurre que si dejas todos tus frames fijos (asignados preferentemente a pixeles y con noresize) y luego agregas en la parte exterior otros frames que sean de alto/ancho relativo (eh... y sin noresize) podrás encontrar una solución que te ayude.
Como ejemplo te mando este código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="*,100,150,100,*" cols="*,100,150,100,*" frameborder="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="UntitledFrame-12.htm" noresize>
<frame src="UntitledFrame-13.htm" noresize>
<frame src="UntitledFrame-14.htm" noresize>
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="UntitledFrame-10.htm" noresize>
<frame src="Untitled-2.htm" noresize>
<frame src="UntitledFrame-11.htm" noresize>
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="UntitledFrame-15.htm" noresize>
<frame src="UntitledFrame-16.htm" noresize>
<frame src="UntitledFrame-17.htm" noresize>
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
<frame src="bla.htm" scrolling="no">
</frameset>
<noframes><body>
</body></noframes>
</html>
Como puedes ver en los extremos hay un frames que contienen un archivo "bla.htm" que bien puede ser un archivo en blanco (o el color o textura de tu sitio) y este se ajusta para mantener los frames interiores en su tamaño asignados.
Espero haberte ayudado... después de estar registrado en todoexpertos.com por más de 2 años, eres la primera persona que me pregunta algo y... bueno... casi no te contesto. :-P
Suerte.
José "Shaggy" López
Respuesta
1
A ver si en la página principal (la que controla todos los frames) tienes los tamaños definidos en % (porcentajes) o en px (pixeles) de ello depende el que sea variable o constante.
Para que sea fijo tendrás que tenerlo en px.
Respuesta
1
Sabes en un tiempo tuve el mismo problema que tu y de echo si haces una web con frames cortados
me explicare cortados para mi es esto
<html>
<head>
</head>
<frame name="SUPERIOR" target="inferior" src="top.html" scrolling="no" noresize>
<frame name="inferior" target="inferior" src="contenidos.htm" scrolling="auto">
<noframes>
<body>
<p>Esta página usa marcos, pero su explorador no los admite.</p>
</body>
</noframes>
</frameset>
</frameset>
</html>
Al momento de maximizar minimizar le pasa a toda la page o incluso cuando cambias de resolución por lo que yo hice una web con marcos flotantes
que quiere decir eso que haces tu web como quieras con tablas o con lo que quieras
y si quieres digamos que arriba salga publicidad
en una celda o en una tabla insertas un marco flotante y ahí se ve y el contenido se ajusta al marco
ok
saludos esperando te sirva pongo un link en mi servidor con un ejemplo que hice
te fijas en la parte de arriba sale unas cosas que están en otra web y en el centro sale la página de todo expertos
http://www.tododurango.com/todoexpertos/index.htm
Respuesta
1
El uso de frames tiene que ser cuidadoso, los tamaños siempre son relativos con los frames así que es bien difícil arreglar tu diseño como necesitas, te recomiendo que busques otras disposición de la página con menos frames
CesarS2
Respuesta
1
Mi recomendación es que cambies los frames por layer a menos que sean necesarios en extremo de ser necesarios introduce toda la página en un <div> para ponerle el estilo de frame a un layer colocas el siguiente tag
<div style="height:200;width:100 overflow:auto">
con esto solucionas tus problemas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas