Para Shady ❤️
@import url(' https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600&family=Poppins:wght@300;500&display=swap' );
:raíz {
--color primario: #ff6b81;
--color secundario: #ff9a9e;
--bg-color: #fec3a6;
--glass-bg: rgba(255, 255, 255, 0.25);
--borde de vidrio: rgba(255, 255, 255, 0.5);
}
cuerpo {
margen: 0;
relleno: 0;
altura mínima: 100vh;
pantalla: flex;
justificar-contenido: centro;
alinear-elementos: centro;
fondo: gradiente lineal (135 grados, #fdfbfb 0%, #ebedee 100%);
imagen de fondo: gradiente lineal (120 grados, #f6d365 0%, #fda085 100%);
familia de fuentes: 'Poppins', sans-serif;
desbordamiento: oculto;
}
/*Lluvia de corazones de fondo*/
.corazones-bg {
posición: absoluta;
arriba: 0;
izquierda: 0;
ancho: 100%;
altura: 100%;
eventos de puntero: ninguno;
desbordamiento: oculto;
índice z: 0;
}
.caída del corazón {
posición: absoluta;
color: rgba(255, 255, 255, 0.6);
animación: caída lineal infinita;
}
@keyframes caen {
0% { transformar: translateY(-10vh) rotar(0deg); opacidad: 1; }
100% { transformar: translateY(110vh) rotar(360deg); opacidad: 0; }
}
/* Contenedor principal estilo cristal */
.contenedor {
posición: relativa;
índice z: 10;
fondo: var(--glass-bg);
filtro de fondo: desenfoque(10px);
-webkit-backdrop-filter: desenfoque(10px);
borde: 1px solid var(--borde de vidrio);
radio del borde: 20px;
relleno: 40px;
alinear texto: centro;
caja-sombra: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
ancho máximo: 90%;
ancho: 400px;
animación: float 6s entrada-salida fácil infinita;
}
@keyframes flotan {
0% { transformar: translateY(0px); }
50% { transformar: translateY(-10px); }
100% { transformar: translateY(0px); }
}
h1 {
familia de fuentes: 'Dancing Script', cursiva;
color: #fff;
tamaño de fuente: 3.5rem;
margen inferior: 10px;
sombra de texto: 2px 2px 4px rgba(0,0,0,0.1);
}
/* Animación de la Flor CSS */
.contenedor-de-flores {
posición: relativa;
ancho: 100px;
altura: 100px;
margen: 20px automático;
}
.centro-de-flores {
ancho: 40px;
altura: 40px;
fondo: #ffeb3b;
radio del borde: 50%;
posición: absoluta;
parte superior: 50%;
izquierda: 50%;
transformar: traducir(-50%, -50%);
índice z: 2;
caja-sombra: inserción -5px -5px 10px rgba(0,0,0,0.1);
}
.pétalo {
ancho: 40px;
altura: 40px;
fondo: #ff6b81;
radio del borde: 50% 50% 0 50%;
posición: absoluta;
parte superior: 50%;
izquierda: 50%;
origen-de-transformación: 0% 0%;
opacidad: 0,9;
animación: bloom 2s avanza lentamente;
}
.petal:nth-child(1) { transformar: rotar(0 grados) traducir(10px, 10px); }
.petal:nth-child(2) { transformar: rotar(72 grados) traducir(10px, 10px); }
.petal:nth-child(3) { transformar: rotar(144 grados) traducir(10px, 10px); }
.petal:nth-child(4) { transformar: rotar(216 grados) traducir(10px, 10px); }
.petal:nth-child(5) { transformar: rotar(288 grados) traducir(10px, 10px); }
@keyframes florecen {
0% { transformar: escala(0) rotar(0); opacidad: 0; }
100% { opacidad: 1; }
}
/* Botones */
.botones-wrapper {
pantalla: flex;
justificar-contenido: centro;
espacio: 15px;
margen superior: 30px;
}
.magic-btn {
fondo: blanco;
borde: ninguno;
ancho: 50px;
altura: 50px;
radio del borde: 50%;
tamaño de fuente: 1.5rem;
cursor: puntero;
transición: todos los 0,3 s cúbicos-bezier(0,175, 0,885, 0,32, 1,275);
caja-sombra: 0 4px 6px rgba(0,0,0,0.1);
color: var(--color-primario);
}
.magic-btn:pasar el ratón {
transformar: escalar(1.2) rotar(10deg);
fondo: #fff0f3;
caja-sombra: 0 8px 15px rgba(255, 107, 129, 0.3);
}
/* Área de mensajes */
.área-de-mensajes {
altura mínima: 80px;
margen superior: 25px;
pantalla: flex;
justificar-contenido: centro;
alinear-elementos: centro;
}
.texto del mensaje {
color: #fff;
tamaño de fuente: 1.2rem;
peso de fuente: 500;
opacidad: 0;
transformar: translateY(20px);
transición: todos los 0,5 s de facilidad;
sombra de texto: 1px 1px 2px rgba(0,0,0,0.1);
}
.texto-del-mensaje.visible {
opacidad: 1;
transformar: translateY(0);
}
.nota al pie de página {
margen superior: 20px;
tamaño de fuente: 0.8rem;
color: rgba(255,255,255,0.8);
}
Para Shady
Escoge un botón...
// Mensajes personalizados
const mensajes = {
1: "Eres la casualidad más bonita de mi vida ✨",
2: "Tu sonrisa ilumina mi mundo entero 🌹",
3: "Gracias por ser tú. Te adoro ❤️"
};
función mostrarMensaje(id) {
constante display = document.getElementById('msg-display');
// Ocultar mensaje actual
display.classList.remove('visible');
establecerTiempo de espera(() => {
display.innerText = mensajes[id];
display.classList.add('visible');
}, 300); // Esperar a que termine la transición de salida
}
// Crear lluvia de corazones dinámica
función createHearts() {
constante contenedor = document.getElementById('heartsBg');
constante heartCount = 20;
para (sea i = 0; i < heartCount; i++) {
constante corazón = document.createElement('div');
corazón.innerHTML = '❤';
corazón.classList.add('corazon-caida');
// Aleatorizar posición y animación
corazón.estilo.izquierda = Math.random() * 100 + 'vw';
heart.style.animationDuration = Math.random() * 3 + 4 + 's'; // Entre 4 y 7 segundos
corazón.estilo.tamañoDeFuente = Math.aleatorio() * 20 + 10 + 'px';
corazón.estilo.animationDelay = Math.random() * 5 + 's';
contenedor.appendChild(corazón);
}
}
crearCorazones();