x
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Sobre de Amor</title>
<style>
body{
display:flex;
justify-content:center;
align-items:center;
height:100vh;
background:#f8c8dc;
font-family: Arial, sans-serif;
overflow:hidden;
}
/* CONTENEDOR */
.container{
position:relative;
cursor:pointer;
}
/* SOBRE */
.envelope{
position:relative;
width:300px;
height:200px;
background:#f5e6cc;
border-radius:5px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}
/* SOLAPA */
.flap{
position:absolute;
width:100%;
height:100%;
background:#f0d9b5;
clip-path: polygon(0 0, 100% 0, 50% 60%);
transform-origin:top;
transition:transform 1s ease;
}
/* CARTA */
.letter{
position:absolute;
width:90%;
height:90%;
background:white;
top:5%;
left:5%;
border-radius:5px;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
transform:translateY(100%);
transition:transform 1s ease;
text-align:center;
padding:10px;
}
.open .flap{
transform:rotateX(180deg);
}
.open .letter{
transform:translateY(0);
}
h2{
color:#d6336c;
}
p{
color:#444;
}
/* CORAZONES */
.heart{
position:absolute;
font-size:20px;
animation:floatUp 3s linear forwards;
pointer-events:none;
}
@keyframes floatUp{
0%{
transform:translateY(0) scale(1);
opacity:1;
}
100%{
transform:translateY(-300px) scale(1.5);
opacity:0;
}
}
</style>
</head>
<body>
<div class="container" onclick="openEnvelope(event)">
<div class="envelope">
<div class="flap"></div>
<div class="letter">
<h2>Para Ti ❤️</h2>
<p>Eres lo más bonito que llegó a mi vida.</p>
</div>
</div>
</div>
<script>
function openEnvelope(event){
const container = document.querySelector('.container');
container.classList.toggle('open');
// Crear corazones
for(let i=0;i<20;i++){
createHeart(event.clientX, event.clientY);
}
}
function createHeart(x,y){
const heart = document.createElement("div");
heart.classList.add("heart");
heart.innerHTML = "❤️";
heart.style.left = (x + (Math.random()*100 - 50)) + "px";
heart.style.top = (y + (Math.random()*50)) + "px";
heart.style.fontSize = (Math.random()*20 + 15) + "px";
document.body.appendChild(heart);
setTimeout(()=>{
heart.remove();
},3000);
}
</script>
</body>
</html>
Comentarios
Publicar un comentario