纯css实现烟花绽放动画效果
代码语言:html
所属分类:动画
代码描述:纯css实现烟花绽放动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {
background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
height: 100vh;
overflow: hidden;
display: -webkit-box;
display: flex;
font-family: 'Anton', sans-serif;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-perspective: 600px;
perspective: 600px;
}
div {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.camera.-y {
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
.fireworks {
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
.spark {
position: absolute;
width: 400px;
height: 400px;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
.fire {
position: absolute;
left: -3px;
width: 5px;
height: 5px;
background: #fa2828;
}
.fire::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: #e6c828;
-webkit-transform: translateZ(0.1px);
transform: translateZ(0.1px);
}
.line:nth-child(1) {
-webkit-transform: rotateY(71deg);
transform: rotateY(71deg);
}
.line:nth-child(1) .spark {
width: 264px;
height: 396px;
-webkit-animation: spark1 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark1 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(1) .fire {
-webkit-animation: fire 1913ms -537ms linear infinite;
animation: fire 1913ms -537ms linear infinite;
}
@-webkit-keyframes spark1 {
0% {
-webkit-transform: translateY(641px);
transform: translateY(641px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(63deg) translateX(277px);
transform: rotateZ(63deg) translateX(277px);
}
}
@keyframes spark1 {
0% {
-webkit-transform: translateY(641px);
transform: translateY(641px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(63deg) translateX(277px);
transform: rotateZ(63deg) translateX(277px);
}
}
.line:nth-child(2) {
-webkit-transform: rotateY(25deg);
transform: rotateY(25deg);
}
.line:nth-child(2) .spark {
width: 304px;
height: 226px;
-webkit-animation: spark2 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark2 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(2) .fire {
-webkit-animation: fire 1984ms -902ms linear infinite;
animation: fire 1984ms -902ms linear infinite;
}
@-webkit-keyframes spark2 {
0% {
-webkit-transform: translateY(611px);
transform: translateY(611px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(180deg) translateX(269px);
transform: rotateZ(180deg) translateX(269px);
}
}
@keyframes spark2 {
0% {
-webkit-transform: translateY(611px);
transform: translateY(611px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(180deg) translateX(269px);
transform: rotateZ(180deg) translateX(269px);
}
}
.line:nth-child(3) {
-webkit-transform: rotateY(324deg);
transform: rotateY(324deg);
}
.line:nth-child(3) .spark {
width: 306px;
height: 274px;
-webkit-animation: spark3 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark3 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(3) .fire {
-webkit-animation: fire 1753ms -403ms linear infinite;
animation: fire 1753ms -403ms linear infinite;
}
@-webkit-keyframes spark3 {
0% {
-webkit-transform: translateY(565px);
transform: translateY(565px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(227deg) translateX(277px);
transform: rotateZ(227deg) translateX(277px);
}
}
@keyframes spark3 {
0% {
-webkit-transform: translateY(565px);
transform: translateY(565px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(227deg) translateX(277px);
transform: rotateZ(227deg) translateX(277px);
}
}
.line:nth-child(4) {
-webkit-transform: rotateY(53deg);
transform: rotateY(53deg);
}
.line:nth-child(4) .spark {
width: 372px;
height: 377px;
-webkit-animation: spark4 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark4 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(4) .fire {
-webkit-animation: fire 1779ms -616ms linear infinite;
animation: fire 1779ms -616ms linear infinite;
}
@-webkit-keyframes spark4 {
0% {
-webkit-transform: translateY(545px);
transform: translateY(545px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(218deg) translateX(138px);
transform: rotateZ(218deg) translateX(138px);
}
}
@keyframes spark4 {
0% {
-webkit-transform: translateY(545px);
transform: translateY(545px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(218deg) translateX(138px);
transform: rotateZ(218deg) translateX(138px);
}
}
.line:nth-child(5) {
-webkit-transform: rotateY(227deg);
transform: rotateY(227deg);
}
.line:nth-child(5) .spark {
width: 399px;
height: 208px;
-webkit-animation: spark5 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark5 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(5) .fire {
-webkit-animation: fire 1088ms -422ms linear infinite;
animation: fire 1088ms -422ms linear infinite;
}
@-webkit-keyframes spark5 {
0% {
-webkit-transform: translateY(503px);
transform: translateY(503px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(92deg) translateX(141px);
transform: rotateZ(92deg) translateX(141px);
}
}
@keyframes spark5 {
0% {
-webkit-transform: translateY(503px);
transform: translateY(503px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(92deg) translateX(141px);
transform: rotateZ(92deg) translateX(141px);
}
}
.line:nth-child(6) {
-webkit-transform: rotateY(236deg);
transform: rotateY(236deg);
}
.line:nth-child(6) .spark {
width: 263px;
height: 246px;
-webkit-animation: spark6 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark6 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(6) .fire {
-webkit-animation: fire 1566ms -185ms linear infinite;
animation: fire 1566ms -185ms linear infinite;
}
@-webkit-keyframes spark6 {
0% {
-webkit-transform: translateY(594px);
transform: translateY(594px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(265deg) translateX(132px);
transform: rotateZ(265deg) translateX(132px);
}
}
@keyframes spark6 {
0% {
-webkit-transform: translateY(594px);
transform: translateY(594px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(265deg) translateX(132px);
transform: rotateZ(265deg) translateX(132px);
}
}
.line:nth-child(7) {
-webkit-transform: rotateY(197deg);
transform: rotateY(197deg);
}
.line:nth-child(7) .spark {
width: 209px;
height: 279px;
-webkit-animation: spark7 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark7 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(7) .fire {
-webkit-animation: fire 1294ms -56ms linear infinite;
animation: fire 1294ms -56ms linear infinite;
}
@-webkit-keyframes spark7 {
0% {
-webkit-transform: translateY(507px);
transform: translateY(507px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(284deg) translateX(235px);
transform: rotateZ(284deg) translateX(235px);
}
}
@keyframes spark7 {
0% {
-webkit-transform: translateY(507px);
transform: translateY(507px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(284deg) translateX(235px);
transform: rotateZ(284deg) translateX(235px);
}
}
.line:nth-child(8) {
-webkit-transform: rotateY(134deg);
transform: rotateY(134deg);
}
.line:nth-child(8) .spark {
width: 372px;
height: 340px;
-webkit-animation: spark8 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark8 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(8) .fire {
-webkit-animation: fire 1759ms -14ms linear infinite;
animation: fire 1759ms -14ms linear infinite;
}
@-webkit-keyframes spark8 {
0% {
-webkit-transform: translateY(593px);
transform: translateY(593px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(131deg) translateX(139px);
transform: rotateZ(131deg) translateX(139px);
}
}
@keyframes spark8 {
0% {
-webkit-transform: translateY(593px);
transform: translateY(593px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(131deg) translateX(139px);
transform: rotateZ(131deg) translateX(139px);
}
}
.line:nth-child(9) {
-webkit-transform: rotateY(173deg);
transform: rotateY(173deg);
}
.line:nth-child(9) .spark {
width: 348px;
height: 271px;
-webkit-animation: spark9 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark9 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(9) .fire {
-webkit-animation: fire 1495ms -280ms linear infinite;
animation: fire 1495ms -280ms linear infinite;
}
@-webkit-keyframes spark9 {
0% {
-webkit-transform: translateY(566px);
transform: translateY(566px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(89deg) translateX(238px);
transform: rotateZ(89deg) translateX(238px);
}
}
@keyframes spark9 {
0% {
-webkit-transform: translateY(566px);
transform: translateY(566px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(89deg) translateX(238px);
transform: rotateZ(89deg) translateX(238px);
}
}
.line:nth-child(10) {
-webkit-transform: rotateY(87deg);
transform: rotateY(87deg);
}
.line:nth-child(10) .spark {
width: 380px;
height: 256px;
-webkit-animation: spark10 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark10 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(10) .fire {
-webkit-animation: fire 1170ms -343ms linear infinite;
animation: fire 1170ms -343ms linear infinite;
}
@-webkit-keyframes spark10 {
0% {
-webkit-transform: translateY(612px);
transform: translateY(612px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(91deg) translateX(269px);
transform: rotateZ(91deg) translateX(269px);
}
}
@keyframes spark10 {
0% {
-webkit-transform: translateY(612px);
transform: translateY(612px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(91deg) translateX(269px);
transform: rotateZ(91deg) translateX(269px);
}
}
.line:nth-child(11) {
-webkit-transform: rotateY(266deg);
transform: rotateY(266deg);
}
.line:nth-child(11) .spark {
width: 225px;
height: 335px;
-webkit-animation: spark11 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark11 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(11) .fire {
-webkit-animation: fire 1448ms -247ms linear infinite;
animation: fire 1448ms -247ms linear infinite;
}
@-webkit-keyframes spark11 {
0% {
-webkit-transform: translateY(521px);
transform: translateY(521px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(268deg) translateX(104px);
transform: rotateZ(268deg) translateX(104px);
}
}
@keyframes spark11 {
0% {
-webkit-transform: translateY(521px);
transform: translateY(521px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(268deg) translateX(104px);
transform: rotateZ(268deg) translateX(104px);
}
}
.line:nth-child(12) {
-webkit-transform: rotateY(187deg);
transform: rotateY(187deg);
}
.line:nth-child(12) .spark {
width: 203px;
height: 376px;
-webkit-animation: spark12 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark12 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(12) .fire {
-webkit-animation: fire 1620ms -314ms linear infinite;
animation: fire 1620ms -314ms linear infinite;
}
@-webkit-keyframes spark12 {
0% {
-webkit-transform: translateY(553px);
transform: translateY(553px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(137deg) translateX(248px);
transform: rotateZ(137deg) translateX(248px);
}
}
@keyframes spark12 {
0% {
-webkit-transform: translateY(553px);
transform: translateY(553px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(137deg) translateX(248px);
transform: rotateZ(137deg) translateX(248px);
}
}
.line:nth-child(13) {
-webkit-transform: rotateY(126deg);
transform: rotateY(126deg);
}
.line:nth-child(13) .spark {
width: 341px;
height: 251px;
-webkit-animation: spark13 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark13 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(13) .fire {
-webkit-animation: fire 1131ms -516ms linear infinite;
animation: fire 1131ms -516ms linear infinite;
}
@-webkit-keyframes spark13 {
0% {
-webkit-transform: translateY(575px);
transform: translateY(575px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(131deg) translateX(226px);
transform: rotateZ(131deg) translateX(226px);
}
}
@keyframes spark13 {
0% {
-webkit-transform: translateY(575px);
transform: translateY(575px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(131deg) translateX(226px);
transform: rotateZ(131deg) translateX(226px);
}
}
.line:nth-child(14) {
-webkit-transform: rotateY(127deg);
transform: rotateY(127deg);
}
.line:nth-child(14) .spark {
width: 372px;
height: 301px;
-webkit-animation: spark14 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark14 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(14) .fire {
-webkit-animation: fire 1226ms -432ms linear infinite;
animation: fire 1226ms -432ms linear infinite;
}
@-webkit-keyframes spark14 {
0% {
-webkit-transform: translateY(604px);
transform: translateY(604px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(60deg) translateX(122px);
transform: rotateZ(60deg) translateX(122px);
}
}
@keyframes spark14 {
0% {
-webkit-transform: translateY(604px);
transform: translateY(604px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(60deg) translateX(122px);
transform: rotateZ(60deg) translateX(122px);
}
}
.line:nth-child(15) {
-webkit-transform: rotateY(171deg);
transform: rotateY(171deg);
}
.line:nth-child(15) .spark {
width: 364px;
height: 317px;
-webkit-animation: spark15 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark15 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(15) .fire {
-webkit-animation: fire 1067ms -975ms linear infinite;
animation: fire 1067ms -975ms linear infinite;
}
@-webkit-keyframes spark15 {
0% {
-webkit-transform: translateY(575px);
transform: translateY(575px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(291deg) translateX(262px);
transform: rotateZ(291deg) translateX(262px);
}
}
@keyframes spark15 {
0% {
-webkit-transform: translateY(575px);
transform: translateY(575px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(291deg) translateX(262px);
transform: rotateZ(291deg) translateX(262px);
}
}
.line:nth-child(16) {
-webkit-transform: rotateY(215deg);
transform: rotateY(215deg);
}
.line:nth-child(16) .spark {
width: 378px;
height: 362px;
-webkit-animation: spark16 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark16 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(16) .fire {
-webkit-animation: fire 1871ms -69ms linear infinite;
animation: fire 1871ms -69ms linear infinite;
}
@-webkit-keyframes spark16 {
0% {
-webkit-transform: translateY(609px);
transform: translateY(609px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(312deg) translateX(163px);
transform: rotateZ(312deg) translateX(163px);
}
}
@keyframes spark16 {
0% {
-webkit-transform: translateY(609px);
transform: translateY(609px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(312deg) translateX(163px);
transform: rotateZ(312deg) translateX(163px);
}
}
.line:nth-child(17) {
-webkit-transform: rotateY(171deg);
transform: rotateY(171deg);
}
.line:nth-child(17) .spark {
width: 331px;
height: 251px;
-webkit-animation: spark17 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark17 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(17) .fire {
-webkit-animation: fire 1923ms -371ms linear infinite;
animation: fire 1923ms -371ms linear infinite;
}
@-webkit-keyframes spark17 {
0% {
-webkit-transform: translateY(604px);
transform: translateY(604px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(279deg) translateX(204px);
transform: rotateZ(279deg) translateX(204px);
}
}
@keyframes spark17 {
0% {
-webkit-transform: translateY(604px);
transform: translateY(604px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(279deg) translateX(204px);
transform: rotateZ(279deg) translateX(204px);
}
}
.line:nth-child(18) {
-webkit-transform: rotateY(70deg);
transform: rotateY(70deg);
}
.line:nth-child(18) .spark {
width: 209px;
height: 299px;
-webkit-animation: spark18 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark18 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(18) .fire {
-webkit-animation: fire 1377ms -765ms linear infinite;
animation: fire 1377ms -765ms linear infinite;
}
@-webkit-keyframes spark18 {
0% {
-webkit-transform: translateY(523px);
transform: translateY(523px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(216deg) translateX(170px);
transform: rotateZ(216deg) translateX(170px);
}
}
@keyframes spark18 {
0% {
-webkit-transform: translateY(523px);
transform: translateY(523px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(216deg) translateX(170px);
transform: rotateZ(216deg) translateX(170px);
}
}
.line:nth-child(19) {
-webkit-transform: rotateY(32deg);
transform: rotateY(32deg);
}
.line:nth-child(19) .spark {
width: 349px;
height: 273px;
-webkit-animation: spark19 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark19 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(19) .fire {
-webkit-animation: fire 1736ms -581ms linear infinite;
animation: fire 1736ms -581ms linear infinite;
}
@-webkit-keyframes spark19 {
0% {
-webkit-transform: translateY(644px);
transform: translateY(644px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(97deg) translateX(129px);
transform: rotateZ(97deg) translateX(129px);
}
}
@keyframes spark19 {
0% {
-webkit-transform: translateY(644px);
transform: translateY(644px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(97deg) translateX(129px);
transform: rotateZ(97deg) translateX(129px);
}
}
.line:nth-child(20) {
-webkit-transform: rotateY(120deg);
transform: rotateY(120deg);
}
.line:nth-child(20) .spark {
width: 315px;
height: 208px;
-webkit-animation: spark20 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark20 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(20) .fire {
-webkit-animation: fire 1704ms -356ms linear infinite;
animation: fire 1704ms -356ms linear infinite;
}
@-webkit-keyframes spark20 {
0% {
-webkit-transform: translateY(603px);
transform: translateY(603px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(84deg) translateX(198px);
transform: rotateZ(84deg) translateX(198px);
}
}
@keyframes spark20 {
0% {
-webkit-transform: translateY(603px);
transform: translateY(603px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(84deg) translateX(198px);
transform: rotateZ(84deg) translateX(198px);
}
}
.line:nth-child(21) {
-webkit-transform: rotateY(211deg);
transform: rotateY(211deg);
}
.line:nth-child(21) .spark {
width: 233px;
height: 344px;
-webkit-animation: spark21 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark21 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(21) .fire {
-webkit-animation: fire 1955ms -761ms linear infinite;
animation: fire 1955ms -761ms linear infinite;
}
@-webkit-keyframes spark21 {
0% {
-webkit-transform: translateY(619px);
transform: translateY(619px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(254deg) translateX(233px);
transform: rotateZ(254deg) translateX(233px);
}
}
@keyframes spark21 {
0% {
-webkit-transform: translateY(619px);
transform: translateY(619px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(254deg) translateX(233px);
transform: rotateZ(254deg) translateX(233px);
}
}
.line:nth-child(22) {
-webkit-transform: rotateY(133deg);
transform: rotateY(133deg);
}
.line:nth-child(22) .spark {
width: 355px;
height: 208px;
-webkit-animation: spark22 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
animation: spark22 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite, opacity 5s ease-out infinite;
}
.line:nth-child(22) .fire {
-webkit-animation: fire 1482ms -537ms linear infinite;
animation: fire 1482ms -537ms linear infinite;
}
@-webkit-keyframes spark22 {
0% {
-webkit-transform: translateY(566px);
transform: translateY(566px);
}
50% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: rotateZ(144deg) translateX(130px);
transform: rotateZ(144deg) translat.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0