- Características
- Demo Interactiva
- Instalación
- Uso Rápido
- Galería de Loaders
- Personalización
- Performance
- Accesibilidad
- Navegadores Soportados
- Contribuir
- Licencia
- ✅ 0 Dependencias JavaScript - CSS puro, sin librerías externas
- ✅ Ultra-ligero - Menos de 2KB por loader
- ✅ 100% Responsive - Funciona en cualquier dispositivo
- ✅ Performance Superior - Optimizado con GPU acceleration
- ✅ Accesible - Compatible con lectores de pantalla
- ✅ Personalizable - Fácil de adaptar a tu marca
- ✅ Moderno - Utiliza las últimas características de CSS
- ✅ Copy & Paste - Listo para usar en segundos
- ✅ SEO Friendly - Metadatos optimizados incluidos
Visita nuestra página de demostración para ver todos los loaders en acción y copiar el código directamente.
Características de la demo:
- Vista previa en tiempo real de cada loader
- Selector interactivo con hover effects
- Código completo HTML + CSS para cada loader
- Botones de copiar y descargar
- Guía de implementación paso a paso
Clona el repositorio:
git clone https://github.com/vibecoding/css-loaders.git
cd css-loadersIncluye el CSS en tu HTML:
<link rel="stylesheet" href="https://cdn.vibecoding.dev/loaders.css">npm install @vibecoding/css-loaders<!-- HTML -->
<div class="loader loader-1"></div>
<!-- CSS -->
<style>
.loader {
width: 40px;
height: 40px;
position: relative;
}
/* Agrega el CSS específico del loader que elijas */
</style>- Incluye el archivo CSS en tu proyecto
- Agrega el div con la clase correspondiente
<link rel="stylesheet" href="path/to/loaders.css">
<div class="loader loader-spinning-circle"></div>React:
const Loader = () => (
<div className="loader loader-1" role="status">
<span className="visually-hidden">Cargando...</span>
</div>
);Vue:
<template>
<div class="loader loader-1" role="status">
<span class="visually-hidden">Cargando...</span>
</div>
</template>Loader circular con animación de rotación suave.
- Uso ideal: Operaciones de carga general
- Performance: Excelente
- Personalización: Alta
Efecto 3D con perspectiva y transformaciones.
- Uso ideal: Aplicaciones modernas, dashboards
- Performance: Muy buena
- Personalización: Media
Animación de pin de mapa con rebote.
- Uso ideal: Aplicaciones de geolocalización
- Performance: Excelente
- Personalización: Alta
Dos puntos que rotan alrededor de un eje.
- Uso ideal: Sincronización, procesos duales
- Performance: Excelente
- Personalización: Alta
Puntos que rebotan verticalmente.
- Uso ideal: Carga de mensajes, chat
- Performance: Excelente
- Personalización: Alta
Clásico Pac-Man comiendo puntos.
- Uso ideal: Aplicaciones divertidas, gaming
- Performance: Muy buena
- Personalización: Media
Barra de progreso con animación de relleno.
- Uso ideal: Cargas con porcentaje conocido
- Performance: Excelente
- Personalización: Alta
Efecto de gota con ondas expansivas.
- Uso ideal: Actualizaciones, refresh
- Performance: Muy buena
- Personalización: Media
Sistema orbital con múltiples elementos.
- Uso ideal: Procesos complejos, análisis
- Performance: Muy buena
- Personalización: Media
Simplemente reemplaza #ffffff en el CSS:
/* Original */
background: #ffffff;
/* Tu color de marca */
background: #ff6b6b;Modifica las propiedades width y height:
.loader {
width: 60px; /* Tamaño deseado */
height: 60px; /* Tamaño deseado */
position: relative;
}Cambia animation-duration:
/* Más rápido */
animation-duration: 1s;
/* Más lento */
animation-duration: 4s;/* Tema oscuro */
.loader::before { background: #ffffff; }
/* Tema claro */
.loader::before { background: #000000; }- ✅ GPU Acceleration: Uso de
transformyopacity - ✅ Will-change: Pre-optimización de propiedades animadas
- ✅ Render Layers: Aislamiento de capas de renderizado
- ✅ CSS Containment: Mejora de painting performance
| Loader | FPS Promedio | CPU Usage | Repaints/seg |
|---|---|---|---|
| Spinning Circle | 60 | 2-3% | 0 |
| 3D Flaps | 60 | 3-4% | 0 |
| Map Pin | 60 | 2-3% | 0 |
| Rotating Dots | 60 | 2-3% | 0 |
| Bouncing Dots | 60 | 2-3% | 0 |
/* ✅ BUENO - Usa transform */
.loader {
transform: translateX(10px);
}
/* ❌ MALO - Evita left/top */
.loader {
left: 10px;
}<div class="loader loader-1" role="status" aria-label="Cargando contenido">
<span class="visually-hidden">Cargando...</span>
</div>.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}@media (prefers-reduced-motion: reduce) {
.loader,
.loader::before,
.loader::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}| Navegador | Versión Mínima |
|---|---|
| Chrome | 90+ |
| Firefox | 88+ |
| Safari | 14+ |
| Edge | 90+ |
| Opera | 76+ |
| Samsung Internet | 14+ |
Nota: Para navegadores más antiguos, se mostrarán versiones simplificadas sin animaciones 3D complejas.
css-loaders-vibe-coding/
├── index.html # Página de demostración completa
├── README.md # Este archivo
├── LICENSE # Licencia MIT
├── CONTRIBUTING.md # Guía de contribución
├── css/
│ ├── loaders.css # Todos los loaders (minificado)
│ └── individual/ # Loaders individuales
│ ├── loader-1.css
│ ├── loader-2.css
│ └── ...
├── js/
│ └── demo.js # JavaScript para la demo
├── docs/
│ ├── customization.md # Guía de personalización
│ ├── performance.md # Métricas de performance
│ └── accessibility.md # Guía de accesibilidad
└── examples/
├── react/ # Ejemplos para React
├── vue/ # Ejemplos para Vue
└── vanilla/ # Ejemplos vanilla JS
¡Las contribuciones son bienvenidas! Por favor lee nuestro CONTRIBUTING.md para detalles sobre nuestro código de conducta y el proceso para enviar pull requests.
- Fork el proyecto
- Crea tu rama de feature (
git checkout -b feature/NuevoLoader) - Commit tus cambios (
git commit -m 'Agrega nuevo loader increíble') - Push a la rama (
git push origin feature/NuevoLoader) - Abre un Pull Request
Abre un issue con:
- Descripción clara del problema
- Pasos para reproducir
- Navegador y versión
- Screenshots si es posible
- Agregar 10 loaders adicionales
- Paquete NPM
- Generador de loaders personalizado
- Soporte para Tailwind CSS
- Plugin para Figma
- Variantes de color predefinidas
- Animaciones con Intersection Observer
- Documentación en inglés
- Inspirado por la comunidad de Vibe Coding
- Diseños basados en las mejores prácticas de UX
- Optimizaciones de performance gracias a feedback de la comunidad
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
- Website: vibecoding.dev
- GitHub: @vibecoding
- Twitter: @vibecoding
- Discord: Únete a la comunidad
⭐ Si este proyecto te fue útil, considera darle una estrella en GitHub ⭐
Hecho con ❤️ por la comunidad Vibe Coding