CRIOT
    DiseñoIntermedio

    Diseño responsive: más allá del media query

    Estrategias avanzadas de diseño adaptativo: Container Queries, clamp(), fluid typography, layouts intrínsecos con CSS Grid y la filosofía mobile-first que realmente mejora la experiencia en todos los dispositivos.

    MG
    María García
    CRO Specialist
    5 de diciembre de 20238 min

    Los media queries fueron revolucionarios en 2010. Pero en 2024, tenemos herramientas mucho más potentes para crear diseños verdaderamente adaptativos. Container Queries, clamp(), y CSS Grid con auto-fit crean layouts que se adaptan al contenido, no solo al viewport.

    Container Queries: el cambio de paradigma

    Container Queries permiten que un componente cambie su diseño según el tamaño de su contenedor, no del viewport. Esto es revolucionario para componentes reutilizables: una tarjeta de producto se adapta automáticamente si está en un sidebar estrecho o en un grid amplio.

    css
    .card-container {
      container-type: inline-size;
      container-name: card;
    }
    
    @container card (min-width: 400px) {
      .card {
        display: grid;
        grid-template-columns: 200px 1fr;
      }
    }

    Fluid Typography con clamp()

    En lugar de cambiar tamaños de fuente en breakpoints discretos, clamp() crea una transición fluida. Un h1 que mide 24px en móvil y 48px en escritorio, con transición suave entre ambos.

    css
    h1 {
      /* mínimo 24px, ideal 5vw, máximo 48px */
      font-size: clamp(1.5rem, 4vw + 0.5rem, 3rem);
    }

    CSS Grid con auto-fit

    Auto-fit + minmax() crea grids que se adaptan automáticamente sin media queries. Las tarjetas se reorganizan según el espacio disponible, siempre manteniendo un ancho mínimo legible.

    css
    .grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }
    CSSResponsiveMobile-first

    ¿Te ha gustado este artículo?

    Recibe contenido como este directamente en tu inbox. Sin spam, solo valor real.