Communitygithub.com

Sistema de Espaciado Fluido (coastdigitalgroup/coastai-skills)

Diseña e implementa una escala de espaciado fluida utilizando CSS clamp() para garantizar un espacio en blanco y un ritmo vertical consistentes en todos los dispositivos. Activa esta skill cuando se te pida definir sistemas de espaciado, márgenes, rellenos o brechas de layout.

¿Qué es coastai-skills)?

Esta skill proporciona una metodología completa para crear una escala de espaciado responsiva que se adapta suavemente al viewport del usuario mediante la función CSS `clamp()`. Permite definir sistemas de espaciado (márgenes, paddings, gaps) que escalan linealmente entre valores mínimos y máximos, manteniendo la armonía visual y proporciones consistentes sin necesidad de excesivas media queries. Soporta cualquier plataforma (Claude Code, Cursor, Codex, etc.) y es ideal para establecer la base de un sistema de diseño moderno, mejorar la consistencia visual en sitios responsivos o reemplazar espaciados fijos basados en píxeles. El flujo de trabajo guía al usuario en la definición de parámetros (rango de viewport, unidad base y ratio de escala), cálculo de pasos, generación de fórmulas `clamp()`, asignación de roles semánticos y validación de criterios como el principio de la cuadrícula 8pt, la accesibilidad (área de toque mínima de 24x24px según WCAG) o el espaciado relativo al contenedor usando unidades `cqi`/`cqw`. Además, incluye reglas de decisión, patrones de fallo comunes (como escalar todo por igual o ignorar los gutter del layout) y criterios de validación detallados para garantizar una implementación correcta y mantenible.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/fluid-spacing-system

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Sistema de Espaciado Fluido

Propósito

La skill Sistema de Espaciado Fluido proporciona una metodología para crear una escala responsiva de espacio en blanco (márgenes, paddings, gaps) que se adapta suavemente al viewport del usuario. Mediante el uso de la función CSS clamp(), el espaciado escala linealmente entre valores mínimos y máximos definidos, manteniendo la armonía visual y proporciones consistentes sin necesidad de excesivas media queries.

Casos de Uso

  • Establecer una escala de espaciado fundamental para un nuevo sistema de diseño.
  • Modernizar un sitio web para mejorar la consistencia visual entre móvil, tablet y escritorio.
  • Diseñar layouts de alta calidad donde el espacio en blanco necesite expandirse en pantallas grandes pero mantenerse compacto en pantallas pequeñas.
  • Reemplazar espaciados fijos basados en píxeles con un sistema más flexible y consciente de la implementación.

Cuándo NO Usarlo

  • Páginas Sencillas y No Responsivas: Si el layout es extremadamente básico o no tiene requisitos responsivos.
  • Layouts Estrictamente Fijos: Cuando las especificaciones de diseño exijan valores de píxel exactos e innegociables en todas las resoluciones.
  • Soporte de Navegadores Antiguos: Si el público objetivo utiliza principalmente navegadores que no soportan CSS clamp() (por ejemplo, Internet Explorer).

Entradas

Para generar un sistema de espaciado fluido, necesitas:

  1. Rango de Viewport:
    • min-width: El ancho de pantalla donde comienza el escalado (ej., 320px).
    • max-width: El ancho de pantalla donde se detiene el escalado (ej., 1280px).
  2. Unidad Base de Espaciado:
    • min-size: La unidad base (ej., 16px) en min-width.
    • max-size: La unidad base (ej., 20px) en max-width.
  3. Ratio de Escala:
    • Un multiplicador para determinar los pasos en la escala (ej., 1.25 para una escala de Tercera Mayor, o una progresión lineal 2x/3x/4x).

Salidas

  1. Escala de Espaciado Fluido: Un conjunto de variables de CSS que definen valores desde "diminuto" hasta "enorme" usando clamp().
  2. Mapeo Semántico: Guías sobre cómo aplicar estos tokens (ej., --space-m para padding de componentes, --space-xl para márgenes de sección).
  3. Documentación de Uso: Reglas para combinar unidades manteniendo el ritmo vertical y la alineación horizontal.

Flujo de Trabajo

1. Definir los Parámetros de la Escala

Establece los límites para tu sistema fluido basándote en los dispositivos objetivo del proyecto. Ejemplo: 320px (Móvil) a 1440px (Escritorio), con una unidad base que escala de 16px a 24px.

2. Elegir un Ratio de Espaciado

Decide cómo deben crecer los pasos de espaciado.

  • Lineal/Multiplicativo: Los pasos son múltiplos de la unidad base (ej., 0.5x, 1x, 1.5x, 2x, 4x, 8x). Mejor para una alineación predecible.
  • Escala Geométrica: Cada paso es el paso anterior multiplicado por un ratio (ej., 1.25). Mejor para layouts artísticos de alto contraste.

3. Calcular los Pasos de la Escala

Crea un rango de tamaños. Una escala típica incluye:

  • 3XS a XS: Para detalles diminutos, listas ajustadas y padding interno de botones.
  • S a M: Para espaciado estándar de componentes y medianiles (gutters).
  • L a 3XL: Para márgenes de sección, espaciado de héroe y grandes brechas de layout.

4. Generar Fórmulas CSS clamp()

Convierte los valores de píxel en fórmulas fluidas. clamp(min_rem, intercept_rem + slope_vw, max_rem)

Cálculo de pendiente: (max_px - min_px) / (max_viewport - min_viewport) * 100

5. Asignar Roles Semánticos

Mapea la escala abstracta a roles funcionales para asegurar consistencia en todo el equipo.

  • space-component: --space-s
  • space-layout-gutter: --space-m
  • space-section: --space-xl

Reglas de Decisión

  • El Principio de la Cuadrícula 8pt: Siempre que sea posible, asegúrate de que tus valores mínimos y máximos sean múltiplos de 4 u 8 para alinearse con los patrones estándar de UI.
  • Principio de Proximidad: Los elementos relacionados deben tener menos espacio entre ellos que los elementos no relacionados.
  • Compresión Móvil: Mantén las unidades de espaciado pequeñas (3XS-S) relativamente estables; solo las unidades más grandes (L-3XL) deben escalar agresivamente para evitar que los layouts móviles se sientan "explotados".
  • Accesibilidad: Asegúrate de que, incluso en la escala más pequeña, los elementos interactivos mantengan un área de toque lo suficientemente grande (mínimo 24x24px según WCAG 2.2 SC 2.5.8, incluyendo padding; 44x44px preferido para acciones principales).
  • Espaciado Relativo al Contenedor: Para espaciado que deba responder al contenedor de un componente en lugar del viewport (ej., una tarjeta que puede estar en una barra lateral estrecha o en una columna principal ancha), usa unidades de longitud de consulta de contenedor (cqi/cqw) dentro de la fórmula clamp() en lugar de vw.

Restricciones

  • Responsividad: El espaciado nunca debe causar desbordamiento horizontal.
  • Consistencia: Una vez definida una escala, no uses valores de píxel "únicos".
  • Jerarquía: Siempre se debe usar espaciado más grande para separar bloques de contenido más grandes (ej., secciones), mientras que el espaciado más pequeño es para detalles internos de componentes.
  • Alcance: Esta skill cubre únicamente valores de espaciado — no crea un grid de layout (usa responsive-grid-system), no define tamaños de tipografía (usa fluid-typography-system), ni gestiona z-index/capas.

Patrones de Fracaso Comunes

  • Escalar Todo por Igual: Escalar pequeños paddings (como 4px) demasiado puede hacer que los componentes se vean distorsionados en escritorio.
  • Ignorar los Gutter del Layout: Tener espaciado de componentes fluido pero medianiles (gutters) fijos del grid, llevando a una "deriva" en la alineación.
  • Escala Abrumadora: Tener 20 o más pasos de espaciado diferentes hace que el sistema sea difícil de usar y mantener. Apunta a 7-9 pasos.
  • Falta de Pasos Lógicos: Usar números arbitrarios en lugar de una escala o ratio consistente.

Criterios de Validación

  • El espaciado escala suavemente cuando se redimensiona el viewport.
  • El ritmo vertical se mantiene en todos los puntos de quiebre principales.
  • No se usan valores de píxel "únicos" en la implementación; todo el espaciado utiliza las variables definidas.
  • El sistema usa unidades rem para los límites mínimo y máximo de la función clamp().
  • La proximidad y la jerarquía se ven reforzadas por las elecciones de espaciado.
  • Los elementos interactivos conservan al menos un área de toque de 24x24px (WCAG 2.2 SC 2.5.8) en cada punto de la escala fluida, incluido el viewport más pequeño.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Skills relacionados