生日动画效果通常涉及到JavaScript与CSS的结合使用,以创建动态的用户界面元素。以下是一个简单的生日动画效果的源码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>生日动画</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="birthday-cake">
<div class="candle"></div>
</div>
<script src="script.js"></script>
</body>
</html>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
}
.birthday-cake {
position: relative;
width: 200px;
height: 200px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.candle {
position: absolute;
top: -20px;
left: 50%;
transform: translateX(-50%);
width: 10px;
height: 100px;
background-color: #ffcc00;
border-radius: 5px;
animation: flicker 1s infinite alternate;
}
@keyframes flicker {
from { opacity: 0.8; transform: translateX(-50%) scale(1); }
to { opacity: 1; transform: translateX(-50%) scale(1.1); }
}
document.addEventListener('DOMContentLoaded', function() {
const cake = document.querySelector('.birthday-cake');
const candle = document.querySelector('.candle');
cake.addEventListener('click', function() {
candle.style.animationPlayState = 'paused';
cake.classList.add('blow-out');
});
});
.blow-out::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(255,255,255,0.8) 10%, rgba(255,255,255,0) 70%);
animation: blowOut 1s forwards;
}
@keyframes blowOut {
0% { transform: scale(1); opacity: 1; }
100% { transform: scale(3); opacity: 0; }
}
这种动画效果常用于生日祝福页面、游戏中的庆祝场景或者是任何需要表达庆祝氛围的场合。
通过以上代码和解释,你可以实现一个简单的生日动画效果,并根据需要进行调整和优化。
没有搜到相关的文章