十分钟实现节日祝福动画,CSS+JavaScript实现元旦祝福动画,祝大家元旦快乐
【摘要】 视频
视频地址:https://www.bilibili.com/video/BV1v54y1t7zn
十分钟实现元旦祝福动画,CSS+JavaScript实现节日祝福动画,祝大家元旦快乐
视频已同步到我的B站账号欢迎大家关注。https://space.bilibili.com/563010186
参考代码
HTML:
<!DOC...
视频
视频地址:https://www.bilibili.com/video/BV1v54y1t7zn
十分钟实现元旦祝福动画,CSS+JavaScript实现节日祝福动画,祝大家元旦快乐
视频已同步到我的B站账号欢迎大家关注。
https://space.bilibili.com/563010186
参考代码
HTML:
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta charset="utf-8">
-
<title>元旦快乐:公众号AlbertYang</title>
-
<link rel="stylesheet" href="style.css">
-
</head>
-
<body>
-
<p>
-
<div class="box">
-
<dic class="circle">
-
<div class="text">
-
<span style="--x:0">元</span>
-
<span style="--x:1">旦</span>
-
<br />
-
<span style="--x:2">快</span>
-
<span style="--x:3">乐</span>
-
</div>
-
</dic>
-
</div>
-
</p>
-
<script>
-
const bubbles = () => {
-
let count = 300;
-
let p = document.querySelector("p");
-
for (let i = 0; i < count; i++) {
-
let bubble = document.createElement('i');
-
let x = Math.floor(Math.random() * window.innerWidth);
-
y = Math.floor(Math.random() * window.innerHeight);
-
-
-
let size = Math.random() * 60;
-
bubble.style.left = x + 'px';
-
bubble.style.top = y + 'px';
-
bubble.style.width = size + 'px';
-
bubble.style.height = size + 'px';
-
bubble.style.animationDuration = 5 + size + 's';
-
bubble.style.animationDelay = -size + 's';
-
-
-
p.appendChild(bubble);
-
}
-
}
-
bubbles()
-
</script>
-
</body>
-
</html>
CSS:
-
* {
-
margin: 0;
-
padding: 0;
-
box-sizing: border-box;
-
}
-
-
-
body {
-
overflow: hidden;
-
}
-
-
-
p {
-
display: flex;
-
justify-content: center;
-
align-items: center;
-
min-height: 100vh;
-
background: #f1f1f1;
-
}
-
-
-
p .box {
-
position: absolute;
-
width: 450px;
-
height: 450px;
-
}
-
-
-
p .box .circle {
-
position: relative;
-
width: 100%;
-
height: 100%;
-
background: linear-gradient(135deg, #fff, #e4e3e8);
-
display: flex;
-
justify-content: center;
-
align-items: center;
-
border-radius: 50%;
-
}
-
-
-
p .box .circle::before {
-
content: "";
-
position: absolute;
-
left: 5px;
-
top: 5px;
-
right: 5px;
-
bottom: 5px;
-
background: linear-gradient(315deg, #fff, #e4e3e8);
-
border-radius: 50%;
-
z-index: 1;
-
}
-
-
-
p .text {
-
position: absolute;
-
font-size: 6em;
-
color: #ff2a2a;
-
z-index: 2;
-
}
-
-
-
p .text span {
-
display: inline-block;
-
animation: blink 3s 2s infinite;
-
animation-delay: calc(var(--x) * 0.5s);
-
}
-
-
-
p i {
-
position: absolute;
-
background: #FF2A2A;
-
border-radius: 50%;
-
animation: animate linear infinite;
-
}
-
-
-
p i:nth-child(even) {
-
background: transparent;
-
border: 1px solid #FF2A2A;
-
}
-
-
-
@keyframes animate {
-
0% {
-
transform: translateY(0);
-
opacity: 0;
-
filter: hue-rotate(0deg);
-
}
-
-
-
10%,
-
90% {
-
opacity: 1;
-
}
-
-
-
100% {
-
transform: translateY(-3000%);
-
opacity: 0;
-
filter: hue-rotate(36000deg);
-
}
-
}
-
-
-
@keyframes blink {
-
0% {
-
transform: scale(0);
-
opacity: 0;
-
filter: hue-rotate(0deg);
-
}
-
-
-
30%,
-
50%,
-
80% {
-
transform: scale(1.3);
-
opacity: 1;
-
}
-
-
-
100% {
-
transform: scale(0);
-
opacity: 0;
-
filter: hue-rotate(3600deg);
-
}
-
}
今天的学习就到这里了,由于本人能力和知识有限,如果有写的不对的地方,还请各位大佬批评指正。如果想继续学习提高,欢迎关注我,每天进步一点点,就是领先的开始,加油。如果觉得本文对你有帮助的话,欢迎转发,评论,点赞!!!
文章来源: albertyang.blog.csdn.net,作者:Albert Yang,版权归原作者所有,如需转载,请联系作者。
原文链接:albertyang.blog.csdn.net/article/details/112057323
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)