Ahora veremos un punto importante: Supongamos que haces un frame de 100 píxeles de ancho a la izquierda de la ventana y otro de 100 píxeles de ancho a la derecha de la ventana. Como estás utilizando una resolución de 800x600 tienes un hueco en el centro de 600 píxeles de ancho. Todo va perfectamente... para tí. Si mi pantalla es de 640x480, esos frames de 100 píxeles que has puesto en tu página ahora miden 80 píxeles cada uno en la mía (640x100/800). Si haces uso de dimensiones absolutas en las sentencias <FRAMESET> utiliza SIEMPRE al menos un * como frame elástico. Así todo aparecerá correctamente en todas las pantallas y volverá a haber paz en la tierra y....

Esta es la causa de un problema tan común con los frames que quiero dedicarle un poco de atención. Un diseño muy popular de frame es una estrecha ventana en la izquierda, que contiene el índice de la página o los enlaces, y una gran ventana en la derecha, que contiene las páginas en sí. Es algo así. Aquí está el problema... Si divides las ventanas utilizando porcentajes (como en <FRAMESET COLS="15%,85%">) a tí te parecerá perfecto. Pero para alguien que utilice una resolución de pantalla diferente a la tuya (y estoy seguro de que hay a millares, o a millones) el asunto se parecerá a esto.

La razón por la que esto ocurre es porque has especificado que la ventana izquierda debe ser el 15%. ¿El 15% de qué? El 15% de la resolución horizontal de la pantalla del que visite tu página. Por lo tanto esa ventana izquierda le parecerá diferente a cada visitante que use una resolución distinta. ¿Cómo arreglarlo?. Me alegro de que lo preguntes. Utiliza una dimensión absoluta para la ventana izquierda y haz la ventana derecha elástica (como en <FRAMESET COLS="120,*">). Bingo. Problema resuelto.

Es buena idea hacer la dimensión absoluta más grande de lo que necesita ser. Dale un poco de espacio adicional por si acaso. Por ejemplo, si 100 píxeles son suficientes para que entre lo que quieres, entonces haz la ventana de 120 o 125 píxeles, no te arrepentirás.

Una buena forma para los usuarios de Win95 de comprobar esto es utilizar un juguetito de MS PowerToy llamado Quickres.


Bueno, al trabajo. Podemos hacer más de un frame y especificar la razón que mantendrán entre ellos.

<FRAMESET COLS="50,*,2*">
  <FRAME SRC="magda.html">
  <FRAME SRC="carmen.html">
  <FRAME SRC="mar.html">
</FRAMESET>

MÍRALO

Traducido esto dice: Haz 3 frames. Haz el primero de 50 píxeles de anchura. El resto dívidelo entre los frames 2 y 3 pero haz el frame 3 dos veces más grande que el 2. Coloca a Magda en el primer frame, a Carmen en el segundo y a Mar en el tercero.

Es importante hacer notar que todo se hace por orden. El primer <FRAME> se muestra de acuerdo con el primer atributo de la sentencia <FRAMESET> (50/magda), el segundo con el segundo atributo (*/carmen), y el tercero con el tercer atributo (2*/mar), y precisamente en este orden. Sé que esto puede parecer una chorrada, pero es muy importante y quería recalcarlo.


¿Qué hacemos si queremos dividir a Mar por la mitad horizontalmente? Recuerda que dije que si querías dividir algo debías usar la sentencia <FRAMESET>. Primero reemplaza a Mar con un par de sentencias <FRAMESET>.

<FRAMESET COLS="50,*,2*">
  <FRAME SRC="magda.html">
  <FRAME SRC="carmen.html">
  <FRAMESET>
  </FRAMESET>
</FRAMESET>

Ahora le hemos dicho al navegador: Haz 3 frames. Haz el primero de 50 píxeles de ancho. El resto dívidelo entre los frames 2 y 3 pero haz el frame 3 dos veces más grande que el 2. Coloca a Magda en el primer, y a Carmen en el segundo, y el tercer frame vamos a dividirlo más adelante. Ahora tenemos que especificar cómo vamos a dividir el tercer frame.


Vamos a dividirlo horizontalmente y por la mitad.

<FRAMESET COLS="50,*,2*">
  <FRAME SRC="magda.html">
  <FRAME SRC="carmen.html">
  <FRAMESET ROWS="50%,50%">
  </FRAMESET>
</FRAMESET>

Creo que podemos colocar a Mar arriba y a Gemma abajo. Y eso es todo.

<FRAMESET COLS="50,*,2*">
  <FRAME SRC="magda.html">
  <FRAME SRC="carmen.html">
  <FRAMESET ROWS="50%,50%">
    <FRAME SRC="mar.html">
    <FRAME SRC="gemma.html">
  </FRAMESET>
</FRAMESET>

MÍRALO