Generador de CSS para spinner de superposición

Siguiente

Una superposición de carga cubre la página con una capa translúcida y un spinner en el centro. Genera el spinner aquí y, después, añade abajo el CSS del contenedor para centrarlo sobre tu contenido.

Cómo crear un spinner en superposición

  1. 1

    Elige un tamaño mayor

    Escribe de 70 a 90 en el campo de tamaño y de 6 a 8 en el grosor, para que el spinner se vea bien en una página completa.

  2. 2

    Elige un color intenso

    Elige un color de arco que destaque sobre el fondo de la superposición.

  3. 3

    Copia el CSS generado

    Usa el botón de copiar para las reglas del cargador y de los keyframes.

  4. 4

    Añade el contenedor

    Pega las reglas de la superposición de esta página y anida el cargador dentro del contenedor.

Dos partes: el spinner y la superposición

El generador produce el spinner: la clase .loader y la regla @keyframes spin. La superposición es un contenedor separado que añades tú. Cubre toda la ventana y centra su elemento hijo. Esta separación es útil porque puedes reutilizar el mismo spinner en un botón o en una tarjeta y usar el contenedor solo cuando necesites un estado que bloquee la página.

CSS del contenedor

Pega esto después de las reglas generadas:

.overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.75);
  z-index: 1000;
}
<div class="overlay" role="status" aria-label="Cargando">
  <div class="loader"></div>
</div>

position: fixed con inset: 0 estira la capa hasta los cuatro bordes de la pantalla. Los ajustes de flex centran el spinner en ambas direcciones. El z-index mantiene la capa por encima del contenido normal, así que súbelo si una cabecera o un modal sigue apareciendo encima.

Cubrir solo una zona en lugar de la página

Si solo se carga una tarjeta o una tabla, dale a su contenedor position: relative y cambia el contenedor de la superposición a position: absolute:

.panel { position: relative; }
.panel .overlay { position: absolute; }

El resto de la página sigue siendo utilizable y solo se atenúa ese panel.

Elige el color de la superposición según la página

Fondo de la página Fondo de la superposición Color del arco
Blanco rgba(255, 255, 255, 0.75) Color de marca
Oscuro rgba(0, 0, 0, 0.6) Color claro o brillante

En una página oscura, cambia también el color de la pista #eee en el CSS del cargador pegado para que el anillo no brille en exceso.

Buenas prácticas

  • Elimina la superposición en cuanto termine el trabajo, o la página seguirá bloqueada.
  • Úsala para esperas breves. En operaciones largas, muestra un texto que explique lo que está pasando.
  • El marcado de la superposición y la gestión del foco son responsabilidad tuya. Esta herramienta solo genera el spinner.

Evita que la página se desplace

Una superposición fija oculta la página, pero el contenido que queda detrás puede seguir desplazándose con la rueda del ratón o con el tacto. Si eso importa, añade overflow: hidden; al body mientras la superposición está visible, y quítalo cuando desaparezca. Mantén la regla vinculada al mismo momento en que muestras y ocultas la superposición, para que ambas cosas nunca se desincronicen.

Preguntas frecuentes

No. Crea el CSS del spinner. El contenedor de la superposición son unas pocas líneas de CSS adicionales que se muestran en esta página y que pegas junto al spinner.

Haz que el contenedor sea fixed con inset: 0 y usa display: flex con align-items: center y justify-content: center. Así el spinner queda en el centro.

Otro elemento tiene un orden de apilamiento más alto. Sube el z-index de la superposición por encima de él.

Sí. Una capa fija que cubre la pantalla recibe los clics en lugar de los elementos que hay debajo, lo que normalmente es lo deseado mientras se carga.

Herramientas relacionadas

Herramienta disponible en otros idiomas

Guías y casos de uso