¡Cada día está más claro! El ordenador está perdiendo el combate contra la cantidad de dispositivos con los que podemos acceder hoy en día a la red, hasta tal punto que la venta de tablets y móviles han superado a las ventas de los ordenadores tanto de sobremesa como portátiles.
Hasta hace unos años era indispensable utilizar el PC para navegar por internet; ahora en cambio, es muy posible que
la mayoría de accesos se realicen desde plataformas mobileo móviles. Hoy en día todos llevamos un smartphone encima y nos comunicamos y procuramos información constantemente, por lo que se ha transformado en algo esencial optimar los sitios para un buen empleo en estos géneros de dispositivos.
Si no sabes si tu lugar Web está optimado para móviles,
Google pone a disposición una herramienta onlinepara que puedas comprobarlo.
Solo debes ir ae introducir la URL principal de tu lugar Web; en pocos segundos, te indicara si la página tiene un diseño optimado o no.
Si tu lugar Web no se muestra adecuadamente en los dispositivos móviles,
lo más seguro es que se estén escapando una parte importante de las visitas y
usuarios que desean ver tu páginay, lo más importante,
posibles clientes.
Es esencial tener una página web responsive, o sea, optimada para todo género de dispositivo. De forma general podemos distinguir 2 formas de optimización:
“Responsive Web Design”y
“Mobile First Web”.
Aunque van de la mano, hay que distinguir entre
Responsive Web Designo, lo que viene a ser lo mismo,
Diseño Web Adaptativo,y
Mobile First Web.Como su nombre indica, el Diseño Web Adaptativo es aquel capaz de adaptarse a diferentes tamaños y dispositivos, o sea, en dependencia de qué dispositivo sea en el que se cargue, tu sitio se verá más alcanzable y fácil de emplear. Sin embargo, lo que propone el término
Mobile Firstes comenzar a diseñar un sitio web desde la resolución más pequeña para ir medrando y amoldando el contenido y el diseño a la resolución más grande.
Hasta ahora todos los sitios web han sido diseñados solo para equipos de sobremesa y el proceso de navegar por las webs en los teléfonos móviles era bastante incómodo, debido a una mala experiencia de usuario. Sin embargo, las tecnologías están mudando y el principio de
Mobile First se está transformando en un concepto cada vez más extendido.
Si comenzamos maquetando un sitio web para la versión de escritorio y un usuario se conecta desde un dispositivo, primero cargará todo el contenido empleado en la primera versión, hasta cargar los recursos precisos para móvil. Por consiguiente, lo más recomendable es empezar a maquetar para la versión más pequeña, siempre y en toda circunstancia optimando el contenido que se utilice (hojas de estilos, ficheros, imágenes…), así
conseguiremos que el usuario no cargue más recursos de los necesarios, reduciendo el tiempo de carga del sitio.
La clave es conocer el tamaño, resolución o bien posibles orientaciones de las pantallas en las que necesitamos mostrar nuestro contenido basándonos en los usuarios que tenemos como objetivo.
Los pilares primordiales del
Responsiveson las
Media Queriesy la etiqueta
Viewport.
Las
Media Queriesson las
herramientas fundamentales que se hacen cargo de aplicar diferentes estilos para diferentes dispositivos, y dan la mejor experiencia para cada tipo de usuario que se encuentra navegando en tu sitio web. Nacen de la necesidad de
crear
breakpointso puntos de rupturaen la hoja de estilos CSS que tengas predefinida. Deja que tu sitio Web sea manejable desde diferentes dispositivos.
Si no te ha quedado clarísimo, las
Media Queriesson un
módulo de CSS que sirve para advertir el tipo de dispositivo por el que se está navegando;de esa forma el contenido consigue amoldarse al dispositivo concreto a través de las distintas condiciones que tú mismo asignas, como pueden ser ancho y alto de la ventana del navegador, ancho y alto del dispositivo, la resolución del dispositivo o la orientación de la pantalla. Son declaraciones lógicas que actúan dependiendo de las condiciones específicas que tú mismo declaras en la hoja de estilos. Si la premisa se cumple, se aplicaran los estilos definidos; si no, los omitirá por completo.
Hay 2 formas de implementarlas:
La
primera opciónpara poner en funcionamiento las
Media Querieses a través del atributo
mediade la etiqueta
<link>. Como sabemos, esta etiqueta es la que se usa para enlazar una hoja de estilo con un documento HTML. En ese link podemos
especificar condiciones que deben cumplirsepara que los estilos enlazados se apliquen. Debería ir en el
<head>de nuestro HTML.
especialistas en contenidos para google que la etiqueta
<link>tiene esta forma:
Pues ahora simplemente
agregamos el atributo
mediaindicando la condiciónque se debe cumplir para que estos estilos se apliquen:
Lo que específicamente l
e estamos indicando es que cargue la hoja de estilos “estilos.css” si se cumple que el dispositivo de salida es una pantalla, no una impresora o bien otro dispositivo (only screen),
y si la anchura de la ventana del navegador tiene de máximo 768 píxeles(max-width: 768px).
Si se cumplen las condiciones, los estilos se mostraran adecuadamente,
en caso contrario, los estilos se omiten por completo, y el contenido se muestra sin estilos definidos:
Cargar así las Media Queries
supone un problema, y es que toda vez que queramos cargar diferentes estilos en dependencia de ciertas condiciones que deseemos aplicar para diferentes dispositivos,
tendríamos que cargar una hoja de estilos nueva. Esto acarrea una carga más lenta de tu sitio, ya que se hacen solicitudes HTTP auxiliares, que se podrían evitar.
Hay
otro sistema más aconsejable para aplicar las
Media Queries:basta con
incluir todas las condiciones precisas en un único archivo CSS.Así,
incorporaríamos la construcción @mediaseguido de las condiciones que deseamos definir para cada tipo de dispositivo y donde se apliquen entre llaves los estilos concretos para cada uno de ellos. Es la manera más aconsejable, puesto que
la carga es de un único fichero CSS.
La forma de incluir Media Queries en la hoja de estilos CSS es la siguiente:
Esta Media Query
se ejecutará sólo cuando la anchura de la ventana del navegador sea menor de 320 píxeles.
Esta Media Query
se ejecutará sólo cuando la anchura de la ventana del navegador sea mayor de 768 píxeles.
Además de las características para determinar las resoluciones y anchos de pantalla,
podemos determinar otros parámetros, como por ejemplo la
orientación del dispositivo, importante en dispositivos móviles:
También
se pueden conjuntar más de una condición en la misma Media Querypara concretar todavía más un rango de resolución, mediante los operadores lógicos:
Para esta Media Querie
se mostrarán los estilos CSS cuando la anchura de la ventana del navegador sea entre trescientos veinte pixeles y 480 pixeles,ambos incluidos.
Estos son algunos de los
parámetros generales que se pueden emplear en el momento de edificar las condicionesen las Media Queries:
Excepto la orientación,
el resto de parámetros admiten los valores “max” y “min”.
Una cosa fundamental que debemos tomar en consideración a la hora de emplear las
Media Queries, es
diferenciar entre el ancho de ventana del navegador y la resolución de la pantalla del dispositivo, es decir:
En esta Media Querie que hemos definido, el atributo
min-device-widthse refiere a la resolución de la pantalla del dispositivoa la hora de cargar la hoja de estilos definida.
Esto quiere decir que
si reducimos el ancho del navegador, seguirá mostrándose de la misma manera,ya que la resolución de la pantalla seguirá siendo exactamente la misma y no se adaptara al nuevo ancho de la ventana del navegador (esto es, si la pantalla de nuestro móvil tiene 450 px y el navegador advierte que lo óptimo sería visualizarla con 600 px así lo hará si no empleamos la meta-etiqueta
Viewport).
En caso de utilizar los atributos para la
resolución de la pantalla, la etiqueta Viewport es necesaria.
El
Viewport es el área visual donde se plasma el contenido del documento HTMLde tu sitio. Se podría traducir como vista o ventana y nos sirve para delimitar
qué área de pantalla está disponible al renderizar un documento, la escala/zoom que debe enseñar inicialmente. Todo ello, con parámetros que le damos a la propia etiqueta
meta, separados por comas en caso de emplear más de uno:
1 representa no escalable
(diez para no tener zoom o bien 2.5 para tener un zoom del
2,5de aumento, por servirnos de un ejemplo).
Prácticamente
todos los navegadores de móviles inteligentes al entrar a un sitio examinan el tamaño total y lo escalan para que se muestre completo en la pantalla, este procedimiento produce en muchas ocasiones resultados inadecuados.
Por ejemplo, esta imagen mide trescientos veinte píxeles como la sitio web drupal , ahora bien,
la imagen aparece con un tamaño inferior a raíz del efecto de la escala automática.
La escala automática se puede evitar y supervisar muy fácil con el empleo de este atributo
Viewport: es un atributo del tag
<meta>que debe incluirse entre las etiquetas
<head>del documento HTML de tu lugar web:
Con solo añadir estas líneas de código,
la imagen se adaptará al dispositivo:
Es posible acotar un tamaño específico para el área perceptible del documento;
muchos sitios web ajustan de manera directa el Viewport a trescientos veinte pxpara ajustar la apariencia al display vertical de un móvil inteligente, usando un código afín a este:
Pero, con los diferentes equipos, dispositivos y tamaños de pantalla, definir un tamaño específico puede ser una mala práctica que puede enseñar resultados erróneos en ciertos equipos o bien cuando el dispositivo cambia de posición. Por suerte
podemos configurar el viewport para ajustarse dinámicamente al tamaño de cada dispositivousando el atributo “
device-width”, que es
equivalente al 100 por cien del ancho de la pantalla del dispositivo, independiente de su tamaño, posición o bien resolución:
El alto de la pantalla también es configurablecon las mismas propiedades a través del atributo “
height” , si bien –salvo condiciones muy específicas– no es preciso definirlo. Esta propiedad se asignará automáticamente a través del scroll.
También podemos
controlar la escala de la vista con el atributo “
initial-scale“. El sitio se mostrará al doble de su tamaño original:
Es posible además,
limitar el tamaño al que se puede escalar el sitiocon el atributo “
maximum-scale” . El próximo ejemplo muestra el documento en escala correcta y deja ampliar (zoom) hasta al doble de su tamaño.
Por último, está el atributo “
user-scalable”, que
controla los permisos de reducir/ampliar el documento.Con el siguiente código, el lugar se muestra en su escala original y no es posible mudar el tamaño desde el dispositivo móvil (importante mencionar que no se aconseja deshabilitar la opción de escalar el contenido).
En general, el atributo viewport permite muchas configuraciones, mas
para asegurar compatibilidad con la mayor cantidad de pantallas y navegadores móviles, se aconseja usar este formato como base:
Para lograr que nuestro sitio se adapte a los diferentes anchos de pantalla, estos parámetros serán muy útiles:
En resumen,
¿cuál es la mejor opción para tu sitio? La experiencia del usuario siempre y en todo momento será lo primero.
A los usuarios no les importa que versión uses ni como estés optimizando tu lugar web; su objetivo es
poder localizar lo que procuran de manera más eficaz y rápida. Por consiguiente,
si tu web está más centrada en el contenido, es mejor una
Responsive Web Design.Pero
si necesitas que el usuario interaccione mucho con la web, es mejor una
Mobile First, puesto que cada vez se consume más información desde los dispositivos móviles.
La conclusión es sencilla, los clientes están yendo más rápido que las propias empresas y estas deben amoldarse a ellos y a sus nuevas costumbres de consumo online a través de dispositivos. Esto es una solución para
reducir la tasa de rebote, haciendo que el usuario pase más tiempo en la página por su facilidad, comodidad, y óptima visualización y lectura de los contenidos.
A día de el día de hoy, Google valora todas y cada una aquellas
páginas web que se amoldan con perfección a cualquier dispositivo,ya sea PC, móvil, tablet… Por este motivo, es preciso que optimices tu sitio de forma que cualquier usuario pueda visualizar la página sin importar lo más mínimo el medio por el que acceda.
Y tu sitio, ¿se ve bien desde cualquier dispositivo?