流星特效案例代码

实际效果,代码下载即可使用

流星图片

<!--

描述: 流星特效

作者: Jack GUO

日期: 20230727

-->

<template>

<div class="wrap-container sn-container">

<div class="pd-main-left">

<div class="yun-container">

<div class="yun-tree"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

<div class="line-fs"></div>

</div>

</div>

</div>

</template>

<script>

export default {

name: "flashCloud",

data() {

return {

}

},

mounted() {

},

methods: {

},

beforeDestroy() {

}

};

</script>

<style lang="scss" scoped>

.wrap-container {

position: absolute;

overflow: hidden;

display: block;

cursor: default;

z-index: 0;

left: 0;

top: 0;

width: 500px;

height: 300px;

background-color: black;

}

.sn-container {

left: 512px;

top: 78px;

width: 432px;

height: 400px;

.pd-main-left {

position: relative;

width: 310px;

height: 335px;

transform: rotate(45deg);

.yun-container {

width: 100%;

height: 100%;

>div {

&:nth-child(2) {

height: 90%;

-webkit-animation-duration: 2s;

-moz-animation-duration: 2s;

-o-animation-duration: 2s;

animation-duration: 2s;

-webkit-animation-delay: 1.5s;

-moz-animation-delay: 1.5s;

-o-animation-delay: 1.5s;

animation-delay: 1.5s;

bottom: 0;

left: 51px;

}

&:nth-child(3) {

height: 100%;

-webkit-animation-duration: 3s;

-moz-animation-duration: 3s;

-o-animation-duration: 3s;

animation-duration: 3s;

-webkit-animation-delay: 0s;

-moz-animation-delay: 0s;

-o-animation-delay: 0s;

animation-delay: 0s;

bottom: 32px;

left: 89px;

}

&:nth-child(4) {

height: 100%;

-webkit-animation-duration: 2.5s;

-moz-animation-duration: 2.5s;

-o-animation-duration: 2.5s;

animation-duration: 2.5s;

-webkit-animation-delay: 1s;

-moz-animation-delay: 1s;

-o-animation-delay: 1s;

animation-delay: 1s;

bottom: 3px;

left: 179px;

-webkit-filter: hue-rotate(180deg);

filter: hue-rotate(180deg);

}

&:nth-child(5) {

height: 90%;

-webkit-animation-duration: 2s;

-moz-animation-duration: 2s;

-o-animation-duration: 2s;

animation-duration: 2s;

-webkit-animation-delay: 2s;

-moz-animation-delay: 2s;

-o-animation-delay: 2s;

animation-delay: 2s;

bottom: 42px;

left: 229px;

}

&:nth-child(6) {

height: 100%;

-webkit-animation-duration: 2.5s;

-moz-animation-duration: 2.5s;

-o-animation-duration: 2.5s;

animation-duration: 2.5s;

-webkit-animation-delay: 0.5s;

-moz-animation-delay: 0.5s;

-o-animation-delay: 0.5s;

animation-delay: 0.5s;

bottom: 11px;

right: 48px;

}

&:nth-child(7) {

height: 90%;

-webkit-animation-duration: 3s;

-moz-animation-duration: 3s;

-o-animation-duration: 3s;

animation-duration: 3s;

-webkit-animation-delay: 2.5s;

-moz-animation-delay: 2.5s;

-o-animation-delay: 2.5s;

animation-delay: 2.5s;

bottom: -22px;

right: 174px;

-webkit-filter: hue-rotate(180deg);

filter: hue-rotate(180deg);

}

&:nth-child(8) {

height: 90%;

-webkit-animation-duration: 3s;

-moz-animation-duration: 3s;

-o-animation-duration: 3s;

animation-duration: 3s;

-webkit-animation-delay: 1.5s;

-moz-animation-delay: 1.5s;

-o-animation-delay: 1.5s;

animation-delay: 1.5s;

bottom: -22px;

right: 100px;

}

&:nth-child(9) {

height: 100%;

-webkit-animation-duration: 2.5s;

-moz-animation-duration: 2.5s;

-o-animation-duration: 2.5s;

animation-duration: 2.5s;

-webkit-animation-delay: 2s;

-moz-animation-delay: 2s;

-o-animation-delay: 2s;

animation-delay: 2s;

bottom: -10px;

right: 220px;

}

&:nth-child(10) {

height: 95%;

-webkit-animation-duration: 2s;

-moz-animation-duration: 2s;

-o-animation-duration: 2s;

animation-duration: 2s;

-webkit-animation-delay: 1s;

-moz-animation-delay: 1s;

-o-animation-delay: 1s;

animation-delay: 1s;

bottom: -41px;

right: 182px;

}

}

.yun-tree {

width: 100%;

height: 100%;

mix-blend-mode: screen;

}

.line-fs {

width: 14px;

height: 100%;

background-image: url(../../assets/line-fs.png);

background-repeat: no-repeat;

background-position: 50% 150%;

position: absolute;

z-index: -1;

-webkit-animation: fs 3s cubic-bezier(1, 0, 0.6, 0.6) infinite;

-moz-animation: fs 3s cubic-bezier(1, 0, 0.6, 0.6) infinite;

-o-animation: fs 3s cubic-bezier(1, 0, 0.6, 0.6) infinite;

animation: fs 3s cubic-bezier(1, 0, 0.6, 0.6) infinite;

}

}

}

}

@-webkit-keyframes fs {

0% {

background-position: 50% 150%;

}

50% {

background-position: 50% -132%;

}

100% {

background-position: 50% -264%;

opacity: 0;

}

}

@-moz-keyframes fs {

0% {

background-position: 50% 150%;

}

50% {

background-position: 50% -132%;

}

100% {

background-position: 50% -264%;

opacity: 0;

}

}

@-o-keyframes fs {

0% {

background-position: 50% 150%;

}

50% {

background-position: 50% -132%;

}

100% {

background-position: 50% -264%;

opacity: 0;

}

}

@keyframes fs {

0% {

background-position: 50% 150%;

}

50% {

background-position: 50% -132%;

}

100% {

background-position: 50% -264%;

opacity: 0;

}

}

</style>

相关推荐
m0_719084111 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录1 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n1 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n1 小时前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
狗哥哥2 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫2 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘2 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare2 小时前
浅浅看一下设计模式
前端
Lee川2 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix3 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts