纯css实现烟雾动画效果

代码语言:html

所属分类:动画

代码描述:纯css实现烟雾动画效果

代码标签: 烟雾 动画 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开


<!DOCTYPE html>
<html lang="en">
<head>

<link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Permanent+Marker&amp;display=swap'>
<style>
body {
  background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
  height: 100vh;
  overflow: hidden;
  display: -webkit-box;
  display: flex;
  font-family: 'Permanent Marker', cursive;
  -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;
}

.title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  font-size: 3rem;
  mix-blend-mode: difference;
  color: #f5c864;
}
.title::before {
  content: 'smokey';
  position: absolute;
}

.camera.-y {
  -webkit-animation: rotateY 10s linear infinite;
          animation: rotateY 10s linear infinite;
}

.box {
  position: relative;
  width: 250px;
  height: 450px;
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}

.shooting {
  position: absolute;
  width: 5px;
  height: 50%;
  -webkit-animation: shoot 9s linear infinite;
          animation: shoot 9s linear infinite;
}

.graphic {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 99px;
  background: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(140, 150, 200, 0)), to(#28e6fa));
  background: linear-gradient(0deg, rgba(140, 150, 200, 0), #28e6fa);
  -webkit-filter: blur(10px) contrast(99);
          filter: blur(10px) contrast(99);
}

.depth {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.depth:nth-child(1) {
  -webkit-transform: rotateY(150deg) translateZ(-97px);
          transform: rotateY(150deg) translateZ(-97px);
}
.depth:nth-child(1) .shooting {
  left: 32%;
  -webkit-animation-delay: -8361ms;
          animation-delay: -8361ms;
}
.depth:nth-child(2) {
  -webkit-transform: rotateY(268deg) translateZ(16px);
          transform: rotateY(268deg) translateZ(16px);
}
.depth:nth-child(2) .shooting {
  left: 65%;
  -webkit-animation-delay: -4069ms;
          animation-delay: -4069ms;
}
.depth:nth-child(3) {
  -webkit-transform: rotateY(275deg) translateZ(-65px);
          transform: rotateY(275deg) translateZ(-65px);
}
.depth:nth-child(3) .shooting {
  left: 43%;
  -webkit-animation-delay: -8541ms;
          animation-delay: -8541ms;
}
.depth:nth-child(4) {
  -webkit-transform: rotateY(12deg) translateZ(-54px);
          transform: rotateY(12deg) translateZ(-54px);
}
.depth:nth-child(4) .shooting {
  left: 46%;
  -webkit-animation-delay: -2950ms;
          animation-delay: -2950ms;
}
.depth:nth-child(5) {
  -webkit-transform: rotateY(357deg) translateZ(41px);
          transform: rotateY(357deg) translateZ(41px);
}
.depth:nth-child(5) .shooting {
  left: 34%;
  -webkit-animation-delay: -2819ms;
          animation-delay: -2819ms;
}
.depth:nth-child(6) {
  -webkit-transform: rotateY(97deg) translateZ(-82px);
          transform: rotateY(97deg) translateZ(-82px);
}
.depth:nth-child(6) .shooting {
  left: 60%;
  -webkit-animation-delay: -6343ms;
          animation-delay: -6343ms;
}
.depth:nth-child(7) {
  -webkit-transform: rotateY(318deg) translateZ(-89px);
          transform: rotateY(318deg) translateZ(-89px);
}
.depth:nth-child(7) .shooting {
  left: 67%;
  -webkit-animation-delay: -9946ms;
          animation-delay: -9946ms;
}
.depth:nth-child(8) {
  -webkit-transform: rotateY(328deg) translateZ(48px);
          transform: rotateY(328deg) translateZ(48px);
}
.depth:nth-child(8) .shooting {
  left: 66%;
  -webkit-animation-delay: -3306ms;
          animation-delay: -3306ms;
}
.depth:nth-child(9) {
  -webkit-transform: rotateY(129deg) translateZ(36px);
          transform: rotateY(129deg) translateZ(36px);
}
.depth:nth-child(9) .shooting {
  left: 59%;
  -webkit-animation-delay: -5646ms;
          animation-delay: -5646ms;
}
.depth:nth-child(10) {
  -webkit-transform: rotateY(175deg) translateZ(62px);
          transform: rotateY(175deg) translateZ(62px);
}
.depth:nth-child(10) .shooting {
  left: 33%;
  -webkit-animation-delay: -3879ms;
          animation-delay: -3879ms;
}
.depth:nth-child(11) {
  -webkit-transform: rotateY(117deg) translateZ(43px);
          transform: rotateY(117deg) translateZ(43px);
}
.depth:nth-child(11) .shooting {
  left: 61%;
  -webkit-animation-delay: -6959ms;
          animation-delay: -6959ms;
}
.depth:nth-child(12) {
  -webkit-transform: rotateY(23deg) translateZ(-34px);
          transform: rotateY(23deg) translateZ(-34px);
}
.depth:nth-child(12) .shooting {
  left: 52%;
  -webkit-animation-delay: -7965ms;
          animation-delay: -7965ms;
}
.depth:nth-child(13) {
  -webkit-transform: rotateY(176deg) translateZ(-37px);
          transform: rotateY(176deg) translateZ(-37px);
}
.depth:nth-child(13) .shooting {
  left: 69%;
  -webkit-animation-delay: -3107ms;
          animation-delay: -3107ms;
}
.depth:nth-child(14) {
  -webkit-transform: rotateY(207deg) translateZ(7px);
          transform: rotateY(207deg) translateZ(7px);
}
.depth:nth-child(14) .shooting {
  left: 54%;
  -webkit-animation-delay: -6092ms;
          animation-delay: -6092ms;
}
.depth:nth-child(15) {
  -webkit-transform: rotateY(230deg) translateZ(-74px);
          transform: rotateY(230deg) translateZ(-74px);
}
.depth:nth-child(15) .shooting {
  left: 33%;
  -webkit-animation-delay: -9752ms;
          animation-delay: -9752ms;
}
.depth:nth-child(16) {
  -webkit-transform: rotateY(78deg) translateZ(7px);
          transform: rotateY(78deg) translateZ(7px);
}
.depth:nth-child(16) .shooting {
  left: 37%;
  -webkit-animation-delay: -749ms;
          animation-delay: -749ms;
}
.depth:nth-child(17) {
  -webkit-transform: rotateY(120deg) translateZ(65px);
          transform: rotateY(120deg) translateZ(65px);
}
.depth:nth-child(17) .shooting {
  left: 42%;
  -webkit-animation-delay: -4089ms;
          animation-delay: -4089ms;
}
.depth:nth-child(18) {
  -webkit-transform: rotateY(205deg) translateZ(71px);
          transform: rotateY(205deg) translateZ(71px);
}
.depth:nth-child(18) .shooting {
  left: 50%;
  -webkit-animation-delay: -623ms;
          animation-delay: -623ms;
}
.depth:nth-child(19) {
  -webkit-transform: rotateY(8deg) translateZ(-86px);
          transform: rotateY(8deg) translateZ(-86px);
}
.depth:nth-child(19) .shooting {
  left: 54%;
  -webkit-animation-delay: -668ms;
          animation-delay: -668ms;
}
.depth:nth-child(20) {
  -webkit-transform: rotateY(302deg) translateZ(6px);
          transform: rotateY(302deg) translateZ(6px);
}
.depth:nth-child(20) .shooting {
  left: 44%;
  -webkit-animation-delay: -2293ms;
          animation-delay: -2293ms;
}
.depth:nth-child(21) {
  -webkit-transform: rotateY(248deg) translateZ(-31px);
          transform: rotateY(248deg) translateZ(-31px);
}
.depth:nth-child(21) .shooting {
  left: 59%;
  -webkit-animation-delay: -3455ms;
          animation-delay: -3455ms;
}
.depth:nth-child(22) {
  -webkit-transform: rotateY(199deg) translateZ(-45px);
          transform: rotateY(199deg) translateZ(-45px);
}
.depth:nth-child(22) .shooting {
  left: 57%;
  -webkit-animation-delay: -7945ms;
          animation-delay: -7945ms;
}
.depth:nth-child(23) {
  -webkit-transform: rotateY(118deg) translateZ(89px);
          transform: rotateY(118deg) translateZ(89px);
}
.depth:nth-child(23) .shooting {
  left: 33%;
  -webkit-animation-delay: -8204ms;
          animation-delay: -8204ms;
}
.depth:nth-child(24) {
  -webkit-transform: rotateY(136deg) translateZ(33px);
          transform: rotateY(136deg) translateZ(33px);
}
.depth:nth-child(24) .shooting {
  left: 31%;
  -webkit-animation-delay: -1818ms;
          animation-delay: -1818ms;
}
.depth:nth-child(25) {
  -webkit-transform: rotateY(109deg) translateZ(-63px);
          transform: rotateY(109deg) translateZ(-63px);
}
.depth:nth-child(25) .shooting {
  left: 64%;
  -webkit-animation-delay: -3503ms;
          animation-delay: -3503ms;
}
.depth:nth-child(26) {
  -webkit-transform: rotateY(50deg) translateZ(-3px);
          transform: rotateY(50deg) translateZ(-3px);
}
.depth:nth-child(26) .shooting {
  left: 69%;
  -webkit-animation-delay: -275ms;
          animation-delay: -275ms;
}
.depth:nth-child(27) {
  -webkit-transform: rotateY(184deg) translateZ(-90px);
          transform: rotateY(184deg) translateZ(-90px);
}
.depth:nth-child(27) .shooting {
  left: 46%;
  -webkit-animation-delay: -721ms;
          animation-delay: -721ms;
}
.depth:nth-child(28) {
  -webkit-transform: rotateY(1deg) translateZ(14px);
          transform: rotateY(1deg) translateZ(14px);
}
.depth:nth-child(28) .shooting {
  left: 35%;
  -webkit-animation-delay: -5982ms;
          animation-delay: -5982ms;
}
.depth:nth-child(29) {
  -webkit-transform: rotateY(212deg) translateZ(12px);
          transform: rotateY(212deg) translateZ(12px);
}
.depth:nth-child(29) .shooting {
  left: 65%;
  -webkit-animation-delay: -5507ms;
          animation-delay: -5507ms;
}
.depth:nth-child(30) {
  -webkit-transform: rotateY(41deg) translateZ(-31px);
          transform: rotateY(41deg) translateZ(-31px);
}
.depth:nth-child(30) .shooting {
  left: 54%;
  -webkit-animation-delay: -3645ms;
          animation-delay: -3645ms;
}
.depth:nth-child(31) {
  -webkit-transform: rotateY(31deg) translateZ(-81px);
          transform: rotateY(31deg) translateZ(-81px);
}
.depth:nth-child(31) .shooting {
  left: 40%;
  -webkit-animation-delay: -6020ms;
          animation-delay: -6020ms;
}
.depth:nth-child(32) {
  -webkit-transform: rotateY(261deg) translateZ(-10px);
          transform: rotateY(261deg) translateZ(-10px);
}
.depth:nth-child(32) .shooting {
  left: 49%;
  -webkit-animation-delay: -9061ms;
          animation-delay: -9061ms;
}
.depth:nth-child(33) {
  -webkit-transform: rotateY(357deg) translateZ(24px);
          transform: rotateY(357deg) translateZ(24px);
}
.depth:nth-child(33) .shooting {
  left: 41%;
  -webkit-animation-delay: -2285ms;
          animation-delay: -2285ms;
}
.depth:nth-child(34) {
  -webkit-transform: rotateY(27deg) translateZ(-70px);
          transform: rotateY(27deg) translateZ(-70px);
}
.depth:nth-child(34) .shooting {
  left: 40%;
  -webkit-animation-delay: -8912ms;
          animation-delay: -8912ms;
}
.depth:nth-child(35) {
  -webkit-transform: rotateY(282deg) translateZ(37px);
          transform: rotateY(282deg) translateZ(37px);
}
.depth:nth-child(35) .shooting {
  left: 33%;
  -webkit-animation-delay: -9941ms;
          animation-delay: -9941ms;
}
.depth:nth-child(36) {
  -webkit-transform: rotateY(313deg) translateZ(-69px);
          transform: rotateY(313deg) translateZ(-69px);
}
.depth:nth-child(36) .shooting {
  left: 46%;
  -webkit-animation-delay: -5700ms;
          animation-delay: -5700ms;
}
.depth:nth-child(37) {
  -webkit-transform: rotateY(306deg) translateZ(57px);
          transform: rotateY(306deg) translateZ(57px);
}
.depth:nth-child(37) .shooting {
  left: 52%;
  -webkit-animation-delay: -5699ms;
          animation-delay: -5699ms;
}
.depth:nth-child(38) {
  -webkit-transform: rotateY(266deg) translateZ(29px);
          transform: rotateY(266deg) translateZ(29px);
}
.depth:nth-child(38) .shooting {
  left: 33%;
  -webkit-animation-delay: -7988ms;
          animation-delay: -7988ms;
}
.depth:nth-child(39) {
  -webkit-transform: rotateY(54deg) translateZ(-18px);
          transform: rotateY(54deg) translateZ(-18px);
}
.depth:nth-child(39) .shooting {
  left: 37%;
  -webkit-animation-delay: -5444ms;
          animation-delay: -5444ms;
}
.depth:nth-child(40) {
  -webkit-transform: rotateY(195deg) translateZ(-78px);
          transform: rotateY(195deg) translateZ(-78px);
}
.depth:nth-child(40) .shooting {
  left: 35%;
  -webkit-animation-delay: -1968ms;
          animation-delay: -1968ms;
}
.depth:nth-child(41) {
  -webkit-transform: rotateY(145deg) translateZ(57px);
          transform: rotateY(145deg) translateZ(57px);
}
.depth:nth-child(41) .shooting {
  left: 53%;
  -webkit-animation-delay: -8657ms;
          animation-delay: -8657ms;
}
.depth:nth-child(42) {
  -webkit-transform: rotateY(345deg) translateZ(87px);
          transform: rotateY(345deg) translateZ(87px);
}
.depth:nth-child(42) .shooting {
  left: 52%;
  -webkit-animation-delay: -6781ms;
          animation-delay: -6781ms;
}
.depth:nth-child(43) {
  -webkit-transform: rotateY(358deg) translateZ(-94px);
          transform: rotateY(358deg) translateZ(-94px);
}
.depth:nth-child(43) .shooting {
  left: 40%;
  -webkit-animation-delay: -6937ms;
          animation-delay: -6937ms;
}
.depth:nth-child(44) {
  -webkit-transform: rotateY(348deg) translateZ(-92px);
          transform: rotateY(348deg) translateZ(-92px);
}
.depth:nth-child(44) .shooting {
  left: 42%;
  -webkit-animation-delay: -2599ms;
          animation-delay: -2599ms;
}
.depth:nth-child(45) {
  -webkit-transform: rotateY(10deg) translateZ(-78px);
          transform: rotateY(10deg) translateZ(-78px);
}
.depth:nth-child(45) .shooting {
  left: 55%;
  -webkit-animation-delay: -8148ms;
          animation-delay: -8148ms;
}
.depth:nth-child(46) {
  -webkit-transform: rotateY(144deg) translateZ(12px);
          transform: rotateY(144deg) translateZ(12px);
}
.depth:nth-child(46) .shooting {
  left: 56%;
  -webkit-animation-delay: -8099ms;
          animation-delay: -8099ms;
}
.depth:nth-child(47) {
  -webkit-transform: rotateY(91deg) translateZ(21px);
          transform: rotateY(91deg) translateZ(21px);
}
.depth:nth-child(47) .shooting {
  left: 69%;
  -webkit-animation-delay: -4710ms;
          animation-delay: -4710ms;
}
.depth:nth-child(48) {
  -webkit-transform: rotateY(3deg) translateZ(-32px);
          transform: rotateY(3deg) translateZ(-32px);
}
.depth:nth-child(48) .shooting {
  left: 34%;
  -webkit-animation-delay: -1827ms;
          animation-delay: -1827ms;
}
.depth:nth-child(49) {
  -webkit-transform: rotateY(349deg) translateZ(47px);
          transform: rotateY(349deg) translateZ(47px);
}
.depth:nth-child(49) .shooting {
  left: 37%;
  -webkit-animation-delay: -1744ms;
          animation-delay: -1744ms;
}
.depth:nth-child(50) {
  -webkit-transform: rotateY(96deg) translateZ(88px);
          transform: rotateY(96deg) translateZ(88px);
}
.depth:nth-child(50) .shooting {
  left: 37%;
  -webkit-animation-delay: -7503ms;
          animation-delay: -7503ms;
}
.depth:nth-child(51) {
  -webkit-transform: rotateY(201deg) translateZ(35px);
          transform: rotateY(201deg) translateZ(35px);
}
.depth:nth-child(51) .shooting {
  left: 39%;
  -webkit-animation-delay: -9630ms;
          animation-delay: -9630ms;
}
.depth:nth-child(52) {
  -webkit-transform: rotateY(349deg) translateZ(74px);
          transform: rotateY(349deg) translateZ(74px);
}
.depth:nth-child(52) .shooting {
  left: 68%;
  -webkit-animation-delay: -8337ms;
          animation-delay: -8337ms;
}
.depth:nth-child(53) {
  -webkit-transform: rotateY(20deg) translateZ(-9px);
          transform: rotateY(20deg) translateZ(-9px);
}
.depth:nth-child(53) .shooting {
  left: 52%;
  -webkit-animation-delay: -3001ms;
          animation-delay: -3001ms;
}
.depth:nth-child(54) {
  -webkit-transform: rotateY(212deg) translateZ(-83px);
          transform: rotateY(212deg) translateZ(-83px);
}
.depth:nth-child(54) .shooting {
  left: 42%;
  -webkit-animation-delay: -9009ms;
          animation-delay: -9009ms;
}
.depth:nth-child(55) {
  -webkit-transform: rotateY(22deg) translateZ(3px);
          transform: rotateY(22deg) translateZ(3px);
}
.depth:nth-child(55) .shooting {
  left: 42%;
  -webkit-animation-delay: -9367ms;
          animation-delay: -9367ms;
}
.depth:nth-child(56) {
  -webkit-transform: rotateY(298deg) translateZ(58px);
          transform: rotateY(298deg) translateZ(58px);
}
.depth:nth-child(56) .shooting {
  left: 47%;
  -webkit-animation-delay: -1676ms;
          animation-delay: -1676ms;
}
.depth:nth-child(57) {
  -webkit-transform: rotateY(286deg) translateZ(30px);
          transform: rotateY(286deg) translateZ(30px);
}
.depth:nth-child(57) .shooting {
  left: 46%;
  -webkit-animation-delay: -9194ms;
          animation-delay: -9194ms;
}
.depth:nth-child(58) {
  -webkit-transform: rotateY(115deg) translateZ(-63px);
          transform: rotateY(115deg) translateZ(-63px);
}
.depth:nth-child(58) .shooting {
  left: 58%;
  -webkit-animation-delay: -7447ms;
          animation-delay: -7447ms;
}
.depth:nth-child(59) {
  -webkit-tr.........完整代码请登录后点击上方下载按钮下载查看

网友评论0