Generador de CSS para spinner de carga

Siguiente

Un spinner de carga muestra a los visitantes que una página, un panel o un botón sigue trabajando. Define abajo el tamaño, el grosor del anillo, el color y la velocidad, revisa la vista previa y copia el CSS del spinner de carga terminado en tu hoja de estilos.

Cómo obtener el CSS de tu spinner de carga

  1. 1

    Elige un tamaño

    Introduce el diámetro en píxeles. Entre 40 y 60 para un área de contenido, y menos para usos en línea.

  2. 2

    Elige el grosor y el color

    Define el grosor del anillo en píxeles y elige el color del arco en movimiento con el campo de color.

  3. 3

    Define la velocidad

    Introduce los segundos de una vuelta completa. 1 es un valor predeterminado habitual.

  4. 4

    Copia el CSS

    Usa el botón de copiar junto al cuadro de CSS y pega las reglas en tu hoja de estilos.

Qué obtienes

El generador escribe dos reglas: una clase .loader y un bloque @keyframes spin. La clase dibuja un círculo, le da un anillo gris claro y colorea el borde superior de ese anillo. Los keyframes hacen girar el círculo una vuelta completa, y la línea animation lo repite sin fin. No hace falta nada más: ni archivo de imagen, ni fuente de iconos ni script.

Con los valores predeterminados (60 px, anillo de 6 px, #10b981, 1 segundo), el resultado es este:

.loader {
  width: 60px;
  height: 60px;
  border: 6px solid #eee;
  border-top-color: #10b981;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

Añádelo a tu página

Pega el CSS en tu hoja de estilos y, después, añade un elemento vacío donde debe aparecer el cargador:

<div class="loader" role="status" aria-label="Cargando"></div>

Muestra el elemento mientras el trabajo está en curso y elimínalo, u ocúltalo con display: none, cuando llegue el contenido. Los atributos role y aria-label permiten que los lectores de pantalla anuncien el estado.

Tamaños que funcionan

Dónde se coloca Tamaño Grosor
Dentro de un botón pequeño De 16 a 20 px 2 px
Junto a una línea de texto De 20 a 28 px 3 px
Tarjeta o panel De 40 a 60 px De 4 a 6 px
Centrado en una página vacía De 60 a 100 px De 6 a 8 px

Una regla práctica es un grosor de alrededor de una décima parte del diámetro. Mucho más fino se ve débil en pantallas de alta resolución, y mucho más grueso convierte el anillo en una mancha.

Puntos a tener en cuenta

  • El color de la pista está fijado en gris claro (#eee). En un fondo oscuro, cambia ese valor en el CSS pegado.
  • La herramienta crea un único spinner circular. Los puntos, las barras y otras formas necesitan un marcado diferente.
  • Si en tu proyecto ya existe una clase llamada loader o una animación llamada spin, renómbralas en el CSS pegado para que las reglas no entren en conflicto.

Mostrar y ocultar el spinner

Un spinner de carga debe aparecer cuando empieza el trabajo y desaparecer cuando termina. Un patrón sencillo es mantener un atributo hidden en el elemento y quitarlo cuando empieza una petición. Si la espera suele ser muy breve, añade un pequeño retraso de unos cientos de milisegundos antes de mostrar el anillo, para que las respuestas rápidas no hagan parpadear un spinner durante un instante. Elijas lo que elijas, oculta siempre el spinner también en caso de error, o los visitantes esperarán algo que ya ha fallado.

Preguntas frecuentes

Sí. El resultado es CSS sencillo con una clase y una regla de keyframes, así que funciona en cualquier hoja de estilos o bloque de estilos, con cualquier tecnología de servidor.

Mantén el elemento oculto por defecto y muéstralo cuando empiece la petición. Vuelve a ocultarlo cuando termine. Puedes controlarlo con un cambio de clase o un atributo hidden en tu propio código.

El CSS generado solo colorea el borde superior del círculo. Al girar el círculo, ese único arco de color recorre el anillo gris claro, lo que crea el efecto de giro.

Sí. Cada valor es una propiedad CSS normal, así que puedes editar directamente en tu hoja de estilos el ancho, el borde, el color o el tiempo de la animación.

Herramientas relacionadas

Herramienta disponible en otros idiomas

Guías y casos de uso