生日蛋糕生日祝福动画效果
代码语言:html
所属分类:动画
代码描述:生日蛋糕生日祝福动画效果
代码标签: 效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> html, body { height: 100%; width: 100%; overflow: hidden; padding: 0; margin: 0; } body { position: relative; background: #f4f5fb; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; } html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } * { position: absolute; } *:before, *:after { content: ""; position: absolute; } .container { position: relative; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; } .cake { width: 80%; height: 80%; left: 10%; bottom: 15%; } .filling { height: 10px; width: 100%; background-color: rgba(0, 0, 0, 0.1); top: 50%; } .tier { left: 10%; width: 80%; height: 50px; border-radius: 5px; } .tier .icing-group { width: 100%; height: 30px; overflow: hidden; } .tier .icing-group .icing { border-radius: 0 0 20px 20px; width: 40px; height: 20px; background-color: #f4f5fb; } .tier:after { border-radius: 0 5px 5px 0; right: 0; width: 50%; height: 100%; background-color: rgba(0, 0, 0, 0.05); } .tier-1 { background-color: #f2abe7; bottom: 0; } .tier-1 .filling { background-color: #eb7fda; } .tier-2 { bottom: 50px; width: 60%; height: 45px; left: 20%; background-color: #9fa3ec; } .tier-2 .filling { background-color: #747ae4; } .tier-3 { bottom: 95px; width: 40%; height: 40px; left: 30%; background-color: #86d2e1; } .tier-3 .filling { background-color: #5dc3d7; } .icing:nth-child(1) { left: -20px; } .icing:nth-child(2) { left: 10px; } .icing:nth-child(3) { left: 40px; } .icing:nth-child(4) { left: 70px; } .icing:nth-child(5) { left: 100px; } .icing:nth-child(6) { left: 130px; } .icing:nth-child(7) { left: 160px; } .icing:nth-child(8) { left: 190px; } .icing:nth-child(9) { left: 220px; } .candles { width: 40%; left: 30%; height: 30px; bottom: 135px; } .candles .candle { background-color: #f2abe7; left: 27px; width: 10px; height: 25px; bottom: 0; } .candles .candle:after { width: 50%; height: 100%; right: 0; background-color: rgba(0, 0, 0, 0.1); } .candles .candle .flame { width: 15px; height: 15px; bottom: 30px; left: -3px; } .candles .candle .flame .flame-in { width: 100%; height: 100%; background-color: #fec31e; border-radius: 0 50% 50%; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-animation: flame 2s linear infinite; animation: flame 2s linear infinite; } @-webkit-keyframes flame { 50% { -webkit-transform: scale(0.8) rotate(45deg); transform: scale(0.8) rotate(45deg); } } @keyframes flame { 50% { -webkit-transform: scale(0.8) rotate(45deg); transform: scale(0.8) rotate(45deg); } } .confetti { position: absolute; z-index: 999; } .confetti .rotate { -webkit-animation: driftRotate 1s infinite both ease-in-out; animation: driftRotate 1s infinite both ease-in-out; width: 100%; height: 100%; } .confetti .askew { width: 100%; height: 100%; -webkit-animation: drift 1s infinite alternate both ease-in-out; animation: drift 1s infinite alternate both ease-in-out; } .confetti:nth-child(0) .askew { -webkit-animation-duration: 1.62s; animation-duration: 1.62s; -webkit-animation-delay: -0.3888s; animation-delay: -0.3888s; } .confetti:nth-child(0) .rotate { -webkit-animation-duration: 1.4s; animation-duration: 1.4s; -webkit-animation-delay: -0.336s; animation-delay: -0.336s; } .confetti:nth-child(1) .askew { -webkit-animation-duration: 1.3s; animation-duration: 1.3s; -webkit-animation-delay: -1.287s; animation-delay: -1.287s; } .confetti:nth-child(1) .rotate { -webkit-animation-duration: 1.47s; animation-duration: 1.47s; -webkit-animation-delay: -0.0882s; animation-delay: -0.0882s; } .confetti:nth-child(2) .askew { -webkit-animation-duration: 1.84s; animation-duration: 1.84s; -webkit-animation-delay: -1.8216s; animation-delay: -1.8216s; } .confetti:nth-child(2) .rotate { -webkit-animation-duration: 1.4s; animation-duration: 1.4s; -webkit-animation-delay: -0.196s; animation-delay: -0.196s; } .confetti:nth-child(3) .askew { -webkit-animation-duration: 1.31s; animation-duration: 1.31s; -webkit-animation-delay: -1.1135s; animation-delay: -1.1135s; } .confetti:nth-child(3) .rotate { -webkit-animation-duration: 1.79s; animation-duration: 1.79s; -webkit-animation-delay: -1.6468s; animation-delay: -1.6468s; } .confetti:nth-child(4) .askew { -webkit-animation-duration: 1.25s; animation-duration: 1.25s; -webkit-animation-delay: -0.1125s; animation-delay: -0.1125s; } .confetti:nth-child(4) .rotate { -webkit-animation-duration: 1.11s; animation-duration: 1.11s; -webkit-animation-delay: -0.8436s; animation-delay: -0.8436s; } .confetti:nth-child(5) .askew { -webkit-animation-duration: 1.61s; animation-duration: 1.61s; -webkit-animation-delay: -1.5134s; animation-delay: -1.5134s; } .confetti:nth-child(5) .rotate { -webkit-animation-duration: 1.67s; animation-duration: 1.67s; -webkit-animation-delay: -1.4696s; animation-delay: -1.4696s; } .confetti:nth-child(6) .askew { -webkit-animation-duration: 1.54s; animation-duration: 1.54s; -webkit-animation-delay: -0.4774s; animation-delay: -0.4774s; } .confetti:nth-child(6) .rotate { -webkit-animation-duration: 1.3s; animation-duration: 1.3s; -webkit-animation-delay: -0.208s; animation-delay: -0.208s; } .confetti:nth-child(7) .askew { -webkit-animation-duration: 1.27s; animation-duration: 1.27s; -webkit-animation-delay: -0.762s; animation-delay: -0.762s; } .confetti:nth-child(7) .rotate { -webkit-animation-duration: 1.18s; animation-duration: 1.18s; -webkit-animation-delay: -0.4012s; animation-delay: -0.4012s; } .confetti:nth-child(8) .askew { -webkit-animation-duration: 1.91s; animation-duration: 1.91s; -webkit-animation-delay: -0.9168s; animation-delay: -0.9168s; } .confetti:nth-child(8) .rotate { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; -webkit-animation-delay: -0.66s; animation-delay: -0.66s; } .confetti:nth-child(9) .askew { -webkit-animation-duration: 1.77s; animation-duration: 1.77s; -webkit-animation-delay: -1.0266s; animation-delay: -1.0266s; } .confetti:nth-child(9) .rotate { -webkit-animation-duration: 1.68s; animation-duration: 1.68s; -webkit-animation-delay: -1.092s; animation-delay: -1.092s; } .confetti:nth-child(10) .askew { -webkit-animation-duration: 1.03s; animation-duration: 1.03s; -webkit-animation-delay: -0.5871s; animation-delay: -0.5871s; } .confetti:nth-child(10) .rotate { -webkit-animation-duration: 1.66s; animation-duration: 1.66s; -webkit-animation-delay: -0.4482s; animation-delay: -0.4482s; } .confetti:nth-child(11) .askew { -webkit-animation-duration: 1.99s; animation-duration: 1.99s; -webkit-animation-delay: -0.0398s; animation-delay: -0.0398s; } .confetti:nth-child(11) .rotate { -webkit-animation-duration: 1.17s; animation-duration: 1.17s; -webkit-animation-delay: -0.2457s; animation-delay: -0.2457s; } .confetti:nth-child(12) .askew { -webkit-animation-duration: 1.81s; animation-duration: 1.81s; -webkit-animation-delay: -0.6878s; animation-delay: -0.6878s; } .confetti:nth-child(12) .rotate { -webkit-animation-duration: 1.07s; animation-duration: 1.07s; -webkit-animation-delay: -0.7276s; animation-delay: -0.7276s; } .confetti:nth-child(13) .askew { -webkit-animation-duration: 1.92s; animation-duration: 1.92s; -webkit-animation-delay: -1.3824s; animation-delay: -1.3824s; } .confetti:nth-child(13) .rotate { -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-delay: -1.14s; animation-delay: -1.14s; } .confetti:nth-child(14) .askew { -webkit-animation-duration: 1.28s; animation-duration: 1.28s; -webkit-animation-delay: -0.8576s; animation-delay: -0.8576s; } .confetti:nth-child(14) .rotate { -webkit-animation-duration: 1.75s; animation-duration: 1.75s; -webkit-animation-delay: -0.28s; animation-delay: -0.28s; } .confetti:nth-child(15) .askew { -webkit-animation-duration: 1.38s; animation-duration: 1.38s; -webkit-animation-delay: -0.8694s; animation-delay: -0.8694s; } .confetti:nth-child(15) .rotate { -webkit-animation-duration: 1.96s; animation-duration: 1.96s; -webkit-animation-delay: -0.7252s; animation-delay: -0.7252s; } .confetti:nth-child(16) .askew { -webkit-animation-duration: 1.02s; animation-duration: 1.02s; -webkit-animation-delay: -0.3264s; animation-delay: -0.3264s; } .confetti:nth-child(16) .rotate { -webkit-animation-duration: 1.04s; animation-duration: 1.04s; -webkit-animation-delay: -0.9152s; animation-delay: -0.9152s; } .confetti:nth-child(17) .askew { -webkit-animation-duration: 1.85s; animation-duration: 1.85s; -webkit-animation-delay: -1.0545s; animation-delay: -1.0545s; } .confetti:nth-child(17) .rotate { -webkit-animation-duration: 1.07s; animation-duration: 1.07s; -webkit-animation-delay: -0.6741s; animation-delay: -0.6741s; } .confetti:nth-child(18) .askew { -webkit-animation-duration: 1.42s; animation-duration: 1.42s; -webkit-animation-delay: -1.0224s; animation-delay: -1.0224s; } .confetti:nth-child(18) .rotate { -webkit-animation-duration: 1.13s; animation-duration: 1.13s; -webkit-animation-delay: -1.0735s; animation-delay: -1.0735s; } .confetti:nth-child(19) .askew { -webkit-animation-duration: 1.97s; animation-duration: 1.97s; -webkit-animation-delay: -1.3396s; animation-delay: -1.3396s; } .confetti:nth-child(19) .rotate { -webkit-animation-duration: 1.04s; animation-duration: 1.04s; -webkit-animation-delay: -0.3744s; animation-delay: -0.3744s; } .confetti:nth-child(20) .askew { -webkit-animation-duration: 1.81s; animation-duration: 1.81s; -webkit-animation-delay: -0.3982s; animation-delay: -0.3982s; } .confetti:nth-child(20) .rotate { -webkit-animation-duration: 1.63s; animation-duration: 1.63s; -webkit-animation-delay: -0.7172s; animation-delay: -0.7172s; } .confetti:nth-child(21) .askew { -webkit-animation-duration: 1.87s; animation-duration: 1.87s; -webkit-animation-delay: -0.4862s; animation-delay: -0.4862s; } .confetti:nth-child(21) .rotate { -webkit-animation-duration: 1.96s; animation-duration: 1.96s; -webkit-animation-delay: -1.8424s; animation-delay: -1.8424s; } .confetti:nth-child(22) .askew { -webkit-animation-duration: 1.08s; animation-duration: 1.08s; -webkit-animation-delay: -0.702s; animation-delay: -0.702s; } .confetti:nth-child(22) .rotate { -webkit-animation-duration: 1.1s; animation-duration: 1.1s; -webkit-animation-delay: -1.067s; animation-delay: -1.067s; } .confetti:nth-child(23) .askew { -webkit-animation-duration: 1.45s; animation-duration: 1.45s; -webkit-animation-delay: -0.4785s; animation-delay: -0.4785s; } .confetti:nth-child(23) .rotate { -webkit-animation-duration: 1.85s; animation-duration: 1.85s; -webkit-animation-delay: -1.7945s; animation-delay: -1.7945s; } .confetti:nth-child(24) .askew { -webkit-animation-duration: 1.01s; animation-duration: 1.01s; -webkit-animation-delay: -0.3939s; animation-delay: -0.3939s; } .confetti:nth-child(24) .rotate { -webkit-animation-duration: 1.18s; animation-duration: 1.18s; -webkit-animation-delay: -0.4248s; animation-delay: -0.4248s; } .confetti:nth-child(25) .askew { -webkit-animation-duration: 1.91s; animation-duration: 1.91s; -webkit-animation-delay: -0.4202s; animation-delay: -0.4202s; } .confetti:nth-child(25) .rotate { -webkit-animation-duration: 1.42s; animation-duration: 1.42s; -webkit-animation-delay: -0.5964s; animation-delay: -0.5964s; } .confetti:nth-child(26) .askew { -webkit-animation-duration: 1.28s; animation-duration: 1.28s; -webkit-animation-delay: -0.4224s; animation-delay: -0.4224s; } .confetti:nth-child(26) .rotate { -webkit-animation-duration: 1.42s; animation-duration: 1.42s; -webkit-animation-delay: -0.3266s; animation-delay: -0.3266s; } .confetti:nth-child(27) .askew { .........完整代码请登录后点击上方下载按钮下载查看
网友评论0