Tutorial: Transforma tu web en Adaptable Design |
Internet no para de evolucionar en todos los sentidos, incluso en su tecnología. Hay cosas que se marchan poniendo de moda y después, poco a poco, se marchan dejando de lado, otras en cambio llegan con suficiente fuerza para que todos sepamos que marcan el "camino a seguir".
El "Adaptable Design" o bien en español "Diseño adaptativo", es una de estas últimas. Un sistema basado en los estándares web actuales que deja que nuestras webs se adapten a la pantalla del usuario que está viéndolas. El Responsive Design se ha puesto muy de moda con el apogeo de la navegación móvil, mas va considerablemente más allí, se trata de webs con diseños inteligentes (smart que dirían los ingleses) que facilitan la usabilidad de las webs en funcion de quien las observa.
Pero el Responsive Design no son bien simples añadidos a una web, es una filosofía del desarrollo del front de exactamente la misma totalmetne distinta y que abarca tal cantidad de detalles que resulta inaccesible para muchas empresas y verdaderamente complejo para otras. Realmente yo a día de el día de hoy no recomiendo realizar webs en Adaptable Design, puesto que no estamos dispuestos para ello, pero si que podemos sacar algunos conocimientos sobre estas aplicaciones para hacer nuestras webs seudo-amoldables y prosperar la experiencia del usuario. Quizás no hasta el nivel que los diseños responsive que vamos viendo nos marcan mas si con suficiente calidad para que el ratio "mejoría/coste" nos merezca la pena.
Básicamente por dos motivos:
En terminante, precisamos más tiempo para que la mayoría puedan permitirse trabajar con diseños adaptativos. Necesitamos que los conocimientos globales del sector (maquetadores, diseñadores, programadores e inclusive el personal comercial y de marketing) evolucionen en este sentido. Solo de esta manera podremos acortar los tiempos de desarrollo de un diseño adaptativo y hacerlo práctico para su uso en webs normales. La realidad es que a día de hoy puede resultar considerablemente más rápido sacar una nueva versión de la web para moviles que rediseñarla a fin de que sea adaptable.
Eso no quiere decir que nadie pueda lanzarse. Es normal que algunos deseen destacar y ser de los primeros y más "avanzados". Genial! Que abran el camino y nos muestren luego sus errores al resto de mortales.
Como decía ya antes, no lanzarnos a volver a diseñar todas nuestras webs no significa que no podamos aprovechar las nuevas posibilidades que se nos ofrecen para hacer pequeños cambios en nuestras webs y por lo tanto mejorar sensiblemente su adaptación a diferentes navegadores y dispositivos.
Para ello, consultoria web madrid que ver es de qué forma es nuestra página web. Sobretodo a nivel de maquetación y esencialmente estructura HTML y CSS y a partir de ahí ver que pequeñas mejoras deseamos aplicar.
Antes siquiera de plantearnos la posibilidad de "arreglar" nuestras webs para hacerlas más amoldables debemos conocer ciertas técnicas y consejos que nos vendrán muy bien para trabajar y sin los que el trabajo no se hace solo complicado sino más bien prácticamente imposible.
1. El no es imprescindible pero ayuda
Una web en código HTML semántico es una web cuya maqueta se ha realizado adecuadamente. Donde se han utilizado solo los elementos HTML imprescindibles, pensando más en el significado de cada etiqueta que en el diseño y dejando por lo tanto todo el trabajo de diseño al CSS basándonos en clases y también ID's.
Si bien no es necesario emplear adecuadamente los DIV, P, UL, LI, etcétera en nuestras maquetas para hacer Responsive Design lo que si que es es cierto que cuando menos la una parte de eliminar todo el diseño de la maqueta debemos cumplirla. Es decir, no podemos emplear CSS intrusivo (nada de atributos "style" en medio del código) y cuanto más limpio (y con menos divs) sea nuestro HTML más fácil va a ser efectuar las adpataciones, puesto que el CSS tendrá más poder sobre el resultado final.
2. Elección del Zoom en los navegadores móviles
Dado que esta claro que han existido ya antes los navegadores móviles que los diseños amoldados a ellos estos utilizaron desde el principio herramientas de zoom para poder visualizar webs completas. Si tu entras en una web normal con un móvil no vas a ver la resolución real de tu móvil sino una versión que realiza un zoom para adecuarse a los 960px de ancho.
Este es su comportamiento por defecto, no obstante, también se han creado etiquetas HTML para cambiarlo. Así, si vamos a amoldarnos un poco a resoluciones móviles podemos sencillamente apuntarle al móvil que use otro tipo de escalado.
Para ello se utiliza la meta-etiqueta "viewport" (a agregar en el head de la página), donde podemos especificar el comportamiento que esperamos que tenga un navegador de estas peculiaridades en con nuestra web.
Esta es la configuración de la etiqueta viewport más usada para adaptable design, mas no es la única que podemos usar. Debemos entender las dos variables que acá aparecen a fin de que el movil se adapte a nosotros y no al revés.
En webs que no llegan a ser completamente amoldables (o bien que no lo son en lo más mínimo) resulta muy útil, al poder controlar el ancho de nuestro navegador. Pongamos que tengo una web de 1200px de ancho y no voy a hacerla adaptable. Indicando el width a 1200px cuando menos conseguire que la primera visualización desde movil la contemple entera.
Por supuesto si crearemos un diseño amoldado al ancho del movil la configuración de initial-scale=1.0 es la conveniente puesto que solicitamos al movil que no haga ningún género de zoom, pero en muchas ocasiones va a ser mejor no utilizar esta variable y permitir al móvil que adapte el solo el zoom al width que le hemos definido.
Por ejemplo, si indicamos que nuestro width es de 500px y también indicasemos initial-scale, la página web tomaría el aspecto de una pantalla de 500px pero el en móvil solo veríamos la configuración original del móvil (que equivaldrían a unos 320px de los 500px totales en general). Sin embargo si no indicamos initial-scale la página web se mostraría con el zoom adaptado para verla completa (probablemente los 500px declarados).
En webs que no llegan a ser totalmente amoldables (o que no lo son en absoluto) resulta muy útil, al poder supervisar el ancho de nuestro navegador. Pongamos que tengo una web de 1200px de ancho y no voy a hacerla responsive. Indicando el width a 1200px cuando menos conseguire que la primera visualización desde móvil la contemple entera.
Por supuesto si vamos a crear un diseño amoldado al ancho del móvil la configuración de initial-scale=1.0 es la conveniente puesto que solicitamos al movil que no haga ningún género de zoom, pero muchas veces será mejor no utilizar esta variable y permitir al móvil que adapte el solo el zoom al width que le hemos definido.
Por ejemplo, si señalamos que nuestro width es de 500px y también indicasemos initial-scale, la web tomaría el aspecto de una pantalla de 500px mas nosotros el en móvil solo veríamos la configuración original del móvil (que equivaldrían a unos 320px de los 500px totales en general). No obstante si no indicamos initial-scale la web se mostraría con el zoom amoldado para verla completa (seguramente los 500px declarados).
Por lo tanto tenemos dos típicas configuraciones de viewport...
Para webs con responsive design amoldado a la perfección a resoluciones móviles:
Para webs que no se han adaptado totalmente a resolución móvil:
Existen otras configuraciones, como por ejemplo crear webs con un ancho de móvil pero con zoom ya aplicado para mostrar solo una parte... pero son webs extrañas con una usabilidad dudosa.
3. Las media queries
Las media queries son sentencias del CSS que nos permiten hacer declaraciones que solo se apliquen en nuestros diseños si se cumplen determinados requisitos que nosotros declaramos. Estas media queries se pueden aplicar básicamente en dos posibles puntos de la página web.
Las media queries son verdaderamente potentes y permiten salirse del responsive design para cubrir aspectos muy diferentes de nuestras webs. Seguidamente incluyo unos links a fin de que puedas informarte sobre ellas en tanto que no deseo complicar este artículo con explicaciones de cosas que luego no vamos a emplear.
Para lo que nos resulta de interés nos basta saber dos cosas. Por un lado como se declaran estas media queries en nuestro archivo CSS y por otro como dotar a los navegadores IE viejos de esta funcionalidad.
3.1 Declaración de media queries
Para declarar un fragmento de CSS dentro de un condicional marcado por una media query:
Donde además vamos a ver que lo más seguro es que apliquemos condiciones basadas en el ancho de pantalla que generan 3 géneros de media queries:
Aplicar solo en resoluciones de menos de X píxeles de ancho:
Aplicar solo en resoluciones de más de X pixeles de ancho:
Aplicar solo en resoluciones entre X e Y pixeles de ancho:
Depende de nuestros gustos como utilicemos, pero lo normal es emplear solo la primera de forma acumulativa de manera que conforme hacemos el ancho más pequeño vayamos alterando elementos en nuestros diseños.
3.1 Compatibilidad de media queries con Internet explorer
Como siempre y en todo momento, explorer no va a soportar muchas cosas que a día de hoy ya son de dominio público. Por suerte siempre existen desarrolladores muy motivados que nos crean librerías para dotar compatibilidad a estos navegadores. En este caso nos hallamos con una librería javascript que simplemente debemos añadir para IE de versiones anteriores a la nueve.
Bastará cargar este script en el head de nuestra página y ya vamos a poder utilizar media queries sin inconvenientes.
Como todas y cada una estas librerías, el resultado no es exacto mas si que da una enorme compatibilidad en la mayoría de los casos.
Una vez hemos visto los detalles de tecnología nuevos a usar con este género de diseños debemos ver como manejarlos. Como decía antes, soluciones hay miles, pero veamos la base que forma la concepción de la mayoría de diseños adaptativos el día de hoy en día:
Estamos habituados a que nuestras webs sean fijas, tal cual se diseñan en Photoshop las mostramos en nuestra web. Esta claro que la equivalencia no es pixel a pixel pero se aproxima bastante una visualización a otra. En responsive design esto cambia. Nos hallamos con una infinidad de dispositivos donde deseamos que nuestra página web se adapte a la perfección. Mas estos dispositivos vamos a dividirlos en 3 grupos básicos para saber como afrontarlos:
Lo que debemos buscar entonces es como dar salida, con nuestro diseño actual a un diseño valido y usable para todas y cada una con nuestro actual diseño y maqueta de página. Esto, dependiendo de como esté maquetada nuestra página puede darnos aproximadamente problemas, mas en general, con el género de trabajo que se efectúa hoy día podemos lograr ciertas cosas.
En este aspecto en general no hay mayor inconveniente ya que nuestra página web ya ha sido creada para ser vista en pantallas grandes. A día de hoy lo normal es que nuestra web tenga un marco centrado de 960px de pantalla y de esta forma encaje bien siendo cargada con el zoom aplicado en la mayor parte de móviles. Si nuestra página web es un poco vieja es posible que tenga aun ciertos píxeles más habiendo sido concebida para pantallas de 1024px de ancho.
Sea como sea, lo razonable es que nuestra web disponga de contenedores de este tipo:
Esta sintaxis nos permite crear un contenedor (main) que queda centrado en la página. Además de esto con diferentes backgrounds será posible decorar el exterior de la página para darle un tanto de diseño y no dejarla toda blanca o negra.
En fin, en estos casos no hay mucha cosa que hacer con pantallas grandes. Es verdad que posiblemente nuestra página web sea vista en un T.V. donde además de gran pantalla nos encontramos con que el usuario navega a cierta distancia del monitor. Esto requeriría de tratar estas pantallas como los móviles (con grandes cambios) pero realmente es tan poca la gente que navega en su televisor que no acostumbran a merecer la pena estas adaptaciones. Si aún de esta forma, quieres crear tu adaptación a televisores puedes jugar con reglas similares a las de móvil que se van a explicar más adelante.
Aquí es donde comenzamos a localizar nuestros problemas. Nuestra web está preparada para un ancho de pantalla y resulta que tenemos un porcentaje de usuarios significativo con resoluciones menores.
Comprobar si esto nos está sucediendo es sencillo si usamos Analytics o bien cualquier otro sistema de analítica de página. Ahí podremos localizar no solamente las resoluciones de pantalla de nuestros usuarios sino unas partes de nuestra web suelen verse en nuestra web. Hace no mucho disponíamos de una herramienta llamada "Google Browser size", mas está obsoleta a favor de exactamente la misma funcionalidad en Analytics.
Lo primero que tenemos que decidir es en que punto acaba la pantalla pequeña y cuando empieza la móvil. Es decir, esta claro que nuestra web no cabe en resoluciones pequeñas y vamos a deber encogerla un tanto para ellas, pero va a llegar un momento en el que deje de tener sentido este "encogimiento" simple por unir demasiados elementos en la pantalla con el mismo. Para tomar esa resolución conozcamos algunos datos sobre los móviles:
El estándar que se está adoptando es trabajar encogiendo la página para resoluciones pequeñas hasta los 400px de ancho, medida desde la cual se comprende que el dispositivo debe mudar radicalmente su visionado y probablemente funcionamiento básico. También encontraremos como ciertas personas deciden visualizar encogiendo hasta los 600px de ancho y desde ahí comienzan a crear versiones intermediasentre pantalla pequeña y móvil.
Por último, asimismo sabemos que el mínimo de ancho en el que tenemos que meditar estará en los 320px de ancho, lo cual nos deja además tener un margen desde el que no operar en absoluto.
Tu decides, yo creo que procurar englobar todos los dispositivos es una locura. Al final lo que tenemos que pensar es en estilos de navegación del usuario donde solo tenemos tres.
Así, entiendo la "pantalla pequeña" como una mezcla de pc, móviles horizontales y tablets, lo que la vuelve levemente compleja en si misma, pero nos simplifica el trabajo real de maquetación por bloques al aunar todos estos dispositivos en una sola acción.
Bien, una vez decidido nuestro ancho móvil, lo que debemos hacer es trabajar en esa visualización intermedia transformando los bloques que tenemos en la actualidad para que puedan cambiar de tamaño en función del tamaño de pantalla.
Contenedores globales de la página
Llamamos contenedores globales a aquellos que marcan los anchos globales de nuestra web. Esos que decíamos antes que nos dejaban centrarla y dalre un ancho específico.
Los contenedores globales son los más simples de adaptar pues lo único que debemos hacer es no ser tan rígidos con su ancho y pasar de un ancho fijo a un ancho máximo. Dicho de otro modo, bastará con que en mi declaración inicial del marco de la página pase de "width" a "max-width". Además de esto y puesto que hemos pensado en cual será nuestra resolución mínima para pantallas móviles añadiremos esta como min-width para supervisar que ante dispositivos realmente extraños no provoquemos una página no controlada.
El resultado va a ser el mismo para pantallas grandes y sin embargo, veremos como al hacer más pequeña nuestra página este marco se va haciendo más pequeño.
Os voy poniendo ejemplos sobre la transformación que he ido efectuando en mi blog (blog.ikhuerta.com, esto es la página web que ves ya)
En mi caso marcado un ancho de 1080px de página que se aplicaba en los elementos de cabecera, contenido principal y footer. Mi primer paso ha sido por tanto pasar esa medida, en los distintos bloques globales a ancho máximo de página en lugar de fijo. En tu caso esto podría representar aproximadamente sentencias dependiendo de la cantidad de bloques de este género que utilices.
Contenedores interiores
A partir de aquí es donde acostumbramos a comenzar a tener inconvenientes. Nuestra página probablemente va a estar formada por un layout que se va a dividir en múltiples piezas:
En definitiva, tenemos algunos contenedores que seguramente van a tener un ancho fijo para marcar columnas en la web. Luego estos podrán haberse transformado en columnas con diferentes técnicas (floats en la mayor parte de los casos, display:inline o en otros). Así que lo próximo que tengo que hacer es convertir esos valores en declaraciones menos estrictas y que respeten que el contenedor primordial ya no mide exactamente lo que habíamos marcado.
Es decir, debemos pasar de Pixeles a porcentajes todo cuanto represente algún espacio en el ancho de página: widths, max-widths, margins y paddings.
Por suerte, una vez está terminada nuestra maqueta este paso es realmente fácil. Tan solo tenemos que hacer una pequeña división para saber el valor porcentual que representa una medida en pixeles sobre la de su elemento contenedor.
[Px de ancho elemento interior] / [Px de ancho elemento padre] * cien
En mi caso, para este weblog, tuve la suerte de que muchos contenedores ya estaban en medida porcentual. Esta es buena costumbre de maquetación, si porcentualmente hay un valor claro es preferible emplearlo de esta forma para futuros cambios independientemente de si usamos o no responsive design.
El elemento más molesto que me hallé fue el columnado que al estar desarrollado con elementos float al hacer más pequeño el marco el sidebar pasaba a quedar bajo el contenido. Así que realizamos los cálculos de los elementos en el div de contenedor global (que recordemos tenía un ancho de 1080px) y pasamos a porcentaje estas medidas.
Nótese que hemos transformado no solamente los anchos, sino más bien asimismo los márgenes horizontales para que toda la web siga cuadrando. Asimismo hemos incluido un gran número de decimales en el cálculo para ser lo más precisos al original.
Elementos interiores sueltos que crecen demasiado
En algunas ocasiones es posible que nos encontremos con elementos sueltos dentro de nuestra maqueta que por sus características pueden llegar a hacerse más grandes de lo que lo es su contenedor con max-width.
Lo mejor para advertir estos elementos es ir jugando con tu tamaño de navegador para detectarlos y corregirlos. Pero en muchas ocasiones va a ser más rápido y de qué forma seleccionar nuestors contenedores y prohibir que ninguno de sus elementos interiores crezca más de lo que mide el propio contenedor.
En mi caso he decidido aplicar esta corrección en mi contenido primordial y mi sidebar, de forma que algunos problemas (sobretodo derivados de widgets como facebook y twitter) se solventasen por si acaso solos.
Elementos posicionados en absoluto
Para los elementos posicionados en lo más mínimo habrá que realizar el mismo proceso que con los anchos de elemento. Estos van a deber adaptarse a porcentajes en su eje X y variar su ancho.
En mi caso, disponía de múltiples elementos en lo más mínimo en la cabecera con lo que he debido amoldar sus situaciones para que no quedaran flotando en el aire al hacer más pequeña la página.
Elementos que no caben... nuestras primeras "Media Queries"
Por mucho que amoldemos nuestros anchos es probable que haya elementos que simplemente por el contenido que deben incluir no quepan en el diseño. Estos elementos nos están molestando y haciendo que todos nuestros cambios se vean mal. Para evitarlo deberemos empezar a hacer uso de media queries fáciles que nos dejen cambiar drasticamente el CSS cuando se generen ciertas dimensiones.
Las media queries son todo un planeta, incluso a día de hoy que no han sido totalmente explotadas, se pueden hacer cosas pasmosas con ellas. Pero nosotros lo que vamos a hacer va a ser algo sencillísimo, simplemente las usaremos para marcar condiciones sobre el ancho de pantalla a partir del como nuestro CSS cambie.
Recordemos esa sintáxis:
Estas media queries, para este caso específico, en el que solo buscamos amoldar el diseño a diferentes resoluciones, nos servirán sobretodo para ocultar ciertos elementos secundarios que a partir de cierto ancho de pantalla molestan más que asisten al usuario y para hacer pequeñas adaptaciones para que algunos objetos quepan en el diseño ante diferentes situaciones.
En mi caso, he decidido ocultar ciertos elementos con resoluciones menores de 800px o bien 600px, pues no dejaban que se pudiese ver bien el contenido primordial del weblog.
En resoluciones de menos de 800px, oculto los botones de like, el breadcrumb, los botones sociales y alguna cosilla más. Desde menos de 600px he decidido además eliminar los últimos tuits del sidebar para que no quedara todo tan apretado.
Sencillo, ¿verdad??
Pero las media queries no solo sirven para esconder contenido. Sino que dejan hacer modificaciones en ciertos estilos. Esto es singularmente útil cuando un elemento no se amolda sencillamente con anchos pero aun no deseamos hacerlo desaparecer. En ese instante le cambiamos un poco el estilo para que se adapte a lo que buscamos.
En mi caso, me daban ciertos problemas los botones sociales a poco que bajase el ancho de página, con lo que he decidido cambiar un tanto su formato (eliminando iconos y reduciendo la letra) cuando la página baja de 960px de ancho.
Qué hacer con los menús y sus opciones
Los menús acostumbran a ser un problema serio al hacer nuestras páginas más pequeñas pues tratándose de un conjunto de elementos medianamente largo que además no forma parte de la información principal de la página (y por lo tanto no podemos dejarnos que ocupe demasiado espacio de exactamente la misma) el espacio destinado a los mismos se nos suele quedar corto en algún instante. Completemos esta problemática con que los dispositivos táctiles resultan incómodos con listados de enlaces pequeños (por lo que encoger los enlaces no suele ser una opción alternativa)
Por suerte podemos recurrir a distintos recursos que solucionan estos problemas. A mi el que más me agrada (por el momento) es el de sustituir los menús por un SELECT que cuando el usuario utiliza mudar la dirección de la página que estamos viendo por la del destino del enlace.
Me gusta pues resume grandes listados en un solo bloque pequeño y pues al mismo tiempo, llegados a un móvil o bien tablet el comportamiento de los SELECT se vuelve ideal, puesto que permite al usuario elegir sus opciones de manera cómoda.
Para realizar este cambio os aconsejo el un fácil plugin, con gran compatibilidad, al que indicamos los diferentes elementos UL de nuestros listados y el añade ya antes de estos un SELECT con las características que mencionabamos. Por lo tanto solo nos queda ocultar el propio UL o bien el SELECT con nuestras media queries para conseguir un resultado inmejorable.
En mi caso he añadido el complemento para los listados de enlaces de la cabecera, de forma que al bajar de 800px de ancho estos sean sustituidos por el SELECT en cuestión.
Así que he efectuado tres pasos:
1- Añadir el script y en el "ready" de mi jquery hacer la llamada al nuevo método:
Esto añade el SELECT en los 3 listados de enlaces del menú superior.
2- Añadir a mi CSS básico que no se muestren estos nuevos SELECT.
3- Añadir dentro de la media query adecuada el formato del select y la desaparición del propio listado.
Y ya tenemos nuestros SELECTs por debajo de los 800px de ancho.
Backgrounds de bloques
Aquí, dependiendo de nuestra maqueta es donde podemos tener graves problemas. En CSS decoramos nuestros bloques con imágenes de fondo. Existen inumerables técnicas para hacer esto pero unas son más amigables que otras a los redimensionamientos. En consecuencia, en dependencia de las técnicas que hayamos utilizado podemos encontrarnos con que nuestros fondos pierden sentido al ocultarse sus bordes.
Esto puede ser simplemente anecdótico en determinados casos, mas preferible a que el factor no se adapte al diseño pero en otros puede ser un auténtico quebradero de cabeza.
Soluciónes varias:
En mi caso este blog es bastante fácil y solo me he encontrado con tres tipos de imágenes de fondo molestas:
No pongo el CSS de como están resueltas estas partes exactas en mi weblog, pues en cada caso la solución va a ser distinta.
Se acabó!
Y con todo esto ya hemos logrado un diseño bastante acomodable. De la rigidez que teníamos con un diseño fijo en 1080px de ancho, ahora tenemos un weblog que puede ser disfrutado en un mayor número de dispositivos... mas falta algo. Faltan los móviles, donde el diseño se ve bien con estos cambios pero resulta poco práctico (con sus 2 columnas y elementos apretados en la cabecera).
Como úlltimo paso debemos delimitar una visualización adecuada para móviles. Esto es de esta manera por el hecho de que el empleo que se va a hacer en estos dispositivos no será el mismo que en páginas normales. Sin duda desearemos hacer más cambios que simples adaptaciones del ancho de pantalla y desaparición de elementos.
Por suerte, contamos con el viewport para acotar como queremos trabajar esta parte.
Comentábamos que el viewport nos sirve para señalar al móvil como deseamos que trabaje su Zoom a la hora de mostrarnos la página. Así, esencialmente teníamos 2 opciones:
Para webs con adaptable design amoldado a la perfección a resoluciones móviles:
Para webs que no se han amoldado completamente a resolución móvil:
La primera es la situación ideal, pero también la que más trabajo va a darnos, porque al bajar de los 500-400px de ancho las columnas se vuelven de manera directa imposibles y eso significa que tenemos que hacer cambios radicales en la visualización de la página web.
La segunda opción puede ser más rápida. Sencillamente indicamos que el movil se visualice a la resolución que deseemos y así se comportará... seguirá siendo nuestra web normal mas en su versión más encogida.
Pero si elegimos la segunda opción vamos a tener dos inconvenientes con nuestra web:
En terminante, marcar un ancho fijo con viewport es la opción veloz mas no la buena.
Lo suyo es que dejemos al móvil mostrarnos la resolución que sea capaz de enseñar utilizando el primer viewport en nuestro HEAD de la página.
Una vez hemos decidido nuestra visualización debemos ponernos a trabajar en nuestra última media query: la versión móvil.
Aquí por norma general eliminaremos las columnas pasándolo todo a bloques de 100 por ciento de ancho. Suprimiremos y comprimirémos ciertos elementos más y ajustaremos las fuentes a fin de que la lectura a 320px de ancho resulte cómoda en dispositivos de pequeña pantalla.
Eliminando columnas:
Vamos a poner nuestras columnas una detrás de otra. Existen entonces 2 posibilidades.
a. Que en el html ya estuviesen ordenadas tal cual las queremos en la versión móvil.
En cuyo caso bastará con eliminar los floats o cambiar el display:inline-block o bien display:box por un display:block normal.
b. Que no se encontraran ordenadas.
En cuyo caso vamos a deber jugar con posiciones absolutas que hagan a estos bloques inferiores pasar a la parte alta de la página y márgenes para mover los primeros bloques hacia abajo para que no se crucen.
Imáginemos esta estructura:
Donde deseamos que en la versión móvil los elementos del sidebar queden antes que los de content. Nuestro css tomará un aspecto cercano al siguiente:
En mi caso me encontré en este segundo caso, con lo que en móvil he debido recurrir a posiciones absolutas. Además situé el cambio a 450px de ancho, debido a que la visualización se volvía realmente incómoda desde ese punto.
Ajustando Fuentes
Las fuentes que en su día se diseñaron para ajustarse a grandes pantallas, con un layout de columnas, etcétera Cuando cambiamos a las pequeñas pantallas de movil en vertical estas suelen no ser las más cómodas para la lectura: Ocupan demasiado ancho, resaltan demasiado los titulares y el texto del cuerpo suele ser difícil de leer. Por ende es conveniente hacer una revisión de todas para ajustar la visualización a una versión cómoda.
En mi caso he debido mudar todo el estilo de las fuentes de los menús, disminuir los titulares y aumentar el cuerpo de los artículos:
Otros ajustes
Por último, queda dejar "bonito" el resultado. Como antes, examinemos nuestros elementos, reestilicemos aquellos que no se ajusten a lo que deseamos y suprimamos aquellos que no tengan cabida.
En mi caso he debido suprimir totalmente el bloque de autor, pasar a horizontal los elementos del sidebar y desplazar algunos márgenes de lugar.
Con todo esto ya tendremos nuestra página web móvil lista para trabajar.
Para trabajar con todo lo aquí explicado es esencial poder testar lo que vamos haciendo y los cambios que vamos provocando. Acá me gustaría compartir con vosotros 2 recursos:
1. Para probar en el navegador:
Debemos ir ajustando el ancho de pantantalla para poder ver como nuestras adaptaciones van tomando forma y detectar pequeños ajustes a realizar en nuestras media queries.
Para ello tenemos dos opciones:
2. Eludiendo la caché movil
Los móviles en su afán por no pedir más datos de los estrictamente necesarios cachean más que un navegador tradicional. En un navegador suele bastar con presionar CTRL+F5 para provocar cargas sin cacheo. En móviles es más dificil y ciertos navegadores nisiquiera tienen la opción de desactivar esta caché.
Para trabajar de forma más cómoda me gustaría daros tres consejos:
Poco a poco hemos ido viendo y conociendo las distintas técnicas y tecnologías que suelen aplicarse al adaptable design pero aplicándolas a una web existente en lugar de al desarrollo de webs nuevas.
¿Hemos hecho una web con adaptable design?
La contestación es clara: NO. Hemos hecho más adaptativa una web que no fue creada para serlo. En consecuencia hemos cometido muchos errores durante el proceso:
Estos son los detalles, mas más importante que todo esto es que lo que hemos hecho ha sido una maqueta amoldable sobre un diseño que no era adaptativo. Adaptable Design nos habla de diseño, no de maqueta, por lo que debe venir directametne desde el término de diseño a fin de que finalice de tener sentido para todos. No se trata de ser "guay" y poder enseñar una web que se encoje y se amolda ligerísimamente al movil sino que nuestro proyecto debería haber surgido bajo el paradigma de ser multidispositivo, valorando en cada caso su usabilidad.
Sin duda, si sigues este tutorial y lo aplicas a tu web podrás hacer maquetas adaptable mas eso no significa que puedas hacer adaptable design. optimizacion seo lleida , prosigue faltando mucha base, mucho conocimiento y muchos procesos (no tan puntuales, no tan técnicos) para lograrlo en una empresa normal. Podremos hacer nuestros pequeños proyectos, mas para empresas, este proceso prosigue siendo un trauma doloroso por el que yo no recomendaría a absolutamente nadie pasar.
¿Te gustó este blog post? Puedes seguir sus comentarios mediante , o realizar desde tu weblog.
Êîììåíòèðîâàòü | « Ïðåä. çàïèñü — Ê äíåâíèêó — Ñëåä. çàïèñü » | Ñòðàíèöû: [1] [Íîâûå] |