por Omar Benyakhlef | accesibilidad, CSS, Diseño para móviles, Diseño Web, Font, Fuentes, responsive, UX
Como diseñadores, nos vemos siempre en la obligación de ofrecer una experiencia de usuario excepcional. Una de esas técnicas es el uso de unidades relativas en lugar de unidades absolutas al definir tamaños y dimensiones en CSS. Este enfoque no solo simplifica el proceso de diseño, sino que también garantiza una adaptabilidad óptima en una amplia gama de dispositivos y pantallas. En este artículo, exploraremos en detalle qué son las unidades relativas, por qué son importantes y cómo pueden mejorar significativamente la calidad y la flexibilidad del diseño web.
El uso de unidades relativas en el diseño web es una práctica fundamental para crear experiencias de usuario adaptables, escalables y fáciles de mantener. Al adoptar em, rem y porcentajes en lugar de dimensiones absolutas, los diseñadores pueden garantizar que su contenido se vea y funcione de manera óptima en una amplia variedad de dispositivos y pantallas. Además, las unidades relativas fomentan la accesibilidad al permitir que los usuarios ajusten el tamaño del texto según sus preferencias personales, lo que resulta en una experiencia más inclusiva para todos. En resumen, al priorizar las unidades relativas en el diseño web, los diseñadores pueden crear sitios web que sean flexibles, adaptables y atractivos para una audiencia diversa.
¿Qué son las unidades relativas?
En CSS, las unidades relativas son aquellas cuyo tamaño se calcula en relación a otra propiedad, generalmente el tamaño de la fuente del elemento padre. Las unidades relativas más comunes son:
- Em (em): Esta unidad representa el tamaño de la fuente actual. Por ejemplo, si el tamaño de la fuente de un elemento es de 16 píxeles, 1em equivale a 16 píxeles. Si se establece un tamaño de fuente de 1.5em en un elemento con una fuente de 16 píxeles, el tamaño de fuente resultante sería de 24 píxeles (1.5 * 16).
Se recomienda su uso para tamaños de fuente y dimensiones que deben ajustarse en relación con el contenido de texto.
- Rem (rem): Similar a em, pero en lugar de basarse en el tamaño de la fuente del elemento padre, rem se calcula utilizando el tamaño de fuente del elemento raíz (generalmente el tamaño de fuente del elemento
<html>
). Esto garantiza una mayor consistencia en todo el documento, ya que rem no se ve afectado por los cambios en el tamaño de la fuente de los elementos secundarios.
Rem es ideal para establecer dimensiones globales que deben mantenerse consistentes en todo el sitio web, como márgenes, rellenos y anchos de contenedores.
Vamos. a intentar verlo de un modo más claro en el siguiente ejemplo:
html {
font-size: 16px;
}
.nombre_clase {
font-size: 24px;
padding: 2em; margin: 2rem;
}
El padding definido con unidades em, se refiere al tamaño de la fuente de la clase a la que pertenece, es decir, padding: 2em = 2×24= 48px El margin, definido con unidades rem, se refiere al tamaño fuente del documento, es decir, margin: 2rem = 2×16=32px
La mayoría de los navegadores tienen por defecto el tamaño de texto de párrafo de 16px, este valor lo puede cambiar el usuario modificando las preferencias del navegador, esto significa que cuando utilizamos las unidades relativas rem, además, estamos dando la oportunidad al usuario de modificar el tamaño de todo el contenido de la web a su antojo, según sus preferencias.
Hemos definido em y rem para definir los tamaños de fuente, ahora vamos a ver cómo definir relativamente los demás tamaños.
- Porcentaje (%): Aunque no exclusivamente relativa al tamaño de la fuente, el porcentaje también se utiliza comúnmente para definir dimensiones en relación con el tamaño de su elemento padre. Por ejemplo, un ancho del 50% en un div hará que ese div tenga la mitad del ancho de su contenedor padre.
- VH: significa “viewport height”, es decir, altura de la ventana gráfica, que es la altura de la pantalla visible y que depende de cada uno de los dispositivos. 100VH representaría el 100% de la altura de la ventana gráfica o la altura completa de la pantalla.
- VW: significa «viewport weight», es decir, anchura de la ventana gráfica, el ancho de la pantalla visible, y 100VW representa el 100% del ancho de la pantalla.
La diferencia del % con VH y VW, es que el primero se refiere al elemento padre, y los segundos al tamaño de pantalla del dispositivo, los tres son imprescindibles si queremos ajustar elementos en función de la pantalla del dispositivo.
Ventajas del uso de unidades relativas:
- Escalabilidad y Adaptabilidad: Una de las principales ventajas de las unidades relativas es su capacidad para adaptarse a diferentes tamaños de pantalla y dispositivos. Al utilizar em o rem para definir tamaños de fuente y dimensiones de diseño, el contenido se ajusta automáticamente según el tamaño de la fuente del usuario o el tamaño de la pantalla, lo que garantiza una experiencia de usuario consistente y atractiva en todos los dispositivos, desde teléfonos móviles hasta pantallas de escritorio.
- Facilidad de Mantenimiento: Al evitar tamaños absolutos en favor de unidades relativas, se simplifica el proceso de mantenimiento del sitio web. Cambiar el tamaño de fuente base en el elemento raíz afectará automáticamente a todas las demás dimensiones definidas en unidades relativas, lo que facilita ajustar el diseño según las necesidades cambiantes del proyecto o las preferencias del usuario.
- Accesibilidad Mejorada: El uso de unidades relativas puede mejorar la accesibilidad del sitio web al permitir que los usuarios ajusten el tamaño de la fuente según sus preferencias. Esto es especialmente beneficioso para aquellos con discapacidades visuales o que simplemente prefieren un tamaño de fuente más grande para facilitar la lectura.
- Compatibilidad con Diseño Responsivo: Las unidades relativas son fundamentales para el diseño web receptivo, donde el diseño y el contenido se adaptan dinámicamente a diferentes resoluciones y tamaños de pantalla. Al utilizar em, rem y porcentajes en lugar de píxeles absolutos, se garantiza que el diseño se ajuste sin problemas a una variedad de dispositivos y configuraciones de pantalla.
por Omar Benyakhlef | accesibilidad, Diseño de páginas web, Diseño para móviles, Diseño Web, Mobile, responsive, Usabilidad, UX
Actualmente la conectividad es omnipresente y los usuarios acceden a la web desde una multitud de dispositivos, el diseño web adaptable se ha convertido en una necesidad. Dentro de esta filosofía de diseño, surge un enfoque revolucionario: Mobile First (Primero Móvil), una estrategia que coloca la experiencia del usuario en dispositivos móviles en el centro del proceso de diseño. En este artículo, exploraremos en qué consiste el diseño Mobile First, sus beneficios y cómo implementarlo eficazmente.
¿Qué es el diseño Mobile First?
El diseño Mobile First es una metodología que prioriza la optimización de la experiencia del usuario en dispositivos móviles antes que en ordenadores de escritorio. Esto implica diseñar y desarrollar primero para pantallas pequeñas y luego adaptar el diseño a pantallas más grandes.
Beneficios del enfoque Mobile First:
- Mejora la experiencia del usuario (UX): Dado que cada vez más usuarios acceden a la web a través de dispositivos móviles, es crucial ofrecer una experiencia optimizada en estas plataformas. El diseño Mobile First garantiza que la interfaz sea intuitiva, fácil de navegar y rápida de cargar en dispositivos móviles, lo que conduce a una mayor satisfacción del usuario.
- Mejora el rendimiento y la velocidad: Al diseñar para dispositivos móviles primero, nos vemos obligados a simplificar el diseño y optimizar el rendimiento del sitio. Esto se traduce en tiempos de carga más rápidos y una experiencia de usuario más fluida, lo que a su vez va a mejorar el posicionamiento en los resultados de búsqueda.
- Fomenta un enfoque centrado en el contenido: Al comenzar con el diseño móvil, se hace hincapié en identificar y priorizar el contenido más importante para los usuarios. Esto promueve un enfoque centrado en el usuario, donde el contenido relevante se destaca y se presenta de manera clara y concisa.
- Facilita la adaptación a dispositivos más grandes: Diseñar primero para dispositivos móviles hace que sea más fácil adaptar el diseño a pantallas más grandes. Esto permite una transición fluida del diseño en dispositivos móviles a dispositivos de escritorio, sin comprometer la coherencia ni la calidad de la experiencia del usuario.
¿Cómo implementar el diseño Mobile First?
COMPRENDER LAS NECESIDADES DEL USUARIO
Antes de empezar, debemos conocer el comportamiento y las preferencias de los usuarios en dispositivos móviles para identificar las características y funcionalidades clave que deben incluirse en el diseño.
-
1. Contenido Relevante y Personalizado
Los usuarios móviles valoran el contenido que es relevante para sus intereses y necesidades. Prefieren experiencias personalizadas que les brinden información o productos que se alineen con sus preferencias y comportamientos anteriores.
-
2. Diseño Responsivo y Navegación Intuitiva
La navegación en dispositivos móviles debe ser intuitiva y fácil de usar. Los usuarios aprecian los diseños responsivos que se adaptan a diferentes tamaños de pantalla y dispositivos. Los menús de navegación simples y los botones táctiles grandes son preferidos por los usuarios móviles, ya que facilitan la navegación con los dedos en pantallas táctiles. Además, es crucial optimizar la velocidad de carga del sitio para garantizar una experiencia de navegación fluida y sin interrupciones.
-
3. Diseño Visual Atractivo
El diseño visual desempeña un papel importante en la atracción y retención del usuario en dispositivos móviles. Los usuarios prefieren interfaces limpias y atractivas que utilicen imágenes y gráficos de alta calidad para complementar el contenido textual. El uso de una paleta de colores atractiva y una tipografía legible mejora la estética general del sitio y facilita la lectura en pantallas pequeñas.
-
4. Contenido Multimedia y Experiencias Inmersivas
Los usuarios móviles disfrutan del contenido multimedia, como imágenes, videos y contenido interactivo, que enriquece la experiencia de usuario y captura su atención de manera efectiva. Las experiencias inmersivas, como los recorridos virtuales y las historias multimedia, son cada vez más populares entre los usuarios móviles que buscan contenido envolvente y entretenido.
-
5. Facilidad de Compartir y Acceso Social
La capacidad de compartir contenido fácilmente en redes sociales y plataformas de mensajería es valorada por los usuarios móviles. Los botones de compartir social integrados y las opciones para compartir contenido a través de aplicaciones de mensajería facilitan que los usuarios compartan contenido interesante con sus redes personales. Además, el acceso rápido a comentarios y reseñas sociales puede influir en las decisiones de los usuarios al interactuar con contenido en dispositivos móviles.
OPTIMIZAR EL RENDIMIENTO
Optimizar el rendimiento del sitio mediante la compresión de imágenes, la minimización de archivos CSS y JavaScript, y el uso de técnicas de carga progresiva para garantizar tiempos de carga rápidos en dispositivos móviles. Garantizar una experiencia de usuario rápida y fluida en dispositivos móviles es fundamental para el éxito de tu web. Además la rapidez de carga afecta directamente al posicionamiento en Google.
Las imágenes y los archivos multimedia pueden ralentizar significativamente la velocidad de carga de una página web en dispositivos móviles. Para optimizar el rendimiento, es importante comprimir y optimizar todas las imágenes y archivos multimedia para reducir su tamaño sin comprometer la calidad. Se pueden utilizar herramientas de compresión de imágenes y técnicas de codificación eficientes para minimizar el tamaño de los archivos y mejorar los tiempos de carga en dispositivos móviles.
Utiliza los svg para imágenes planas, es decir, para logos, iconos, y toda clase de imágenes que normalmente guardas como png. Esto hará que además de pesar menos, podrán adaptarse a cualquier tipo de pantalla sin pérdida de resolución.
PRUEBAS Y MONOTOREO CONTINUO:
Es fundamental realizar pruebas exhaustivas en una variedad de dispositivos móviles para identificar y corregir posibles problemas de diseño y usabilidad. Para ello sería conveniente probar tu diseño en diferentes terminales, pero como esto no siempre es posible, existen muchas herramientas que simulan el comportamiento de tu diseño en distintos modelos móviles, no son eficientes 100% pero se acercan mucho.
Además, también es muy importante tener feedback con el usuario , recopilar comentarios de los usuarios y utilizarlos para combprobar y mejorar continuamente el diseño.
El diseño Mobile First es una filosofía de diseño centrada en el usuario que puede mejorar significativamente la experiencia del usuario, el rendimiento del sitio y la capacidad de adaptación a dispositivos móviles. Al adoptar este enfoque desde el principio, los diseñadores y desarrolladores pueden desbloquear todo el potencial de la web moderna y ofrecer experiencias digitales excepcionales en cualquier dispositivo.
por Omar Benyakhlef | CSS, Diseño de páginas web, Diseño para móviles, Diseño Web, responsive, Taller Web, Trucos CSS
En el diseño web, como en los demás diseños, las tendencias vienen y van. Sin embargo el Full Screen en diseño web se ha mantenido durante varios años, sigue siendo una apuesta segura. En este post, además de comentar algún aspecto de este tipo de diseños, os dejo el código explicado para que podáis hacer la vuestra.
En las web full screen, el contenido llena toda la pantalla del navegador, independientemente de la resolución que estemos usando, son responsive.
Son pantallas con un fuerte impacto visual, ideales para presentar un producto. El menú suele ser de hamburguesa y un icono en forma de flecha o ratón nos indica que la web continúa en navegación vertical.
El diseño full screen suele plantearse solo en el primer módulo de información, pasando luego a una web de navegación vertical, aunque también hay diseñadores que apuestan por hacer todos los módulos de contenido en full screen.
Vamos por partes:
1 BACKGROUND. IMAGEN DE FONDO
Es importante encontrar una imagen que no deje indiferente, que sea impactante y a ser posible «limpia», ya que sobre ella habrá texto, y cualquier detalle pequeño puede no verse. Además aconsejo meter un filtro que oscurezca un poco la imagen para ganar en legibilidad del texto que va encima.
En este ejemplo, he usado dos imágenes con formatos distintos para que veáis la diferencia. La primera (rosa) es vertical y la del segundo bloque apaisada. Si modificáis el tamaño de la ventana del navegador, veréis que el comportamiento de la segunda se adapta mucho mejor a todas las resoluciones desktop, y la primera funcionará mejor en las pantallas mobile.
Vamos al código CSS. Se trata de hacer que la imagen ocupe el 100% de la ventana del navegador:
- capa1 y capa2; son los contenedores de los dos módulos. En este ejemplo de web he usado dos módulos full screen.
- height: 100vh; con esta orden, le decimos a la CSS que el alto de la imagen tiene que ocupar el 100% del alto de la ventana del navegador.
- background-size:cover; indicamos que la imagen debe ocupar todo el contenedor, incluso si tiene que estirarse.
- background-position: center top; aquí indicamos que la imagen crezca o encoja desde el punto situado en el eje central de la imagen y desde su punto superior.
- padding: 200px 0 0 10%; para colocar el texto, he decidido separarlo 200px del top y un 10% del ancho de pantalla del margen izquierdo.
Como decía antes, es conveniente oscurecer un poco la imagen de fondo para hacer más legible el texto, esto puedes hacerlo de dos maneras, la primera con photoshop o el editor de imágenes que suelas utilizar, la segunda forma de hacerlo es con CSS, le aplicamos a toda la capa un gradiente negro con una opacidad que iremos modificando según nuestra conveniencia, en este caso un 60%
2 FLECHA EN EL BOTTOM PARA CONTINUAR NAVEGACIÓN
En la parte inferior de la ventana de navegación, he colocado una flecha que con un movimiento suave vertical, indica que la navegación sigue más abajo. Además he puesto un enlace en la flecha para que al pulsar sobre ella muestre el segundo bloque, vamos a ver cómo se hace esto:
En primer lugar, en lugar de usar una imagen png para la flecha, usamos una fuente, de ese modo no se pixelará y será más nítida en cualquier resolución. Para ello usamos este icono.
En el código, podéis ver todos los parámetros de la flecha. Con translateY movemos la flecha 20px en vertical. La duración de la animación es de 0.7s y es un loop infinito.
A continuación os dejo el código, espero que os sea útil.
NOTA: coloca el visor en 0.5x para ver bien el efecto
See the Pen
LANDING FULL SCREEN by Omar Benyakhlef Domnguez (@gloobs)
on CodePen.
por Omar Benyakhlef | CSS, Trucos CSS, Tutoriales
En numerosas ocasiones, centrar un texto dentro de un div, se convierte en una tarea complicada. En este post vamos a enseñarte a centrar el texto tanto horizontal como verticalmente y que además sea adaptativo. Vamos a ver cómo se hace este ejemplo; se trata...
por Omar Benyakhlef | CSS, Trucos CSS
Hoy traemos un efecto espectacular para tus textos, una composición retro, con luces de neón.
Solo tienes que cambiar los textos y listo, Yoav Kadosh nos ha dejado todo preparado para que simplemente tengamos que copiar la CSS y poder usarlo.
Se trata de puro CSS, con máscaras, inclinación de texto, efecto neón… Y además de ser compatible con Chrome, Edge, Firefox, Opera, Safari, es responsive, lo que significa que lo puedes usar en cualquier proyecto sin miedo a que no se vea en móvil.
Échale un vistazo, cambia los textos en la parte html y sorpréndete !!
VER DEMO Y CÓDIGO
por Omar Benyakhlef | Diseño Web, SEO
Google siempre ha pretendido que sus resultados de búsqueda vayan adaptándose a los patrones de comportamiento de sus usuarios, por eso la evolución de sus algoritmos es constante, estos son los últimos cambios que van a condicionar el buen posicionamiento de tu web. John Mueller experto SEO en Google, ha puesto recientemente patas arriba axiomas como la relevancia de las keywords en títulos. De todos estos cambios en el SEO de tu web para 2020, hablamos a continuación.
De todo lo que he leído últimamente, estos son los cambios más relevantes que he encontrado. Incluyo también la velocidad, conocida desde hace tiempo por todos, porque creo que hay que seguir insistiendo en este aspecto, ya que parece ser una asignatura pendiente. Las webs son cada vez más vistosas y la lucha entre el diseño y el peso es algo que como diseñadores nos da numerosos quebraderos de cabeza. Vamos al lío:
PNL
Google orienta ahora todo el contenido al PNL, de esta manera, Google será capaz de interpretar mejor lo que busca un usuario a través de la relación entre la palabra buscada y el resto de las palabras de la frase, no sólo a través de esa palabra como hacía hasta ahora.
¿Qué es la PNL?
El Procesamiento del Lenguaje Natural, es el proceso mediante el cual se analiza el texto de una web mediante relaciones entre las palabras que aparecen, para obtener una mayor comprensión del contenido. Para analizar este contenido, Google pone a disposición del usuario su plataforma Google Cloud
¿Cómo escribir para un correcto PNL?
- Distancia entre la consulta y la solución: procuremos utilizar frases directas, sin muchos rodeos e intentando que la distancia en la frase o párrafo entre la consulta y la solución (respuesta) sea lo menor posible. Si por ejemplo la búsqueda es «distancia entre un enchufe y un grifo»:
– Solución 1: la [distancia entre un enchufe y un grifo] ha de ser lo suficientemente amplia como para poder evitar desafortunados accidentes. Esta distancia mínima se establece según normativa en [50cm].
– Solución 2: [la distancia entre un enchufe y un grifo] ha de ser superior a [50cm]. Esta distancia se establece según la normativa y está enfocada a evitar desafortunados accidentes.La solución 2 tiene una distancia mucho más corta entre la [consulta] y la [solución], por lo que será más fácil de encontrar para el motor de búsqueda.
- Evita el relleno; en la redacción para PNL intenta ser claro y conciso, el relleno sólo va a causar problemas en el proceso de búsqueda. Ten cuidado de cómo usas el lenguaje, ya que estás escribiendo para una máquina… Si hablas de Juan, escribe siempre Juan, no escribas el pronombre «él», porque los motores de búsqueda no son tan inteligentes como para saber que te estás refiriendo a Juan.
- Calidad de contenido: sigue siendo fundamental, contenidos de calidad y que respondan a las consultas de los usuarios.
BACKLINKS
Siguen siendo importantísimos, cuantos más tengas, mayor seguridad para Google de que tu contenido es de interés.
¿Qué son los backlinks?
- Backlinks son los enlaces que apuntan a tu página desde otras páginas, es importante que estos enlaces sean naturales, y no generados artificialmente.
- Cambios: Hasta ahora la calidad de la página que te apuntaba daba mayor importancia a ese backlink, según parece, ahora no es tan importante, aunque a mi parecer, siempre tendrá más peso un enlace desde una página mejor posicionada.
ACTUALIZAR CONTENIDOS ANTIGUOS
Nuestros sitios, en especial los blogs, son un contenedor de artículos en los que muchos de ellos pueden llegar a tener años, la actualización de estos artículos ya bien posicionados es importante a la hora de conseguir mayor relevancia de tu web.
VELOCIDAD
Insistimos, a Google no le gustan las páginas pesadas, optimiza al máximo el peso de tus páginas, css, scripts y sobre todo las imágenes. Especial relevancia tiene también tu web en móvil, cuida bien el peso para no ser castigado por Google. Una vez más, Google pone una herramienta para medir si tu web está optimizada en este aspecto, Pagespeed.
PALABRAS CLAVE EN LOS TÍTULOS
Hasta ahora, el uso de palabras clave, keywords, en los títulos (h1, h2,…) era de la máxima importancia, esto unido a una url construida con esas mismas palabras daba un empujón enorme a tu web. Parece ser que los últimos cambios no van por ese camino. Recientemente, John Mueller experto SEO en Google, ha reconocido que utiliza esas palabras para conocer mejor el contenido de cada párrafo y poder así ordenarlo mejor en los resultados de búsqueda, pero que el uso de keywords en los encabezados no mejora el posicionamiento. Mueller explica que los encabezados deben utilizarse para contenidos de texto extensos, para poder interpretar mejor cada párrafo.
También afirma que si se estudian las páginas de SERP (resultados de Google), se puede ver que el uso de palabras clave en el título no es clave para esos resultados. El uso pues de estas palabras, debe enfocarse a ayudar a Google a comprender mejor los contenidos. Es decir, si te ayuda, es porque está entendiendo mejor el contenido, no por si solas.
Puedes ver el video de John Muller aquí
Seguiremos atentos a los nuevos cambios. Aquí tienes otros artículos relacionados con el SEO.
por Omar Benyakhlef | Diseño Web, UI, Usabilidad, UX
El menú hamburguesa es un botón que suele estar en la parte superior de la web, que muestra o esconde el menú en pantalla.
Lo que en un principio nace para la versión mobile, por la falta de espacio, se ha convertido en un recurso habitual también en los diseños desktop.
Tiene muchos detractores que alegan que ocultar accesos de contenidos perjudica la usabilidad, porque obliga al usuario a hacer un clic más, e incluso que es sólo un capricho de los diseñadores.
Personalmente, no puedo estar más en desacuerdo, os explico por qué.
Hace años quizás podría ser arriesgado, hoy en día cualquier usuario lo tiene perfectamente identificado, todos sabemos que ahí accionamos el menú.
En cuanto al hacer un clic más, creo que hay demasiado «gurú» que se ha aprendido un guión y ha dejado de lado el sentido común. La usabilidad efectivamente se ve favorecida cuantos menos clics necesites para acceder a un contenido, pero creo que tenemos que ver todo en conjunto y no pararnos en pequeños detalles.
En mis diseños siempre tengo en cuenta que el usuario haga los menos clics posibles para llegar al contenido que está buscando, pero tenemos que tener también en cuenta, que esta máxima de la usabilidad viene de cuando para pasar de una vista a otra tenías que cargar una nueva página, con una conexión lenta un solo clic podía suponer varios segundos de espera. Hoy podemos utilizar CSS por ejemplo para mostrar y ocultar ese menú, accediendo de forma instantánea a ese contenido. Así pues, no tengas miedo de lo que dice el «gurú», nadie se marchará de tu web por pulsar en la hamburguesa 😉
En cuanto a que el diseñador busca más la estética que la usabilidad, le pese a quien le pese, el diseño es fundamental sobre todo en la primera impresión, no hay nada más agobiante que una web con una barra repleta de enlaces, iconos de redes, banners,… Los espacios limpios también juegan un papel importantísimo en la usabilidad, una cabecera repleta de enlaces, produce más estrés que el tener que hacer un clic más para llegar a un contenido.
Al tener más espacio para mostrar los enlaces del menú, podemos distribuirlos de un modo que sean más legibles y más grandes que en un menú tradicional, ¿acaso el tamaño de letra no influye en la usabilidad?. Podemos meter textos grandes, acompañados de iconos, …. mil posibilidades que en una barra no es posible. Por supuesto que agradezco encontrarme un menú hamburguesa, incluso porque me apetece ver qué ha pensado el diseñador para sorprenderme.
Una vez acabado este alegato en favor de la hamburguesa, pasamos a animarlo, cosa que seguro que también leeréis por ahí que no es usable…
Aquí podéis ver varias muestras de animación. Simplemente copiad los códigos que necesitéis, es gratis 😉
See the Pen SVG Hamburger Menu Icon Animation Collection by Matthew Main (@matthewmain) on CodePen.dark
Pulsa en los menús para ver la animación.
Si no podéis verlo bien, seguid este enlace.
por Omar Benyakhlef | Diseño Web
Los SVG (del inglés Scalable Vector Graphics), son formatos gráficos vectoriales muy útiles por su flexibilidad y la capacidad de mostrar imágenes en web, sin perder calidad al cambiar de resolución. Los SVG se definen en formato XML. Esto nos permite, además de...
por Omar Benyakhlef | Android, Diseño Web, HTML, Imágenes, iPhone, Mobile, Usabilidad
A la hora de diseñar para múltiples dispositivos, tanto en dispositivos iOS como Android, corremos el peligro de no tener en cuenta las a veces enormes diferencias entre estos y que lo que en un dispositivo se ve bien, en otro aparezca muy pequeño o muy grande. En este artículo, intento abordar de una manera global el diseño tanto en apps como en html para dispositivos móviles, dado que en ambos casos tenemos que tener en cuenta varios aspectos para que la experiencia usuario sea óptima. Para ello es fundamental conocer varios conceptos que vamos a tratar a continuación.
Para empezar, sabemos que un pixel es un punto que emite un único color o escala de grises en una pantalla. Es obvio que cuanto mayor sea el número de pixels, más detalle y nitidez tendrá la imagen que estemos viendo, aquí es donde entra en juego la densidad de pixel.
Las pantallas se miden en pulgadas (1 pulgada = 2,54 centímetros), y cuando damos la medida de una pantalla, lo hacemos tomando como referencia su diagonal, cuando nos dicen que una pantalla es de 25 pulgadas, nos están diciendo que su diagonal mide 25 pulgadas, es decir, 25×2,54 cm
La densidad de píxeles es la cantidad de pixels que hay en una pulgada de una pantalla. Cuanto mayor sea este número, más nítida será la imagen y con más detalle. Esta cantidad de pixels que hay en una pulgada, se mide en pixels por pulgada ppp o en ppi (pixels per inch) o dpi (Dots per Inch). Con lo cual una pantalla de alta densidad será aquella que más ppp tenga, esto significa que si hablamos de tamaños, cuando hacemos un botón por ejemplo de 100x60px, se verá más grande en una pantalla de baja densidad que en una de alta densidad.
Para calcular la densidad de una pantalla; densidad de pantalla = anchura de la pantalla en pixels / anchura de la pantalla en pulgadas
En el siguiente gráfico, podéis ver dos botones, los dos con las mismas dimensiones, 10 x 4px. El de la izquierda sería el resultado de mostrarlo en una pantalla de más densidad que el de la derecha, concrétamente 4 veces más pixels por pulgada que la de la derecha.
DP, pixeles de densidad independiente para Android
Para evitar este problema y que cualquier gráfico o imagen se pueda ver igual en cualquier pantalla, tenemos los DP, pixels de densidad independiente.
Los píxeles de densidad independiente son una unidad de píxeles virtual, que nos permiten definir las dimensiones de disposición o posición, de una manera independiente a la densidad de pantalla.
Un pixel independiente equivale a un pixel en una pantalla de 160 ppp.
- px = dp * (dpi / 160)
- dp = (ancho en píxeles * 160) / densidad de la pantalla
Se toma una pantalla de densidad «media» 160 ppp. En tiempo de ejecución, el sistema escala las unidades dp, según sea necesario, en función de la densidad real de la pantalla en la que se esté mostrando el contenido.
- Para una pantalla de 160 dpi, 1 dp equivale a 1 px
- Para una pantalla de 240 dpi, 1 db equivale a 1,5 px — px=dp * (240/160); dp=px/(240/160); dp= 1,5px
- 320 dpi, 1db=2px
- 480 dpi, 1db=3px
En esta imagen podemos ver cómo si queremos mantener el aspecto de un botón en la pantalla, deberemos de hacer varios tamaños aplicando el factor que acabamos de ver, de ese modo siempre se verá en igual proporción dentro de las distintas pantallas. La escala no es real, pero si nos creemos que el botón que he dibujado en la resolución de 160dpi mide 10x10px, este botón habrá que guardarlo en 15×15, 20×20, ….
@1x, @2x, @3x, factores de escala para iOS
Cuando se trata de un iphone, los múltiplos que utilizamos son @1x, @2x y @3x que corresponden a las siguientes resoluciones:
Dispositivo |
Factor de escala |
iPhone XS Max (1242x2688px) – 458 dpi |
@3x |
iPhone XS (1125 x 2436px) – 458 dpi |
@3x |
iPhone XR (828x1792px) – 326 dpi |
@2x |
iPhone X (375x812px) |
@3x |
iPhone 7 Plus (414x736px) – 401 dpi |
@3x |
iPhone 7 (375x667px) – 326 dpi |
@2x |
iPhone 6s Plus, 8 Plus (414x736px) – 401 dpi |
@3x |
iPhone 6s, 8 (375x667px) – 326 dpi |
@2x |
iPhone SE (320x568px) – 326 dpi |
@2x |
iPhone 4 (320x480px) – 326 dpi |
@1x |
Tamaños mínimos
Teniendo en cuenta que deberemos adaptar nuestras imágenes a los distintos, o al menos, a las pantallas más habituales, otro factor a tener en cuenta es el tamaño mínimo que debe tener un elemento en pantalla, con el que el usuario vaya a interactuar, como por ejemplo un botón.
Cuando colocamos un enlace en un texto, el interlineado e incluso el tamaño del texto, hace en ocasiones muy difícil accionarlo, lo más aconsejable siempre es colocar botones, y estos botones también deben ser lo suficientemente grandes como para que cualquier usuario pueda accionarlo sin dificultad con el dedo. Para ello se establece que todo botón debe al menos ser 42 px y no más de 72px. Diversos estudios han dado como resultado, que el tamaño preferido por los usuarios es de 60px
Cuando tenemos varios botones en una página, en ocasiones hay que priorizar o dar más importancia entre unos y otros, esta prioridad se establece también con estos tres tamaños, baja prioridad para un 42x42px, prioridad media para un 60x60px y alta prioridad para un 72x72px.
NOTA: Estas medidas son aplicables a botones rectangulares, siendo estas medias la altura mínima de dichos botones.
Los espacios entre botones, también están estandarizados, se ha comprobado que cuando los botones estaban demasiado separados, los usuarios se movían al objetivo táctil mucho más lentamente, y cuando los botones estaban demasiado juntos, los usuarios tenían menor precisión a la hora de pulsarlos, así pues se establece o se recomienda, que el espacio entre botones sea el siguiente:
- Separación entre botones de 42px: entre 36 y 48px
- Separación entre botones de 60px: entre 24 y 36px
- Separación entre botones de 72px: entre 12 y 24px
Encontraréis varias referencias y opiniones en cuanto a los tamaños, después de consultar varios estudios, creo que estos son los más aceptados, Android por ejemplo, recomienda que los objetivos táctiles sean al menos 48 x 48dp, con al menos 8dp (o más) entre ellos.
¿Cómo establecer en tu CSS las distintas imágenes-tamaño según la resolución de pantalla?
No voy a entrar en programación iOS y Android, porque no tengo ni idea 😉 Pero si os dejo a continuación el cómo abordar este tema en HTML. Lo que hacemos, es indicarle al navegador, mediante nuestra CSS que muestre una u otra imágen según sea la pantalla del dispositivo en el que se está mostrando nuestro diseño. Para ello usamos los llamados breakpoints o puntos de corte.
Según densidad:
@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
.miclase {}
}
Según ancho de pantalla:
@media
only screen and (min-width: 320px) {
.miclase {}
}
Podemos ser incluso más específicos a la hora de determinar un punto corte en la CSS. En este caso, definimos ancho tanto mínimo como máximo, densidad e incluso orientación del dispositivo:
@media
only screen and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation: portrait) {
.miclase {}
}
Los breakpoints más comunes son:
- @media all and (min-width:1200px){ … }
- @media all and (min-width: 960px) and (max-width: 1199px) { … }
- @media all and (min-width: 768px) and (max-width: 959px) { … }
- @media all and (min-width: 480px) and (max-width: 767px){ … }
- @media all and (max-width: 479px) { … }
Salvar nuestro diseño en distintos tamaños lleva tiempo, además del tiempo de programación, por eso, antes de volverse loco y empezar a hacer todo tipo de versiones, lo recomendable es considerar nuestro proyecto, incluso si se trata de una actualización de un diseño viejo, consultar Analytics y ver qué especificaciones de pantalla son las más habituales entre nuestros usuarios, y en función de eso, determinar qué puntos de corte tenemos en cuenta.
Hoy en día ya es imposible pensar en un diseño online y no tener en cuenta que será visto en dispositivos móviles, tablets, etc. Los diseñadores debemos estar preparados para asumir este desafío y seguir siempre las innovaciones, pero siempre teniendo en cuenta la usabilidad de nuestros diseños. ¡Innova con sentido común!
por Omar Benyakhlef | Descargas, Iconos
El uso de iconos en el diseño digital es constante.
Existen muchas páginas en las que puedes descargar paquetes enteros de familias, estas páginas que os comparto, son las que suelo utilizar normalmente, me gustan porque vienen con un buscador, de forma que puedes directamente descargar el tipo de icono que necesitas, sin necesidad de tener que descargar la familia entera. Además permiten en varios casos, el poder elegir entre varios tipos de descarga, AI, EPS, PNG, SVG, PSD…
(más…)
por Omar Benyakhlef | Diseño de páginas web, Diseño para móviles, Diseño Web, Google, Usabilidad
Cada vez son mayores las exigencias de las páginas web que diseñamos. Imágenes más grandes y pesadas o efectos que hacen más atractiva la experiencia usuario, hacen que sea indispensable comprobar si esa experiencia que estamos buscando no nos devuelva justo lo contrario, es decir, una página que tarda mucho en cargar y que como resultado nos da una tasa de abandono cada vez mayor. Nos gusta navegar y la oferta es inmensa, si un sitio nos hace esperar acabamos por abandonarlo antes de que cargue.
(más…)
por Omar Benyakhlef | Fuentes, Mobile, Usabilidad
Typestrap es un kit de tipo basado en CSS que utiliza una escala modular para ayudarnos a controlar la tipografía en las distintas resoluciones de pantalla, desktop, mobile,… (más…)
por Omar Benyakhlef
TU CUÑADO NO SABE HACER WEBS Y LO SABES...8 de cada 10 personas consultan internet antes de consumir un producto. Tu web es tu escaparate, no puedes dejarle esta responsabilidad a cualquiera. ¿Sabías que Google penaliza las webs mal hechas?. Confía en nosotros, somos...
por Omar Benyakhlef | jQuery, Social Media
Botones para suscripción
En ocasiones resulta complicado incorporar los botones de suscripción en tu web por no poder adaptarlos al diseño del conjunto de tu sitio.
Los botones de suscripción a Facebook, Youtube, Twitter o Google+, son botones preestablecidos que suministran las distintas redes sociales y que no podemos modificar.
Este código, nos ayuda a camuflar el botón de la red social, debajo de un slide. Se trata de una capa que se abre al hacer rollover sobre ella, de modo que podemos camuflar el diseño y mantener el botón original. Aquí tenéis el código para realizar botones de suscripción en vuestra web o blog con CSS y con un slide muy vistoso que podréis diseñar a vuestro gusto ya que llevará por detrás vuestra propia CSS.
Podéis ver el ejemplo y el código en cssdeck.com
por Omar Benyakhlef | Diseño para móviles, Diseño Web, Google, HTML, iPhone, jQuery Mobile, Mobile, Tutoriales
Guía Google para optimizar web mobile
Si estás pensando en diseñar una web para smartphone, Google pone a tu disposición una guía gratuita con todo tipo de consejos, trucos y código para optimizarla y obtener los mejores resultados.
Para empezar, lo primero que Google te recomienda es realizar un diseño web receptivo, es decir, utilizar el mismo HTML para todos los dispositivos, independientemente de su resolución, y utilizar CSS para decidir los cambios según estas resoluciones.
Esta guía, te ofrece además, la posibilidad de consultar la compatibilidad entre smartphones o recomendaciones para el uso de javascript en tu sitio.
En definitiva, se trata de una guía realizada por Google, eso significa que si quieres tener contento a Googlebot, léete esta guía y síguela al pie de la letra 😉
por Omar Benyakhlef | Diseño para móviles, iPhone, jQuery Mobile, Mobile, Usabilidad
Diseño de Web para Móviles
El tráfico de los dispositivos mobile empieza a ser un factor decisivo a la hora de replantearte el diseño de tu web. En este post no vamos a entrar en si es mejor un diseño adaptative o crear uno especial para este tipo de dispositivos, vamos a ver cuales son los factores decisivos que deciden entre el éxito y fracaso de un sitio mobile.
Los usuarios esperan que su experiencia mobile sea al menos tan buena como la de escritorio. Es muy fácil perder clientes y muy difícil ganarlos, sin embargo, no tener sitio mobile ayuda a tu competencia, así que parece claro que la opción es adaptarse, pero hacerlo bien.
(más…)
por Omar Benyakhlef | CSS, HTML, HTML5
Animación en HTML5
Conocía la potencia del HTML5 para desarrollar movimiento en diseño web, pero no era consciente de la «salvaje» cantidad de posibilidades que nos ofrece. Unas posibilidades que serían seguramente más, si no fuese por la absurda incompetencia de navegadores como Explorer e incluso Firefox.
En esta impresionante web de la que hablamos hoy, además de mostrarnos cómo realizar animaciones con HTML5, podremos ver una serie de ejemplos web que seguro que os sorprenden.
Los ejemplos que vais a ver están desarrollados con CSS3, SVG, Canvas y WebGL
(más…)
por Omar Benyakhlef | jQuery, Usabilidad
Tooltipster
Tooltipster es un plugin muy ligero de jQuery, que nos permite facilitar información complementaria al usuario en nuestra web.
Las ventanas de ayuda son del todo customizables, podemos meter desde el simple mensaje de ayuda a una compleja maquetación en HTML. Este tipo de práctica supone un paso de gigante a la hora de hacer más usable una web.
Esta ayuda puede aplicarse tanto en formularios como en diversos elementos interactivos de la web, botones de opciones, imágenes de una galería, incluso como respuesta a la acción sobre un botón, podemos utilizar este plugin para avisar al usuario de que la acción del botón se ha producido con éxito o no, son múltiples los usos que podemos encontrarle.
(más…)
por Omar Benyakhlef | jQuery
efectos hover con jQuery
¿Quieres dar un aspecto más interactivo a tu diseño web?, existe la posibilidad de mediante jQuery y CSS meter un efecto a todas las imágenes de tu sitio con el plugin Adipoli.
Se trata de varios efectos que hacen más atractivas las imágenes que mostramos en nuestro sitio. Este plugin en concreto, nos permite elegir entre varios tipos de hover, además, podremos determinar la velocidad de transición y controlar tanto el estado inicial de la imagen como el que se produce al colocar el ratón sobre ella.
Entre los efectos que podremos ver en la demo y que por supuesto podremos descargar gratuitamente, está el paso de la imagen en blanco y negro a color, efectos tipo pop-up, o aclarar u oscurecer imágenes con muy buenas transiciones.
(más…)
por Omar Benyakhlef | HTML5, jQuery
Dibujar gráficos con HTML5 y jQuery
Hasta ahora, el único modo de introducir un buen gráfico en un diseño web, era o bien mediante una imagen, o con flash si queríamos hacer algo dinámico. Ahora, gracias a HTML5 y por supuesto a jQuery, podemos fácilmente hacer un gráfico personalizado de una forma rápida y con un buen diseño.
Para ello, utilizamos el plugin de jQuery visualize.js
(más…)