Muchas veces te habrás preguntado cómo hacer para que tu web se vea bien en todo tipo de monitor, y distintas resoluciones de pantalla, o a lo mejor te dijeron que tu página web se ve distorsionada cuanto tu la vez perfectamente. Esto se debe a que no todos los usuarios usan la misma resolución en sus computadores, y otros usan un monitor de mayor o menor pulgadas que el tuyo.
La mayoría o el estandar es usar un monitor de 15 pulgadas con una resolución de 800x600 píxeles, y las web se suelen diseñar para ese estandar. Entonces si deseas que se vea bien en otras resoluciones debes tener en cuanta lo que detallo lineas abajo.
A la hora de elegir entre crear un sitio que se adapte a la resolución del usuario que lo visita o que este tenga fijo la resolución de 800x600, me termino basando en la cantidad de información y estructura del mismo.
Un sitio gráficamente rico, donde el sitio esta armado de trozos de imágenes y animaciones flash, y para poder garantizar el "cross-rowsing" (que se vea bien en distintos navegadores y sistemas operativos) es mas favorable resoluciones fijas, ya que las medidas de posiciones absolutas y relativas entre los distintos navegadores varia para div flotantes por ejemplo haciendo que la cantidad de calculos y de scripts necesarios para mantener la apariencia sea bastante grande.
Pero en sitios informativos donde existe una gran cantidad de textos y no tiene un trabajo complejo con respecto a la grafica, lo ideal es adaptarlo a las distintas resoluciones ya que es mas cómodo a los usuarios y se resuelve con tablas utilizando %.
Utilizar tablas es lo peor que se puede hacer. La manera adecuada de solucionar esto, es utilizar etiquetas <div> para delimitar la estructura del
documento, y hojas de estilos CSS para maquetar (posicionar y definir el
aspecto) de los contenidos.
Es en las hojas de estilos donde se deben definir espaciados en
porcentajes, y tamaños de letras y de determinados elementos en unidades como em y ex, que se ven igual en todas las resoluciones en todas las plataformas.
Además, utilizar tablas hace que la web deje de ser accesible, porque
confunde a p. ej. los lectores para ciegos (JAWS, etc). Las tablas son para datos tabulares, no para maquetar.
En cuanto a las imágenes, lo que se debe hacer es generarlas en el lado
del servidor, mediante programación PHP, JSP o similar. Los Flashes, SVGs y demás se pueden hacer autoadaptables a la resolución de pantalla, así que dan menos problemas en ese aspecto.
La resolución, por supuesto, se detecta usando Javascript.
Con la combinación de HTML, CSS, Javascript y PHP (o similar) que describo ahí arriba sólo hay que programar y diseñar la web UNA vez (eso sí, haciendo regresiones para calcular las ecuaciones que definirán los tamaños adecuados a cada resolución). Después, las hojas de estilos adaptan los espaciados y los textos al tamaño adecuado, y la programación server-side se ocupa de las imágenes. El ahorro en tiempo de desarrollo es abismal. De hecho, es más rápido (y por ende, barato para el cliente) hacer una web así que hacer una web para dos resoluciones (800x600 y 1024x768, p. ej.).
En lo personal suelo generar webs en 800x600, es mas fácil y rápido, a menos que el cliente pida que se adapte a todas las resoluciones donde allí el precio es mucho mayor ya que es mucho mas laborioso.
Otra solución seria generar distintas versiones de sitios para las distintas resoluciones, pero genera un aumento en el costo de desarrollo y mantenimiento, además del tiempo de desarrollo del mismo se alarga. Si deseas ver paso a paso como hacer esto lee abajo:
Optimización de la página web para todas las resoluciones
Actualmente casi todas las páginas están optimizadas únicamente para una resolución de 800 x 600 píxeles, y aunque la mayoría de equipos actualmente están configurados a dicha resolución, los monitores más antiguos no soportan más de 640 x 480 píxeles, y por el contrario, los equipos de última generación suelen tener configurado el monitor a 1024 x 768 píxeles, y pueden soportar hasta 1280 x 1024.
La optimización de una página únicamente a una resolución de 800 x 600 píxeles, puede llegar incluso a ser algo más que molesto para monitores de 640 x 480 píxeles, e incluso llegar a imposibilitar la navegación cuando se desactiva la opción de scroll de página en webs desarrolladas con frames.
Para solucionar este problema existe una posibilidad y aunque es un poco laboriosa, merece la pena ya que se consigue tener un sitio web optimizado para todas las resoluciones que se deseen.
Para ello es muy importante una buena organización desde el principio. La estructura de las carpetas si es la adecuada como se explica a continuación, permitirá ahorrar mucho trabajo, ya que evitará tener que renombrar archivos, editar vínculos y repetir imágenes que aumentan innecesariamente el tamaño del sitio con la consiguiente pérdida de tiempo al subirlos.
Para ello se recomiendan los pasos siguientes:
Crear una carpeta principal donde estará alojado el sitio web Ej. "miweb"
Dentro de miweb crear una carpeta llamada "imágenes" donde estarán las imágenes, otra llamada "sonidos" donde estarán los sonidos, "videos"y así sucesivamente según los recurso a utilizar. A continuación se crea una carpeta llamada es800600. Esta última carpeta contendrá sólo los archivos htm, php , cgi del sitio web que serán creados con una resolución de monitor de 800 x 600 píxeles.
Se crean dos carpetas llamadas es640480 y es1024768 dentro de "miweb"
Una vez que se tiene desarrollado el sitio web optimizado a 800x600 y se tiene ya la versión definitiva, se copia el contenido de la carpeta es800600 y se pega dentro de es640480 y es1024768.
Se cambia la configuración del monitor a 640x480 y se abren los archivos de la carpeta es64048, sólo habrá que volver a editarlos, principalmente es un trabajo de ajuste de tablas. NO HAY QUE RENOMBRAR LOS ARCHIVOS NI CAMBIAR LOS ENLACES.
Igualmente, se cambian la configuración del monitor a 1024x768 y se abren los archivos htm que corresponden, se editan y se guardan.
Si se desea crear una versión en inglés, sólo habrá que copiar las tres carpetas que empiezan por las letras "es", renombrar el comienzo por "en" y sustituir el texto por la versión inglesa, pero las imágenes no habrá que volver a subirlas, ni cambiar los enlaces ni los nombres de los archivos.
Crear el archivo principal de la página que está dentro de "miweb" y fuera de las anteriores carpetas. Dicho archivo principal, index.html debe contener el siguiente código en el body.
Pégalo como "Pegado especial" como "Tratar como HTML" en la vista Normal
<script language="JavaScript1.2">
/*
Diferentes versiones según la resolución
(Por Miguel Cruz, http://www.signo-net.com)
*/
//para resolucion 800x600
if (screen.width==800screen.height==600)
window.location.replace("es800600/index.htm")
// para resolucion 640x480
else if (screen.width==640screen.height==480)
window.location.replace("es640480/index.htm")
//para resolucion 1024x768
else if (screen.width==1024screen.height==768)
window.location.replace("es1024768/index.htm")
//para otras resoluciones
else
window.location.replace("es1024768/index.htm ")
</script>
Recuerda que este código hace referencia a los archivos index.htm y no en index.html
o sea, con la diferencia de la letra L
debes de modificar el código si tus páginas contienen la letra L
Recomendamos meterlo dentro de una celda para localizarlo mejor.
Ahora automáticamente el archivo principal index.html detectará la configuración del monitor del cliente y se cargará la versión correspondiente en función de la resolución detectada.
NOTAS:
Aunque hay tres carpetas para tres resoluciones, las carpetas de recursos (imágenes, sonido, video), son únicas, incluso si hacemos una versión en inglés, con lo que se ahorra espacio al no existir archivos repetidos y además, al sustituir una imagen, por ejemplo, ésta será sustituida en las tres versiones.
Asimismo hay servidores donde los cgi no funcionan fueran de la carpeta cgi-bin, con lo cual se complicará un poco el trabajo teniendo que modificar enlaces y renombrar archivos que era lo que se pretendía evitar.
Se puede añadir una cuarta carpeta: "otros" para añadir una cuarta versión de resolución que se cargará cuando no se cumple ninguna de las tres resoluciones anteriores, debido a que el monitor tiene una resolución mayor. Si no se va a realizar una cuarta versión, que tampoco recomiendo, ya que con tres versiones está bastante aceptable, dejar la versión para la resolución mayor que tengamos, ya que si no cumple ninguna de esas tres resoluciones será porque, lo más probable es que tenga configurado el monitor para una resolución mayor.
<<<<<>>>>>
Debes de crear estas tres carpetas en tu carpeta raíz (donde está todo lo que concierne a tu Web)
Crea una carpeta llamada es800600
Crea una carpeta llamada es640480
Crea una carpeta llamada es1024768
Empieza a crear la Web configurando antes tu monitor con la resolución de 800X600
Abre un nueva página e inserta algo en ella y la guardas como index.htm dentro de la carpeta es800600
A partir de aquí, puedes crear una Web guardando todas la páginas en dicha carpeta y siempre con la resolución que te dije (800X600).
Las imágenes y otros archivos las puedes meter donde quieras, esto no interfiere nada para este código.
Cuando termines la Web en esta carpeta (es800600) seleccionas todas las páginas que en ella insertaste, las copias y pegas en otra carpeta, por ejemplo en la de es640480 y vuelves a cambiar la resolución de tu monitor por la que corresponde, que será 640X480
Entonces debes de visionar todas las páginas de esta nueva carpeta (es640480) y reajustar su contenido de cada una de ellas a la nueva resolución.
Cuando termines con todas las modificaciones, haz lo mismo para la siguiente carpeta que será (es1024768) reajustando las páginas que en ella se encuentren a la resolución de 1024X768
Ahora, lo que nos falta es crear la página con el código que redireccionará al visitante a la carpeta correspondiente según sea su resolución.
Este código lo insertas dentro de las etiquetas <body> y </body> y guardas la página en la carpeta raíz... es aconsejable que sea la index.htm para que redireccione al visitante a la página index.htm de la carpeta que corresponda a su resolución.
Mas claro... la página index.htm del Web (en carpeta raíz) redireccionará al visitante a la index.htm de la carpeta que corresponde a su resolución.
La mayoría o el estandar es usar un monitor de 15 pulgadas con una resolución de 800x600 píxeles, y las web se suelen diseñar para ese estandar. Entonces si deseas que se vea bien en otras resoluciones debes tener en cuanta lo que detallo lineas abajo.
A la hora de elegir entre crear un sitio que se adapte a la resolución del usuario que lo visita o que este tenga fijo la resolución de 800x600, me termino basando en la cantidad de información y estructura del mismo.
Un sitio gráficamente rico, donde el sitio esta armado de trozos de imágenes y animaciones flash, y para poder garantizar el "cross-rowsing" (que se vea bien en distintos navegadores y sistemas operativos) es mas favorable resoluciones fijas, ya que las medidas de posiciones absolutas y relativas entre los distintos navegadores varia para div flotantes por ejemplo haciendo que la cantidad de calculos y de scripts necesarios para mantener la apariencia sea bastante grande.
Pero en sitios informativos donde existe una gran cantidad de textos y no tiene un trabajo complejo con respecto a la grafica, lo ideal es adaptarlo a las distintas resoluciones ya que es mas cómodo a los usuarios y se resuelve con tablas utilizando %.
Utilizar tablas es lo peor que se puede hacer. La manera adecuada de solucionar esto, es utilizar etiquetas <div> para delimitar la estructura del
documento, y hojas de estilos CSS para maquetar (posicionar y definir el
aspecto) de los contenidos.
Es en las hojas de estilos donde se deben definir espaciados en
porcentajes, y tamaños de letras y de determinados elementos en unidades como em y ex, que se ven igual en todas las resoluciones en todas las plataformas.
Además, utilizar tablas hace que la web deje de ser accesible, porque
confunde a p. ej. los lectores para ciegos (JAWS, etc). Las tablas son para datos tabulares, no para maquetar.
En cuanto a las imágenes, lo que se debe hacer es generarlas en el lado
del servidor, mediante programación PHP, JSP o similar. Los Flashes, SVGs y demás se pueden hacer autoadaptables a la resolución de pantalla, así que dan menos problemas en ese aspecto.
La resolución, por supuesto, se detecta usando Javascript.
Con la combinación de HTML, CSS, Javascript y PHP (o similar) que describo ahí arriba sólo hay que programar y diseñar la web UNA vez (eso sí, haciendo regresiones para calcular las ecuaciones que definirán los tamaños adecuados a cada resolución). Después, las hojas de estilos adaptan los espaciados y los textos al tamaño adecuado, y la programación server-side se ocupa de las imágenes. El ahorro en tiempo de desarrollo es abismal. De hecho, es más rápido (y por ende, barato para el cliente) hacer una web así que hacer una web para dos resoluciones (800x600 y 1024x768, p. ej.).
En lo personal suelo generar webs en 800x600, es mas fácil y rápido, a menos que el cliente pida que se adapte a todas las resoluciones donde allí el precio es mucho mayor ya que es mucho mas laborioso.
Otra solución seria generar distintas versiones de sitios para las distintas resoluciones, pero genera un aumento en el costo de desarrollo y mantenimiento, además del tiempo de desarrollo del mismo se alarga. Si deseas ver paso a paso como hacer esto lee abajo:
Optimización de la página web para todas las resoluciones
Actualmente casi todas las páginas están optimizadas únicamente para una resolución de 800 x 600 píxeles, y aunque la mayoría de equipos actualmente están configurados a dicha resolución, los monitores más antiguos no soportan más de 640 x 480 píxeles, y por el contrario, los equipos de última generación suelen tener configurado el monitor a 1024 x 768 píxeles, y pueden soportar hasta 1280 x 1024.
La optimización de una página únicamente a una resolución de 800 x 600 píxeles, puede llegar incluso a ser algo más que molesto para monitores de 640 x 480 píxeles, e incluso llegar a imposibilitar la navegación cuando se desactiva la opción de scroll de página en webs desarrolladas con frames.
Para solucionar este problema existe una posibilidad y aunque es un poco laboriosa, merece la pena ya que se consigue tener un sitio web optimizado para todas las resoluciones que se deseen.
Para ello es muy importante una buena organización desde el principio. La estructura de las carpetas si es la adecuada como se explica a continuación, permitirá ahorrar mucho trabajo, ya que evitará tener que renombrar archivos, editar vínculos y repetir imágenes que aumentan innecesariamente el tamaño del sitio con la consiguiente pérdida de tiempo al subirlos.
Para ello se recomiendan los pasos siguientes:
Crear una carpeta principal donde estará alojado el sitio web Ej. "miweb"
Dentro de miweb crear una carpeta llamada "imágenes" donde estarán las imágenes, otra llamada "sonidos" donde estarán los sonidos, "videos"y así sucesivamente según los recurso a utilizar. A continuación se crea una carpeta llamada es800600. Esta última carpeta contendrá sólo los archivos htm, php , cgi del sitio web que serán creados con una resolución de monitor de 800 x 600 píxeles.
Se crean dos carpetas llamadas es640480 y es1024768 dentro de "miweb"
Una vez que se tiene desarrollado el sitio web optimizado a 800x600 y se tiene ya la versión definitiva, se copia el contenido de la carpeta es800600 y se pega dentro de es640480 y es1024768.
Se cambia la configuración del monitor a 640x480 y se abren los archivos de la carpeta es64048, sólo habrá que volver a editarlos, principalmente es un trabajo de ajuste de tablas. NO HAY QUE RENOMBRAR LOS ARCHIVOS NI CAMBIAR LOS ENLACES.
Igualmente, se cambian la configuración del monitor a 1024x768 y se abren los archivos htm que corresponden, se editan y se guardan.
Si se desea crear una versión en inglés, sólo habrá que copiar las tres carpetas que empiezan por las letras "es", renombrar el comienzo por "en" y sustituir el texto por la versión inglesa, pero las imágenes no habrá que volver a subirlas, ni cambiar los enlaces ni los nombres de los archivos.
Crear el archivo principal de la página que está dentro de "miweb" y fuera de las anteriores carpetas. Dicho archivo principal, index.html debe contener el siguiente código en el body.
Pégalo como "Pegado especial" como "Tratar como HTML" en la vista Normal
<script language="JavaScript1.2">
/*
Diferentes versiones según la resolución
(Por Miguel Cruz, http://www.signo-net.com)
*/
//para resolucion 800x600
if (screen.width==800screen.height==600)
window.location.replace("es800600/index.htm")
// para resolucion 640x480
else if (screen.width==640screen.height==480)
window.location.replace("es640480/index.htm")
//para resolucion 1024x768
else if (screen.width==1024screen.height==768)
window.location.replace("es1024768/index.htm")
//para otras resoluciones
else
window.location.replace("es1024768/index.htm ")
</script>
Recuerda que este código hace referencia a los archivos index.htm y no en index.html
o sea, con la diferencia de la letra L
debes de modificar el código si tus páginas contienen la letra L
Recomendamos meterlo dentro de una celda para localizarlo mejor.
Ahora automáticamente el archivo principal index.html detectará la configuración del monitor del cliente y se cargará la versión correspondiente en función de la resolución detectada.
NOTAS:
Aunque hay tres carpetas para tres resoluciones, las carpetas de recursos (imágenes, sonido, video), son únicas, incluso si hacemos una versión en inglés, con lo que se ahorra espacio al no existir archivos repetidos y además, al sustituir una imagen, por ejemplo, ésta será sustituida en las tres versiones.
Asimismo hay servidores donde los cgi no funcionan fueran de la carpeta cgi-bin, con lo cual se complicará un poco el trabajo teniendo que modificar enlaces y renombrar archivos que era lo que se pretendía evitar.
Se puede añadir una cuarta carpeta: "otros" para añadir una cuarta versión de resolución que se cargará cuando no se cumple ninguna de las tres resoluciones anteriores, debido a que el monitor tiene una resolución mayor. Si no se va a realizar una cuarta versión, que tampoco recomiendo, ya que con tres versiones está bastante aceptable, dejar la versión para la resolución mayor que tengamos, ya que si no cumple ninguna de esas tres resoluciones será porque, lo más probable es que tenga configurado el monitor para una resolución mayor.
<<<<<>>>>>
Debes de crear estas tres carpetas en tu carpeta raíz (donde está todo lo que concierne a tu Web)
Crea una carpeta llamada es800600
Crea una carpeta llamada es640480
Crea una carpeta llamada es1024768
Empieza a crear la Web configurando antes tu monitor con la resolución de 800X600
Abre un nueva página e inserta algo en ella y la guardas como index.htm dentro de la carpeta es800600
A partir de aquí, puedes crear una Web guardando todas la páginas en dicha carpeta y siempre con la resolución que te dije (800X600).
Las imágenes y otros archivos las puedes meter donde quieras, esto no interfiere nada para este código.
Cuando termines la Web en esta carpeta (es800600) seleccionas todas las páginas que en ella insertaste, las copias y pegas en otra carpeta, por ejemplo en la de es640480 y vuelves a cambiar la resolución de tu monitor por la que corresponde, que será 640X480
Entonces debes de visionar todas las páginas de esta nueva carpeta (es640480) y reajustar su contenido de cada una de ellas a la nueva resolución.
Cuando termines con todas las modificaciones, haz lo mismo para la siguiente carpeta que será (es1024768) reajustando las páginas que en ella se encuentren a la resolución de 1024X768
Ahora, lo que nos falta es crear la página con el código que redireccionará al visitante a la carpeta correspondiente según sea su resolución.
Este código lo insertas dentro de las etiquetas <body> y </body> y guardas la página en la carpeta raíz... es aconsejable que sea la index.htm para que redireccione al visitante a la página index.htm de la carpeta que corresponda a su resolución.
Mas claro... la página index.htm del Web (en carpeta raíz) redireccionará al visitante a la index.htm de la carpeta que corresponde a su resolución.
Mas información en: Dominio y Host
Hola:
ResponderEliminarHe hecho lo que explicas arriba y sigue sin funcionar bien..
Mi problema principal es que el fondo de mi web es una foto y dentro he incluido el resto, ya que para mi web lo quiero así, pero se ve diferente en mi portatil que en el de sobremesa...me estoy volviendo loca, casi había terminado y cuando lo pruebo en el otro ordenador se ve fatal...en fin seguiré probando, aunque no encuentro el fallo, gracias por tu escrito que igual está genial!
A mi me pasa lo mismo que ati. ¿Has poido solucionarlo?
Eliminarno funciona nada.. explícanos mejor has un vídeo en youtube
ResponderEliminar