纯css实现一个地雷爆炸动画效果
代码语言:html
所属分类:动画
代码描述:纯css实现一个地雷爆炸动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> @charset "UTF-8"; body { overflow: hidden; height: 100vh; } span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 200px; line-height: 1; white-space: nowrap; animation: explosion 2s cubic-bezier(0.74, 0, 0.83, 0.94) infinite reverse both; } span:before { content: '💣'; } span:nth-child(1) { clip-path: circle(8% at 0% 0%); transform: translate(-50%, -50%) translate(-41.7193vmax, -41.7193vmax); animation-name: explosion0; } @keyframes explosion0 { 39%, 68% { transform: translate(-50%, -50%); opacity: 1; } 94%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(2) { clip-path: circle(8% at 8% 0%); transform: translate(-50%, -50%) translate(-39.69827vmax, -44.79614vmax); animation-name: explosion1; } @keyframes explosion1 { 25%, 89% { transform: translate(-50%, -50%); opacity: 1; } 98%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(3) { clip-path: circle(8% at 16% 0%); transform: translate(-50%, -50%) translate(-36.61801vmax, -48.01027vmax); animation-name: explosion2; } @keyframes explosion2 { 29%, 50% { transform: translate(-50%, -50%); opacity: 1; } 91%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(4) { clip-path: circle(8% at 24% 0%); transform: translate(-50%, -50%) translate(-32.24903vmax, -51.22635vmax); animation-name: explosion3; } @keyframes explosion3 { 44%, 70% { transform: translate(-50%, -50%); opacity: 1; } 97%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(5) { clip-path: circle(8% at 32% 0%); transform: translate(-50%, -50%) translate(-26.39259vmax, -54.22956vmax); animation-name: explosion4; } @keyframes explosion4 { 31%, 59% { transform: translate(-50%, -50%); opacity: 1; } 97%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(6) { clip-path: circle(8% at 40% 0%); transform: translate(-50%, -50%) translate(-18.95576vmax, -56.72991vmax); animation-name: explosion5; } @keyframes explosion5 { 50%, 81% { transform: translate(-50%, -50%); opacity: 1; } 95%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(7) { clip-path: circle(8% at 48% 0%); transform: translate(-50%, -50%) translate(-10.04092vmax, -58.40702vmax); animation-name: explosion6; } @keyframes explosion6 { 33%, 53% { transform: translate(-50%, -50%); opacity: 1; } 97%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(8) { clip-path: circle(8% at 56% 0%); transform: translate(-50%, -50%) translate(0vmax, -59vmax); animation-name: explosion7; } @keyframes explosion7 { 25%, 71% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(9) { clip-path: circle(8% at 64% 0%); transform: translate(-50%, -50%) translate(10.04092vmax, -58.40702vmax); animation-name: explosion8; } @keyframes explosion8 { 30%, 80% { transform: translate(-50%, -50%); opacity: 1; } 95%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(10) { clip-path: circle(8% at 72% 0%); transform: translate(-50%, -50%) translate(18.95576vmax, -56.72991vmax); animation-name: explosion9; } @keyframes explosion9 { 23%, 88% { transform: translate(-50%, -50%); opacity: 1; } 95%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(11) { clip-path: circle(8% at 80% 0%); transform: translate(-50%, -50%) translate(26.39259vmax, -54.22956vmax); animation-name: explosion10; } @keyframes explosion10 { 39%, 66% { transform: translate(-50%, -50%); opacity: 1; } 94%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(12) { clip-path: circle(8% at 88% 0%); transform: translate(-50%, -50%) translate(32.24903vmax, -51.22635vmax); animation-name: explosion11; } @keyframes explosion11 { 20%, 72% { transform: translate(-50%, -50%); opacity: 1; } 93%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(13) { clip-path: circle(8% at 96% 0%); transform: translate(-50%, -50%) translate(36.61801vmax, -48.01027vmax); animation-name: explosion12; } @keyframes explosion12 { 40%, 73% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(14) { clip-path: circle(8% at 104% 0%); transform: translate(-50%, -50%) translate(39.69827vmax, -44.79614vmax); animation-name: explosion13; } @keyframes explosion13 { 31%, 51% { transform: translate(-50%, -50%); opacity: 1; } 94%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(15) { clip-path: circle(8% at 112% 0%); transform: translate(-50%, -50%) translate(41.7193vmax, -41.7193vmax); animation-name: explosion14; } @keyframes explosion14 { 43%, 62% { transform: translate(-50%, -50%); opacity: 1; } 91%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(16) { clip-path: circle(8% at 0% 8%); transform: translate(-50%, -50%) translate(-44.79614vmax, -39.69827vmax); animation-name: explosion15; } @keyframes explosion15 { 37%, 61% { transform: translate(-50%, -50%); opacity: 1; } 96%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(17) { clip-path: circle(8% at 8% 8%); transform: translate(-50%, -50%) translate(-43.13351vmax, -43.13351vmax); animation-name: explosion16; } @keyframes explosion16 { 42%, 62% { transform: translate(-50%, -50%); opacity: 1; } 91%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(18) { clip-path: circle(8% at 16% 8%); transform: translate(-50%, -50%) translate(-40.33162vmax, -46.8615vmax); animation-name: explosion17; } @keyframes explosion17 { 39%, 64% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(19) { clip-path: circle(8% at 24% 8%); transform: translate(-50%, -50%) translate(-36.05551vmax, -50.75507vmax); animation-name: explosion18; } @keyframes explosion18 { 33%, 66% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(20) { clip-path: circle(8% at 32% 8%); transform: translate(-50%, -50%) translate(-29.96331vmax, -54.56006vmax); animation-name: explosion19; } @keyframes explosion19 { 32%, 58% { transform: translate(-50%, -50%); opacity: 1; } 100%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(21) { clip-path: circle(8% at 40% 8%); transform: translate(-50%, -50%) translate(-21.81972vmax, -57.86968vmax); animation-name: explosion20; } @keyframes explosion20 { 33%, 57% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(22) { clip-path: circle(8% at 48% 8%); transform: translate(-50%, -50%) translate(-11.67233vmax, -60.17003vmax); animation-name: explosion21; } @keyframes explosion21 { 35%, 71% { transform: translate(-50%, -50%); opacity: 1; } 95%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(23) { clip-path: circle(8% at 56% 8%); transform: translate(-50%, -50%) translate(0vmax, -61vmax); animation-name: explosion22; } @keyframes explosion22 { 25%, 52% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(24) { clip-path: circle(8% at 64% 8%); transform: translate(-50%, -50%) translate(11.67233vmax, -60.17003vmax); animation-name: explosion23; } @keyframes explosion23 { 25%, 63% { transform: translate(-50%, -50%); opacity: 1; } 99%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(25) { clip-path: circle(8% at 72% 8%); transform: translate(-50%, -50%) translate(21.81972vmax, -57.86968vmax); animation-name: explosion24; } @keyframes explosion24 { 48%, 51% { transform: translate(-50%, -50%); opacity: 1; } 98%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(26) { clip-path: circle(8% at 80% 8%); transform: translate(-50%, -50%) translate(29.96331vmax, -54.56006vmax); animation-name: explosion25; } @keyframes explosion25 { 29%, 64% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(27) { clip-path: circle(8% at 88% 8%); transform: translate(-50%, -50%) translate(36.05551vmax, -50.75507vmax); animation-name: explosion26; } @keyframes explosion26 { 36%, 67% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(28) { clip-path: circle(8% at 96% 8%); transform: translate(-50%, -50%) translate(40.33162vmax, -46.8615vmax); animation-name: explosion27; } @keyframes explosion27 { 44%, 60% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(29) { clip-path: circle(8% at 104% 8%); transform: translate(-50%, -50%) translate(43.13351vmax, -43.13351vmax); animation-name: explosion28; } @keyframes explosion28 { 30%, 61% { transform: translate(-50%, -50%); opacity: 1; } 99%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(30) { clip-path: circle(8% at 112% 8%); transform: translate(-50%, -50%) translate(44.79614vmax, -39.69827vmax); animation-name: explosion29; } @keyframes explosion29 { 47%, 71% { transform: translate(-50%, -50%); opacity: 1; } 92%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(31) { clip-path: circle(8% at 0% 16%); transform: translate(-50%, -50%) translate(-48.01027vmax, -36.61801vmax); animation-name: explosion30; } @keyframes explosion30 { 48%, 54% { transform: translate(-50%, -50%); opacity: 1; } 97%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(32) { clip-path: circle(8% at 8% 16%); transform: translate(-50%, -50%) translate(-46.8615vmax, -40.33162vmax); animation-name: explosion31; } @keyframes explosion31 { 22%, 84% { transform: translate(-50%, -50%); opacity: 1; } 91%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(33) { clip-path: circle(8% at 16% 16%); transform: translate(-50%, -50%) translate(-44.54773vmax, -44.54773vmax); animation-name: explosion32; } @keyframes explosion32 { 31%, 78% { transform: translate(-50%, -50%); opacity: 1; } 95%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(34) { clip-path: circle(8% at 24% 16%); transform: translate(-50%, -50%) translate(-40.60518vmax, -49.19473vmax); animation-name: explosion33; } @keyframes explosion33 { 23%, 69% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(35) { clip-path: circle(8% at 32% 16%); transform: translate(-50%, -50%) translate(-34.47122vmax, -54.02205vmax); animation-name: explosion34; } @keyframes explosion34 { 20%, 82% { transform: translate(-50%, -50%); opacity: 1; } 93%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(36) { clip-path: circle(8% at 40% 16%); transform: translate(-50%, -50%) translate(-25.62596vmax, -58.49403vmax); animation-name: explosion35; } @keyframes explosion35 { 50%, 70% { transform: translate(-50%, -50%); opacity: 1; } 96%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(37) { clip-path: circle(8% at 48% 16%); transform: translate(-50%, -50%) translate(-13.92425vmax, -61.77658vmax); animation-name: explosion36; } @keyframes explosion36 { 29%, 57% { transform: translate(-50%, -50%); opacity: 1; } 99%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(38) { clip-path: circle(8% at 56% 16%); transform: translate(-50%, -50%) translate(0vmax, -63vmax); animation-name: explosion37; } @keyframes explosion37 { 34%, 54% { transform: translate(-50%, -50%); opacity: 1; } 94%, 100% { transform: translate(-50%, -50%); opacity: 0; } } span:nth-child(39) { clip-path: circle(8% at 64% 16%); transform: translate(-50%, -50%) translate(13.92425vmax, -61.77658vmax); animation-name: explosion38; } @keyframes explosion38 { 47%, 87% { transform: translate(-50%, -50%); opacity: 1; } 90%, 100% { transform: translate(-50%, -50%); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0