Estilos y reglas de diseño
Principios de diseño
Los principios de diseño son las pautas y estándares que guían cómo se crea y se mantiene un sistema de diseño. Estos principios ayudan a asegurar que todas las decisiones de diseño sean coherentes y proporcionen una experiencia consistente para los/as usuarios/as.
En nuestro caso, estos principios se centran en la coherencia, eficiencia, accesibilidad y localidad. Estos principios aseguran que el diseño refleje la identidad de Zaragoza, sea accesible para toda la ciudadanía, proporcione una experiencia de usuario eficiente y mantenga una apariencia coherente en todas las plataformas.
- Coherencia: Todas las páginas web y aplicaciones del Ayuntamiento deberían tener un aspecto y sensación similares para promover la familiaridad y la facilidad de uso.
- Eficiencia: La información y servicios proporcionados por el Ayuntamiento deberían ser fácilmente accesibles y comprensibles para la ciudadanía.
- Accesibilidad: El sistema de diseño debe tener en cuenta a todos los/as usuarios/as, incluyendo a aquellos con discapacidades visuales, auditivas o motoras.
- Localidad: El sistema de diseño debe reflejar la identidad y el patrimonio de Zaragoza.
Con el objetivo de asegurar una experiencia óptima para todos los usuarios de la sede electrónica, se ha decidido adoptar la estrategia de diseño mobile-first para el desarrollo de páginas web.
Esta decisión se fundamenta en la creciente importancia de los dispositivos móviles como canal primario de acceso a la información y los servicios municipales. Reconociendo esta tendencia, es esencial que las páginas web estén diseñadas con una prioridad en la experiencia del usuario móvil.
La metodología mobile-first implica iniciar el proceso de diseño desde la pantalla más pequeña, asegurando así que los servicios municipales sean accesibles y fáciles de usar para todos la ciudadanía, independientemente del dispositivo que utilicen.
Tecnología
En nuestra implementación, hacemos uso de los estándares web mencionados previamente, junto con Bootstrap 3.4.1 , LessCSS y JQuery 3.7.1
El CSS compilado específico para la sede electrónica está ubicado en: /cont/assets/css/main-sede_v2.min.css y se enlaza en el apartado cssjs de los templates que son integrados en los portales y servicios
El logo del ayuntamiento de zaragoza se encuentra con 4 esquemas: Base, Claro y Neutral. Su versión Base funciona bien sobre fondos claros. La version Claro funciona sobre fondos oscuros. Alternativamente las versiones neutral deben ser usados segun la necesidad gráfica y deben ser evitadas en la medida de los posible
Tipografía
Familia de la fuente
Por defecto, utilizamos fuentes sans-serif (sin serifas) ya que estas son suaves a la vista y mejoran la legibilidad
Para los encabezados se utiliza la familia Poppins: Una tipografía compacta y de geometría pura, muy versátil, con fuerza y de sencilla combinación con otras tipografías. Es minimalista, elegante y neutra.
Para el cuerpo la familia Montserrat es una de las familias tipográficas más completas con diferentes grosores, mayúsculas, minúsculas y con toda la puntuación precisa en los idiomas latinos.
Tamaño de la fuente
El tamaño base del texto se establece en 16px, sirviendo como la unidad fundamental para las demás medidas dentro del sistema de diseño.
Al utilizar unidades relativas como em, rem y %, estas medidas se ajustan dinámicamente según el tamaño base del texto, lo que garantiza que todas estén centradas en él. Esto permite una coherencia visual y una mayor flexibilidad en la adaptación del diseño a diferentes dispositivos y pantallas.
- H1 - 32px - Lorem ipsum dolor sit amet
- H2 - 28px - Lorem ipsum dolor sit amet
- H3 - 24px - Lorem ipsum dolor sit amet
- H4 - 20px - Lorem ipsum dolor sit amet
- H5 - 16px - Lorem ipsum dolor sit amet
- H6 - 12px - Lorem ipsum dolor sit amet
- body - 16px - Lorem ipsum dolor sit amet
- small - 12px - Lorem ipsum dolor sit amet
Peso de la fuente y formato
Todos los elementos de texto que actúen como puntos focales, como encabezados de página y sección, deben mostrarse en negrita para destacar su importancia y facilitar la navegación visual.
El texto secundario, como párrafos de texto, debe mostrarse en peso regular para mantener una jerarquía visual clara sin saturar la página con demasiado peso de fuente.
Para resaltar ciertas palabras o frases dentro del texto de cuerpo, se puede utilizar la etiqueta <strong> para mejorar la legibilidad y llamar la atención del usuario sobre información importante.
Los enlaces deben diferenciarse claramente del texto circundante para indicar que son elementos interactivos. Esto se puede lograr utilizando negrita o subrayado o un contraste de color de al menos 3:1 en comparación con el texto circundante. para los enlaces
Cuando se muestra texto desactivado, como opciones inactivas o información no disponible, se puede usar un peso de fuente más ligero o un tono de gris para indicar visualmente que no está activo.
Altura de la línea
La forma más sencilla de entender la relación entre el tamaño de la fuente y la altura de línea es pensarlo en porcentajes. En general, entre el 110% y el 150% es donde se encuentra el valor óptimo.
Cuanto más pequeño sea el tipo de letra, más generosos deberíamos ser con los valores de la altura de línea y viceversa.
Por defecto, en la configuración de este sistema de diseño, los textos tendrán una altura de línea de 1.5, mientras que los títulos tendrán una altura de línea de 1.1, manteniéndonos dentro del margen ideal para la representación de caracteres.
Alineación
En el diseño web, la alineación textual desempeña un papel crucial en la presentación y legibilidad del contenido. Mientras exploramos las opciones de alineación, es importante entender que podemos alinear el texto tanto a la izquierda como a la derecha, e incluso centrarlo para crear efectos visuales específicos. Sin embargo, debemos destacar que, a diferencia de otros medios, como la impresión, en el mundo digital, la justificación del texto no siempre es la mejor elección. Alinearse a la izquierda, mantener un margen derecho irregular y evitar la justificación garantiza una experiencia de lectura más cómoda y accesible para todas las personas usuarias.
Responsividad
Tamaño de pantallas
Una consulta de medios, o media query, se compone de un tipo de medio y una o más expresiones que se evalúan como verdaderas o falsas. La consulta es verdadera si el tipo de medio especificado coincide con el dispositivo en el que se está mostrando el documento y todas las expresiones de la consulta son verdaderas. Cuando una consulta de medios es verdadera, se aplican las reglas de estilo correspondientes de la hoja de estilos, siguiendo las normas habituales de cascada.
Contamos con medidas de pantalla predefinidas que servirán como guía para nuestros diseños.
- xs: <768px
- sm: >768px
- md: >992px
- lg: >1200px
- xl: >1440px
Estas unidades serán utilizadas posteriormente en el sistema de diseño para definir clases que se adapten a la diversidad de dispositivos y tamaños de pantalla, garantizando así la capacidad de respuesta de nuestros diseños ante estas variaciones.
Sistema de grilla
Bootstrap proporciona un sistema de cuadrícula adaptable centrado en dispositivos móviles, que se expande hasta 12 columnas a medida que el tamaño del dispositivo o la ventana de visualización aumenta. Este sistema simplifica la creación de diseños de página utilizando filas y columnas.
-
Para garantizar un alineamiento correcto, es necesario que las filas estén contenidas dentro de un elemento contenedor (
container) de ancho fijo o completo (container-fluid). -
Las filas (
row) se utilizan para agrupar columnas horizontalmente y resolver el problema de desbordamiento de elementos flotantes. -
El contenido debe colocarse dentro de las columnas (
col-**-*), ya que son los únicos elementos que pueden ser hijos directos de las filas. Cualquier otro elemento puede comportarse de manera inadecuada debido al uso de flotantes. -
Utiliza clases predefinidas como
col-xs-4para crear diseños de cuadrícula. - Las columnas tienen un espacio entre sí debido al relleno aplicado. Este relleno se ajusta en las filas para la primera y última columna mediante un margen negativo.
-
Para crear columnas, especifica cuántas de las doce columnas disponibles se deben utilizar. Por ejemplo, tres columnas iguales ocuparían 4/12 (
col-xs-4). - Si hay más de 12 columnas en una fila, el exceso se envolverá a una nueva línea como una unidad.
-
Las clases de cuadrícula se aplican según el tamaño de la pantalla, y las clases de tamaños más grandes anulan las de tamaños más pequeños. Por ejemplo,
col-xs-12 col-sm-6 col-md-4.
row
Espaciado
El espaciado es el área negativa entre elementos y componentes, y generalmente se controla en el código mediante márgenes y rellenos (margin y padding).
El espaciado se establece en relación con el tamaño de la fuente para definir unidades predefinidas que sean consistentes con el diseño implementado.
Para implementarlo, se ofrece una serie de clases utilitarias que se definen con p (padding) y m (margin). Estas clases permiten especificar la dirección en la que se desea aplicar el espaciado mediante los sufijos: x (eje horizontal), y (eje vertical), t (top), b (bottom), l (left) y r (right). Por ejemplo: pb-1 pr-05 pt-0.
Además, estas clases son adaptativas y se pueden ajustar utilizando sufijos detallados en las unidades de media queries, seguidos de dos puntos. Por ejemplo: md:p-1 sm:mt-1.
Colores
Sede
Están diseñados para facilitar la identificación rápida de la sección de la web en la que se encuentra el usuario/a.
Ayuntamiento
Es el color predeterminado para todos los portales y servicios, proporcionando una identidad visual clara y cohesiva a la Sede electrónica.
- hex: #DC1914
- hsl: 1.5, 83.3%, 47.1
- rgb: 220,25,20
- var: @brand-primary
Ciudad
Utilizado para secciones que traten conceptos de la ciudad, este verde oscuro evoca naturaleza y sostenibilidad, reforzando la temática urbana y medioambiental.
- hex: #006a00
- hsl: 120, 100%, 20.8%
- rgb: 0,106,0
- var: @colorCiudad
Para la gente
Este azul se emplea en la sección dedicada a la ciudadanía, sugiriendo confianza y accesibilidad, y facilitando la identificación de servicios y recursos dirigidos a los habitantes.
- hex: #006b87
- hsl: 192.4, 100%, 26.5%
- rgb: 0,107,135
- var: @colorGente
Cultura
Este púrpura se emplea en la sección dedicada a temas culturales, sugiriendo creatividad y serenidad. Refleja el dinamismo de las artes y el pensamiento, invitando a los usuarios a explorar y participar en las diversas manifestaciones culturales.
- hex: #8958A9
- hsl: 276.3, 32%, 50.4%
- rgb: 137, 88, 169
- var: @colorCultura
Turismo
El color utilizado para la sección de turismo es un marrón cálido que transmite la riqueza cultural y la hospitalidad de la ciudad, ayudando a los visitantes a orientarse rápidamente en los recursos turísticos disponibles.
- hex: #8b5400
- hsl: 36.3, 100%, 27.3%
- rgb: 139,84,0
- var: @colorTurismo
El color "ayuntamiento", siendo el color base de la sede electrónica, se emplea para destacar elementos, especialmente aquellas interacciones que ejecutan acciones principales ( botones, enlaces, etc. ). Esto garantiza coherencia visual y resalta los elementos clave, facilitando la experiencia del usuario al hacerlas más intuitivas.
Neutrales
Estos colores se emplean predominantemente en fondos y tipografías, proporcionando un contraste adecuado y asegurando la legibilidad de los contenidos.
Negro
Se utiliza principalmente para tipografías y elementos que requieren un alto contraste y legibilidad. También puede emplearse en fondos oscuros para resaltar elementos claros.
- hex: #222222
- hsl: 0, 0%, 13%
- rgb: 34,34,34
Gris
Es ideal para fondos, proporcionando una base neutra que no distrae. También puede ser utilizado en elementos de interfaz que requieren una separación sutil pero efectiva.
- hex: #f5f5f5
- hsl: 0, 0%, 96%
- rgb: 245, 245, 245
Blanco
Se utiliza en fondos y como color principal para la tipografía sobre fondos oscuros.
- hex: #ffffff
- hsl: 0, 0%, 100%
- rgb: 255,255,255
Contextuales
Los colores contextuales son una herramienta visual clave que facilita a las personas usuarias la identificación rápida y precisa de diferentes tipos de mensajes, tales como errores, alertas e información relevante
success
Se emplea para indicar operaciones exitosas, confirmaciones positivas y cualquier información que denote que una acción se ha completado correctamente
- hex: #198754
- hsl: 152, 68%, 31%
- rgb: 25,135,84
info
Se utiliza para proporcionar información general y contextual que no necesariamente implica una acción inmediata, pero es importante para la comprensión del contenido.
- hex: #047A92
- hsl: 191, 97%, 29%
- rgb: 4,122,146
warning
Este color alerta sobre situaciones que podrían requerir atención o precaución, sin ser necesariamente urgentes o críticas.
- hex: #8E6A02
- hsl: 44, 98%, 28%
- rgb: 142,106,2
danger
Se utiliza para señalar errores, fallos críticos o situaciones que requieren una acción inmediata para evitar consecuencias negativas.
- hex: #BE4844
- hsl: 2, 51%, 51%
- rgb: 190,72,68
Bordes
La utilización de bordes es un aspecto clave que contribuye significativamente a la usabilidad y percepción de interactividad de los elementos en la web municipal.
Función de los bordes:
- Diferenciación de elementos: Los bordes ayudan a distinguir visualmente entre diferentes secciones y elementos en la página.
- Jerarquía visual: Ayudan a establecer una jerarquía visual, resaltando elementos importantes y guiando la atención del usuario.
- Indicación de interactividad: Los bordes también pueden señalar que un elemento es interactivo, como botones y campos de formulario.
Colores de los bordes:
Es crucial que los colores de los bordes sean consistentes con la identidad visual de la institución y accesibles para todos los usuarios/as. por lo que deben tener un contraste adecuado con el fondo para garantizar que los elementos sean fácilmente visibles y distinguibles.
Bordes redondeados
Los bordes redondeados son un indicador visual común de interactividad en el diseño web moderno. Los usuarios, familiarizados con esta convención, tienden a asociar los bordes redondeados con elementos interactivos, como botones y enlaces, mejorando así la usabilidad intuitiva del sitio.
- Clases utilitarias para definir bordes
- Clases utilitarias para definir colores de bordes
- Clases utilitarias para definir bordes redondeados
Sombras
El uso de sombras sirve para proporcionar un recurso visual que permita resaltar elementos
- Prominencia y Enfoques: se aplicarán únicamente en aquellos elementos que necesiten destacar sobre el resto del contenido
- Jerarquía Visual: Esto ayudará a indicar la importancia relativa de los diferentes elementos y a guiar la mirada del usuario a través del diseño
- Moderación: Se debe evitar el uso excesivo de sombras, ya que puede generar un diseño sobrecargado y confuso
Consideraciones de Accesibilidad
Las sombras pueden dificultar la lectura del texto para los usuarios/as con baja visión. Por lo tanto, se debe garantizar un contraste adecuado entre el texto y el fondo, y evaluar el impacto de las sombras en la legibilidad.
Ejemplo:
Transiciones y animaciones
El movimiento es clave en la interfaz, ya que permiten definir el comportamiento de los componentes y mejorar la experiencia del usuario. Su función principal es:
- Indicar cambios: Las animaciones comunican visualmente los cambios en la interfaz, como la selección de un elemento, la apertura de un menú o la carga de contenido.
- Mejorar la comprensión: Las animaciones pueden guiar la atención hacia elementos importantes o ilustrar procesos complejos de forma más clara.
- Transmitir rapidez: Animaciones fluidas y rápidas generan sensación de respuesta inmediata a las interacciones del usuario.
Velocidad y aplicaciones
-
Componentes pequeños: En elementos como botones, inputs y otros elementos de interacción rápida, se recomienda utilizar animaciones más cortas y dinámicas.
-
Componentes grandes: Para componentes más grandes, como modales, acordeones o menús, se pueden emplear animaciones con mayor duración y suavidad.
-
Scroll suave: En enlaces internos (#) que conducen a diferentes secciones de la misma página, se recomienda implementar un scroll suave
scroll suaveLorem ipsum dolor sit amet, consectetur adipiscing elit. Nam enim libero, dapibus at pharetra eget, viverra eget turpis. Ut a bibendum nulla. Suspendisse auctor nisi a nunc maximus porttitor. Ut pharetra placerat risus, quis condimentum libero vulputate ac. Donec posuere, mauris ut gravida fringilla, felis erat lobortis ex, vel sodales mauris orci vitae tellus. Nunc bibendum, lacus at pulvinar tincidunt, dolor dolor consectetur urna, sit amet elementum lacus tortor sit amet nisl. Praesent at tortor vitae libero malesuada imperdiet non sed lacus. Sed ut consectetur ipsum. Praesent consectetur cursus sem vel molestie. Vestibulum tempor purus viverra feugiat scelerisque. Aenean varius nunc sit amet convallis imperdiet. Curabitur volutpat odio quis pharetra volutpat.
scroll suaveLa transición de scroll suave ya se encuentra configuradoa por defecto para todas los enlaces de navegación interna de la sede electrónica
Para implementarlo
data-scroll="smooth"Hará que todos los enlaces internos del bloque se comporten de esa manera y evitaremos mover la página entera
Beneficios
- Mejoran la experiencia del usuario: Las animaciones bien diseñadas hacen que la interacción sea más intuitiva, agradable y eficiente. Aumentan la atención: Las animaciones atractivas captan la atención del usuario y lo mantienen involucrado.
- Refuerzan la imagen de marca: Las animaciones coherentes con la identidad visual refuerzan la imagen de marca y transmiten modernidad.
Consideraciones importantes
- Accesibilidad: Las animaciones no deben distraer ni perjudicar a usuarios con discapacidades. Se deben evitar movimientos bruscos, cambios de color intensos o efectos estroboscópicos.
- Mecanismo de control: Se debe ofrecer al usuario la posibilidad de detener o pausar las animaciones si las considera molestas o innecesarias.
-
Preferencia de movimiento reducido: Para respetar las preferencias de los usuarios/as que han configurado su sistema operativo para reducir el movimiento, las transiciones de la interfaz se desactivarán por defecto cuando se detecte la media query "prefers-reduced-motion: reduce"
@media (prefers-reduced-motion: reduce) { * { transition: none; animation: none; } }
Librerias externas
En caso de ser solicitado disponemos de AOS Animate para realizar animaciones sencillas.
Ejemplo: Portal de Etopia
Cuando javascript está desactivado, se limpian los atributos de opacidad y transformaciones para que sigan siendo visibles los elementos a los que se les aplicó la animación
Elementos multimedia
Ilustraciones
Se recomienda utilizar el formato SVG para todas las ilustraciones. Este formato vectorial permite escalar las imágenes sin perder calidad, garantizando una visualización óptima en diferentes dispositivos y pantallas.
-
Diseño en servicios
- Minimalista: Se prioriza la simplicidad y la claridad en las ilustraciones. Se emplean pocos detalles y colores sólidos para lograr un impacto visual directo y evitar la sobrecarga de elementos.
- Cohesión Estética: Se mantiene una estética uniforme en todas las ilustraciones, utilizando una paleta de colores consistente y un estilo de dibujo coherente. Esto genera una sensación de armonía y profesionalidad en la comunicación visual.
- Iconografía Claramente Definida: Las ilustraciones funcionan como íconos que representan conceptos de forma clara y concisa. Deben ser fácilmente reconocibles e intuitivos para la comprensión de los usuarios/as.
-
Diseño de ilustraciones en portales
Las ilustraciones en los portales deben ajustarse a las necesidades y temáticas específicas. Dado que cada portal aborda asuntos distintos, no es viable aplicar un único diseño ilustrativo para todos.
- Adaptación a Temáticas Específicas: Cada portal tratará temas diferentes, por lo que las ilustraciones deben reflejar con precisión el contenido y los objetivos del portal. Es fundamental que las imágenes sean relevantes y adecuadas para los temas tratados.
- Estilo Definido: Cada portal contará con un estilo visual particular, determinado por las especificaciones y preferencias de la entiedad encargada del portal. Es esencial que este estilo sea coherente y uniforme en todas las ilustraciones para mantener una identidad visual sólida.
Estas directrices garantizan que las ilustraciones en los portales del Ayuntamiento sean efectivas y coherentes, proporcionando una experiencia visual atractiva y relevante para la ciudadanía
Imágenes
Formato
Se recomienda utilizar imágenes en formato PNG o JPG debido al amplio soporte en navegadores
img-responsive
Para evitar que las imágenes se desborden de su contenedor, se recomienda utilizar la clase CSS img-responsive. Esta clase ajusta automáticamente el tamaño de la imagen para que se adapte al contenedor padre, manteniendo la proporción original
<img src="imagen.jpg" class="img-responsive" alt="Descripción de la imagen">
Portadas de portales
Sin imagen de portada
En caso de que no se brinden elementos específicos para las portadas de portales, se utilizarán los encabezados diseñados por Isidro Ferrer.
Portada personalizada
Si se proporciona un elemento específico para la portada, se debe utilizar la paleta de colores del área correspondiente para garantizar la coherencia visual.
PDFs
Los documentos pdf deben ir acompañados por la clase .pdf que agregará la herramienta
readspeaker
<a href="zaragoza.es/documento.pdf" class="pdf" target="_blank">
Nombre del documento pdf
</a>
Resultado: Nombre del documento
Consideraciones generales
Para optimizar la gestión administrativa y promover la coherencia en nuestros desarrollos, se sugiere evitar el uso indiscriminado de CSS específico, aunque no está estrictamente prohibido. Es fundamental llevar a cabo un análisis exhaustivo para determinar si ya existe una implementación válida para la característica deseada, utilizando nuestro conjunto de clases utilitarias cuando sea posible. En caso de no encontrar una solución existente, se debe evaluar la conveniencia de integrarla en el CSS compilado general, con el fin de crear una base de código reutilizable para otros servicios y portales.
Asimismo, es importante considerar si el diseño en proceso corresponde a un patrón común que podría dar lugar a la creación de un nuevo componente, en caso de que no pueda lograrse mediante la configuración de los componentes actuales.
Si ninguna de estas opciones es aplicable, entonces se puede recurrir al uso de estilos específicos.