css布局实现忍者扔飞刀交互效果
代码语言:html
所属分类:动画
代码描述:css布局实现忍者扔飞刀交互效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link href="https://fonts.googleapis.com/css?family=Titillium+Web:200,200i,300,300i,400,400i,600,600i,700,700i,900&display=swap" rel="stylesheet"> <style> @charset "UTF-8"; :root { --ninjaBlack: #000; --ninjaBlack2: #010101; --ninjaGray: #888; --ninjaGray2: #eee; --ninjaSkin: #f1c27d; --ninjaSkin2: #ae8953; --ninjaBorder: #000; --ninjaBorderWidth: 2px; --animationDuration: 3s; --animationDelay: 0.5s; --animationCount: 1; --animationTiming: cubic-bezier(0.5, 0.1, 1, 0.8); --animationTiming: ease-out; } div { position: relative; } *::after, *::before { content: ""; position: absolute; display: block; } .ninja { -webkit-animation: kataMain var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); animation: kataMain var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); min-width: 400px; height: 330px; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-transform-origin: bottom center; transform-origin: bottom center; -webkit-transition: 0.2s; transition: 0.2s; top: 0; cursor: pointer; } .ninja:hover .armBottom.arm2Bottom { -webkit-transform: rotate(145deg); transform: rotate(145deg); -webkit-transition: 0.2s; transition: 0.2s; } .ninja:hover .armBottom.arm1Bottom { -webkit-transform: rotate(-120deg); transform: rotate(-120deg); -webkit-transition: 0.2s; transition: 0.2s; } .ninja:hover .eye.eyeRight::after { top: -12px; } .ninja:hover .noggin { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } .ninja:hover .headBandWrap { top: -2em; right: 1em; -webkit-transform: rotate(-10deg) scaley(0.95); transform: rotate(-10deg) scaley(0.95); } .noggin { -webkit-animation: kata var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); animation: kata var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); background: var(--ninjaBlack); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; border: var(--ninjaBorderWidth) solid var(--ninjaBorder); width: 9em; height: 8em; top: 0; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; overflow: hidden; -webkit-transition: 0.2s; transition: 0.2s; } .noggin::before { content: "ninja"; color: var(--ninjaBlack); font-weight: 900; font-size: 0.9em; top: 2.1em; opacity: 1; z-index: 1; } .noggin:after { content: ""; position: absolute; top: 2.9em; display: block; width: 10em; height: 3em; border-radius: 50%; box-shadow: 0px -20px 0 0 var(--ninjaGray2); } .eyeHole { position: absolute; z-index: 0; display: -webkit-box; display: flex; justify-content: space-around; -webkit-box-align: center; align-items: center; padding: 15px 15px 0; width: 7em; height: 3em; background: var(--ninjaSkin); border-radius: 100px / 50px; bottom: 20px; border: var(--ninjaBorderWidth) solid var(--ninjaBorder); overflow: hidden; } .eyeHole::after { content: ""; display: block; position: absolute; top: 8px; width: 11em; height: 3em; border-radius: 50%; box-shadow: 0px -10px 0 0 var(--ninjaSkin2); } .eyeHole .eyeWrap { -webkit-animation: eyes var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); animation: eyes var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); display: -webkit-box; display: flex; justify-content: space-around; width: 7em; } .eyeHole .eye { width: 20px; height: 20px; background: var(--ninjaBlack); border-radius: 50%; box-shadow: -4px -3px 0 0 var(--ninjaSkin2); -webkit-transition: 0.2s; transition: 0.2s; } .eyeHole .eye::before { content: ""; display: block; position: absolute; width: 8px; height: 8px; right: 2px; top: 2px; border-radius: 50%; background: #fff; } .eyeHole .eye::after { content: ""; display: block; position: absolute; width: 25px; height: 5px; background: var(--ninjaBlack); border-radius: 0 100%; -webkit-transition: 0.2s; transition: 0.2s; } .eyeHole .eye.eyeLeft { -webkit-animation: kataLeftEye 15s 7s ease-in-out infinite; animation: kataLeftEye 15s 7s ease-in-out infinite; -webkit-transform-origin: center; transform-origin: center; } .eyeHole .eye.eyeLeft::before { -webkit-animation: kataLeftEye2 15s 7s ease-in-out infinite; animation: kataLeftEye2 15s 7s ease-in-out infinite; } .eyeHole .eye.eyeLeft::after { top: -8px; right: 0; -webkit-transform: rotate(10deg); transform: rotate(10deg); -webkit-transition: 0.2s; transition: 0.2s; } .eyeHole .eye.eyeRight::after { -webkit-animation: kataEyebrow var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); animation: kataEyebrow var(--animationDuration) var(--animationDelay) var(--animationTiming) var(--animationCount); top: -7px; -webkit-transform: rotate(-25deg); transform: rotate(-25deg); } .headBandWrap { -webkit-animation: kataBand var(--animationDuration) var(--animationDelay) var(--animati.........完整代码请登录后点击上方下载按钮下载查看
网友评论0