Galería de Fondos para Body
Fondos animados modernos usando solo CSS
Gradient Mesh
Fondo con orbes de gradiente animados
Animated Gradient Mesh
Fondo con gradientes suaves que se mueven creando un efecto mesh dinámico
HTML
CSS
<body> <div class="bg-gradient-mesh"> <div class="gradient-orb"></div> </div> <!-- Tu contenido aquí --> <div class="content"> <!-- Contenido de tu página --> </div> </body>
body { margin: 0; padding: 0; min-height: 100vh; overflow-x: hidden; position: relative; } .bg-gradient-mesh { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #0a0a0a; overflow: hidden; z-index: -1; } .bg-gradient-mesh::before, .bg-gradient-mesh::after, .gradient-orb { content: ''; position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.6; animation: float-orb 20s ease-in-out infinite; } .bg-gradient-mesh::before { width: 600px; height: 600px; background: radial-gradient(circle, #667eea 0%, transparent 70%); top: -300px; left: -300px; animation-duration: 25s; } .bg-gradient-mesh::after { width: 800px; height: 800px; background: radial-gradient(circle, #764ba2 0%, transparent 70%); bottom: -400px; right: -400px; animation-duration: 30s; animation-delay: -5s; } .gradient-orb { width: 500px; height: 500px; background: radial-gradient(circle, #f093fb 0%, transparent 70%); top: 50%; left: 50%; transform: translate(-50%, -50%); animation-duration: 35s; animation-delay: -10s; } @keyframes float-orb { 0%, 100% { transform: translate(0, 0) scale(1); } 25% { transform: translate(100px, -100px) scale(1.1); } 50% { transform: translate(-100px, 100px) scale(0.9); } 75% { transform: translate(50px, 50px) scale(1.05); } } .content { position: relative; z-index: 1; /* Tu contenido con z-index superior al fondo */ }
Stars Field
Campo de estrellas animado con estrellas fugaces
Animated Stars Field
Fondo espacial con estrellas parpadeantes, estrellas fugaces y nebulosas
HTML
CSS
<body> <div class="bg-stars-field"> <div class="stars-layer"> <!-- Las estrellas se generan dinámicamente con CSS --> <div class="star" style="top: 10%; left: 20%; width: 2px; height: 2px; animation-delay: 0s;"></div> <div class="star" style="top: 30%; left: 50%; width: 3px; height: 3px; animation-delay: 1s;"></div> <div class="star" style="top: 60%; left: 80%; width: 2px; height: 2px; animation-delay: 2s;"></div> <!-- Añade más estrellas según necesites --> </div> <div class="shooting-star" style="top: 20%; left: -100px; animation-delay: 0s;"></div> <div class="shooting-star" style="top: 50%; left: -100px; animation-delay: 5s;"></div> <div class="nebula" style="top: 10%; right: 10%;"></div> <div class="nebula" style="bottom: 20%; left: 5%;"></div> </div> <!-- Tu contenido aquí --> <div class="content"> <!-- Contenido de tu página --> </div> </body>
body { margin: 0; padding: 0; min-height: 100vh; overflow-x: hidden; position: relative; } .bg-stars-field { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(ellipse at center, #1a1a2e 0%, #0a0a0a 100%); overflow: hidden; z-index: -1; } .stars-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .star { position: absolute; background: white; border-radius: 50%; animation: twinkle 3s ease-in-out infinite; } @keyframes twinkle { 0%, 100% { opacity: 0; transform: scale(0.5); } 50% { opacity: 1; transform: scale(1); } } .shooting-star { position: absolute; width: 2px; height: 2px; background: white; box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.8); animation: shoot 3s linear infinite; opacity: 0; } .shooting-star::before { content: ''; position: absolute; top: 0; left: 0; width: 100px; height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), white); transform: translateX(-100px); } @keyframes shoot { 0% { transform: translate(0, 0) rotate(-45deg); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translate(600px, 600px) rotate(-45deg); opacity: 0; } } .nebula { position: absolute; width: 300px; height: 300px; background: radial-gradient(circle, rgba(102, 126, 234, 0.3) 0%, transparent 70%); filter: blur(40px); animation: drift 40s ease-in-out infinite; } @keyframes drift { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 33% { transform: translate(100px, -50px) rotate(120deg); } 66% { transform: translate(-50px, 100px) rotate(240deg); } } .content { position: relative; z-index: 1; /* Tu contenido con z-index superior al fondo */ }