Generador de Cargadores CSS
Un spinner indica al usuario que algo está ocurriendo. Este generador crea un único spinner circular en CSS: define el diámetro, el grosor del borde, el color de acento y la velocidad de rotación, mira la previsualización en vivo y copia el CSS. Todo es CSS puro: sin SVG, sin JavaScript y sin librerías externas.
Cómo usar el generador
-
1
Ajusta el tamaño
Diámetro del spinner en píxeles. De 40 a 80 px encaja en la mayoría de botones y zonas de contenido.
-
2
Ajusta el grosor del borde
El anillo es un borde dibujado sobre un círculo. Un borde más grueso hace el arco más marcado; de 4 a 8 px se ve bien con 60 px.
-
3
Elige el color
El color de acento del arco que gira. El resto del anillo se mantiene en gris claro para que el arco destaque.
-
4
Ajusta la velocidad y copia el CSS
Tiempo de rotación en segundos por vuelta completa. Alrededor de 1 segundo es el punto ideal más común; por debajo de 500 ms resulta frenético y por encima de 2 s, lento.
Cómo funciona el CSS generado
.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); }
}
El cargador es un círculo dibujado con un borde grueso. La regla border-top-color pinta solo la parte superior del anillo con el color de acento, de modo que el anillo se lee como un arco, y la regla @keyframes spin lo rota alrededor de su centro. Rotar con transform: rotate() mantiene la animación barata, porque el navegador mueve el elemento en el compositor en lugar de redibujarlo fotograma a fotograma.
Para mostrarlo en una página, añade un elemento y carga el CSS:
<div class="loader" role="status" aria-label="Cargando"></div>
Hazlo accesible
- Añade
role="status"para que los lectores de pantalla anuncien el cargador. - Pon
aria-labelcon el texto de estado, por ejemplo “Cargando”. - No ocultes contenido detrás de un cargador durante más de unos segundos sin un tiempo de espera de respaldo.
- Respeta
prefers-reduced-motion. Para los usuarios que lo han desactivado, sustituye la animación giratoria por un simple desvanecimiento o un texto estático “Cargando…”:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Cuándo usar un cargador frente a una interfaz optimista
- Respuesta < 100 ms: no hace falta cargador; el ojo humano apenas percibe el retraso.
- 100 ms – 1 s: un cargador sutil (spinner pequeño, texto de botón “Cargando…”) evita los dobles clics.
- 1 s – 10 s: un cargador visible, idealmente con progreso si es medible.
- > 10 s: no es un problema de spinner; averigua qué es lo lento y corrígelo.
En envíos de formularios y clics de botón, un spinner dentro del botón suele ser mejor que una superposición a pantalla completa.
Preguntas frecuentes
CSS para spinners simples de un solo elemento (el truco de rotación de cuatro bordes). SVG cuando necesitas una estela en forma de cono, múltiples animaciones de trazo dasharray, o segmentos rellenos que parecen pinceladas. CSS es más pequeño y simple; SVG es más flexible.
Probablemente porque estás rotando un elemento grande o animando una propiedad no compuesta. Mantén el tamaño del spinner pequeño, usa transform: rotate() (no top/margin), y evita activarlo mientras se ejecutan otras animaciones pesadas.
Casi universalmente en sentido horario. Los spinners antihorarios se sienten sutilmente incorrectos porque la mayoría de las señales de rotación reales (relojes, molinos de viento) van en sentido horario. Adhiérete a la convención a menos que tengas una razón específica.
Con un setTimeout(..., 300) en JavaScript que añade la clase del cargador, más un clearTimeout si la operación termina primero. Previene el parpadeo en respuestas rápidas sin ocultar retrasos reales.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Formateador de JSON
Pega JSON para verlo con sangría de 2 o 4 espacios, minificarlo en una salida compacta o comprobar rápidamente la sintaxis antes de copiar el resultado.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.