Qué es CSS Scroll-State Query Generator?
Una consulta de contenedor scroll-state es una función CSS que permite estilizar elementos según el estado de desplazamiento de un contenedor. En lugar de usar JavaScript para detectar la posición de desplazamiento y alternar clases, escribe una consulta @container scroll-state(...) que aplica estilos automáticamente cuando los elementos están ajustados (snapped), fijos (stuck) o cuando un contenedor es desplazable. Esto permite IU impulsada por desplazamiento como indicadores de carrusel activos y sombras de encabezado fijo sin JavaScript.
Respuesta rápida
Use consultas CSS scroll-state() dentro de reglas @container para estilizar elementos según la posición de desplazamiento sin JavaScript. Apunte a estados snapped, stuck, scrollable o overflowing. Requiere container-type: scroll-state y Chrome 135+. Incluya un fallback JS para compatibilidad entre navegadores.
Last updated: 2026-05-28
Limitaciones
- Las consultas scroll-state requieren Chrome 135+ y aún no son compatibles con Firefox o Safari. Siempre proporcione un fallback JavaScript para uso en producción.
- El contenedor debe tener container-type: scroll-state configurado para que las consultas scroll-state funcionen. Este es un container-type separado de las consultas size o inline-size.
- Solo un conjunto limitado de estados de desplazamiento está disponible: snapped, stuck, scrollable y overflowing. Las animaciones complejas impulsadas por desplazamiento aún requieren JavaScript o animaciones impulsadas por desplazamiento (@scroll-timeline).
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
Cómo usar esta herramienta
- Seleccione el estado de desplazamiento al que apuntar: snapped (elemento de ajuste activo), stuck (elemento sticky) o scrollable (contenedor con desbordamiento).
- Establezca el selector CSS objetivo y el selector del contenedor de desplazamiento.
- Elija el cambio de estilo que se aplicará cuando el estado esté activo (opacity, scale, border, background).
- Copie el CSS, HTML de demostración y el fragmento de fallback JavaScript opcional.
Para qué puedes usarla
- Resaltar el elemento del carrusel actualmente ajustado con opacidad completa mientras se atenúan los demás.
- Agregar una sombra a un encabezado sticky solo cuando está fijo en la parte superior de la ventana gráfica.
- Estilizar un panel desplazable de manera diferente cuando tiene desbordamiento frente a cuando todo el contenido cabe.