div+css实现眼睛可跟随鼠标转动的猿猴效果代码
代码语言:html
所属分类:布局界面
代码描述:div+css实现眼睛可跟随鼠标转动的猿猴效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; height: 100vh; width: 100vw; overflow: hidden; background: radial-gradient(circle at center, #333, #000); } body #grid { width: 100vw; height: 100vh; display: grid; grid-template-columns: 20vw 20vw 20vw 20vw 20vw; } body #grid .block { position: relative; z-index: 600; } body #grid .block:first-of-type:hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-10px) translateY(0px); transform: translateX(-10px) translateY(0px); } body #grid .block:nth-of-type(2):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-7.5px) translateY(-5px); transform: translateX(-7.5px) translateY(-5px); } body #grid .block:nth-of-type(3):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-7.5px) translateY(-7.5px); transform: translateX(-7.5px) translateY(-7.5px); } body #grid .block:nth-of-type(4):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-5px) translateY(-10px); transform: translateX(-5px) translateY(-10px); } body #grid .block:nth-of-type(5):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(0px) translateY(-10px); transform: translateX(0px) translateY(-10px); } body #grid .block:nth-of-type(6):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-10px) translateY(8px); transform: translateX(-10px) translateY(8px); } body #grid .block:nth-of-type(7):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(-5px) translateY(5px); transform: translateX(-5px) translateY(5px); } body #grid .block:nth-of-type(9):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(2.5px) translateY(-5px); transform: translateX(2.5px) translateY(-5px); } body #grid .block:nth-of-type(10):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(8px) translateY(-9px); transform: translateX(8px) translateY(-9px); } body #grid .block:nth-of-type(11):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(0px) translateY(8px); transform: translateX(0px) translateY(8px); } body #grid .block:nth-of-type(12):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(4px) translateY(5px); transform: translateX(4px) translateY(5px); } body #grid .block:nth-of-type(13):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(5px) translateY(4px); transform: translateX(5px) translateY(4px); } body #grid .block:nth-of-type(14):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(9px) translateY(-2px); transform: translateX(9px) translateY(-2px); } body #grid .block:nth-of-type(15):hover ~ .wrap .head .eye:before { -webkit-transform: translateX(10px) translateY(-4px); transform: translateX(10px) translateY(-4px); } body .wrap { opacity: 1; height: 450px; width: 700px; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); z-index: 2; opacity: 1; } body .wrap.fade { opacity: 0.5; } body .wrap .helmet { position: absolute; width: 185px; height: 100px; background: #000; left: 250px; overflow: hidden; z-index: 0; top: 40px; opacity: 1; border-radius: 500px 500px 0 0 / 650px 650px 0 0; -webkit-transform: rotate(-5deg); transform: rotate(-5deg); box-shadow: inset -3px 5px 30px rgba(255, 255, 255, 0.15); } body .wrap .helmet:before, body .wrap .helmet:after { content: ''; width: 35px; height: 12px; position: absolute; box-shadow: 5px 0px 20px rgba(255, 255, 255, 0.75), 5px -12px 5px #000, 10px -20px 5px -2px rgba(255, 255, 255, 0.45); border-radius: 5px; -webkit-filter: blur(1px); filter: blur(1px); left: 25px; bottom: 40px; -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } body .wrap .helmet:after { left: 120px; bottom: 40px; -webkit-transform: scale(1.1) scaleX(-1) rotate(-10deg); transform: scale(1.1) scaleX(-1) rotate(-10deg); -webkit-filter: blur(2px); filter: blur(2px); width: 40px; } body .wrap .head { position: absolute; width: 250px; height: 350px; left: 220px; top: 100px; z-index: 2; } body .wrap .head:before { content: ''; position: absolute; width: 95%; height: 85%; left: 6%; top: 2.5%; border-radius: 500px 500px 600px 600px / 500px 500px 800px 800px; background: #222; -webkit-filter: blur(5px); filter: blur(5px); } body .wrap .head .mouth { position: absolute; width: 122.5px; height: 30px; top: 80px; left: 70px; z-index: 7; border-radius: 0 0 400px 400px / 0 0 180px 180px; border-bottom: 20px solid #000; box-shadow: 0 5px 0 #000, inset -10px -5px 0 -15px #000; -webkit-transform: rotate(-7deg); transform: rotate(-7deg); } body .wrap .head .mouth .tongue { position: absolute; width: 35px; height: 35px; box-shadow: 0 5px 0 red; border-radius: 50% / 20%; -webkit-filter: blur(2px); filter: blur(2px); left: 40px; top: 15px; opacity: 0.75; } body .wrap .head .mouth .tongue:before, body .wrap .head .mouth .tongue:after { content: ''; position: absolute; width: 0; height: 0; border-style: solid; border-width: 0 0 20px 15px; border-color: transparent transparent #222 transparent; top: -18px; left: 2.5px; -webkit-filter: blur(2px); filter: blur(2px); } body .wrap .head .mouth .tongue:after { border-width: 20px 0 0 15px; border-color: transparent transparent transparent #222; left: 22.5px; } body .wrap .head .mouth:after { content: ''; position: absolute; width: calc(100% + 20px); height: 25px; top: 0px; left: -10px; border-radius: 50px; background: repeating-linear-gradient(to right, #b92403, #b92403 2.5px, #fb4d27 2.5px, #fb4d27 2.5px, #b92403 6px, #b92403 6px, #fb4d27 6px, #fb4d27 6.5px, #b92403 6.5px); opacity: 0.5; -webkit-filter: blur(2px); filter: blur(2px); } body .wrap .head .mouth:before { content: ''; position: absolute; width: 122.5px; height: 30px; top: 33px; left: 0; z-index: 9; border-radius: 0 0 400px 400px / 0 0 180px 180px; box-shadow: 0 1px 20px -2px #f29e03, inset 0 -1px 5px -2px #fcaa13, inset -10px -5px 0 -15px #b92403, inset 0 -7px 10px #b92403, inset 0 -10px 0; -webkit-transform: scaleX(1) scaleY(1.5); transform: scaleX(1) scaleY(1.5); z-index: -1; } body .wrap .head .eye { position: absolute; width: 45px; height: 45px; z-index: 9; background: #fff; border-radius: 50px 35px 50px 40px; left: 68px; opacity: 0.5; top: 40px; -webkit-transform: rotate(45deg); transform: rotate(45deg); box-shadow: inset -1px 0 0 2px #000, inset -5px 5px 30px #555, 5px 5px 10px 1px #b92403, 9px 3px 10px 0 #281a01, -10px 20px 10px #b92403; } body .wrap .head .eye:before { content: ''; position: absolute; width: 10px; height: 10px; background: #000; border-radius: 100%; top: 19px; left: 19px; box-shadow: 0 0 0 3px #fcb32c, 0 0 0 4px #b92403, 0 0 0 5px #000; -webkit-transition: 0.35s ease-in-out; transition: 0.35s ease-in-out; } body .wrap .head .eye:nth-of-type(2) { height: 47.5px; width: 47.5px; border-radius: 50px 40px 50px 30px; left: 135px; top: 32px; box-shadow: inset -1px 0 0 3px #000, inset 5px -5px 30px #555, 5px 5px 10px 1px #b92403, 9px 4px 15px 0 #281a01, 15px -10px 15px #b92403; } body .wrap .head .eye:nth-of-type(2):before { -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(1) { -webkit-transform: scaleX(-1) rotate(52.5deg); transform: scaleX(-1) rotate(52.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(2) { -webkit-transform: scaleX(-1) rotate(60deg); transform: scaleX(-1) rotate(60deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(3) { -webkit-transform: scaleX(-1) rotate(67.5deg); transform: scaleX(-1) rotate(67.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(4) { -webkit-transform: scaleX(-1) rotate(75deg); transform: scaleX(-1) rotate(75deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(5) { -webkit-transform: scaleX(-1) rotate(82.5deg); transform: scaleX(-1) rotate(82.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(6) { -webkit-transform: scaleX(-1) rotate(90deg); transform: scaleX(-1) rotate(90deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(7) { -webkit-transform: scaleX(-1) rotate(97.5deg); transform: scaleX(-1) rotate(97.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(8) { -webkit-transform: scaleX(-1) rotate(105deg); transform: scaleX(-1) rotate(105deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(9) { -webkit-transform: scaleX(-1) rotate(112.5deg); transform: scaleX(-1) rotate(112.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(10) { -webkit-transform: scaleX(-1) rotate(120deg); transform: scaleX(-1) rotate(120deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(11) { -webkit-transform: scaleX(-1) rotate(127.5deg); transform: scaleX(-1) rotate(127.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(12) { -webkit-transform: scaleX(-1) rotate(135deg); transform: scaleX(-1) rotate(135deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(13) { -webkit-transform: scaleX(-1) rotate(142.5deg); transform: scaleX(-1) rotate(142.5deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(14) { -webkit-transform: scaleX(-1) rotate(150deg); transform: scaleX(-1) rotate(150deg); } body .wrap .head .eye:nth-of-type(2) .hair:nth-of-type(15) { -webkit-transform: scaleX(-1) rotate(157.5deg); transform: scaleX(-1) rotate(157.5deg); } body .wrap .head .eye .hair { position: absolute; width: 20px; height: 50px; border-radius: 75px 0 0 0 / 120px 0 0 0; box-shadow: -0.25px -1px 0 -0.25px #fcb32c; z-index: -1; -webkit-transform-origin: 50px 20%; transform-origin: 50px 20%; left: -25px; top: 20px; -webkit-filter: blur(0.75px); filter: blur(0.75px); } body .wrap .head .eye .hair:before { content: ''; position: absolute; width: inherit; height: inherit; box-shadow: inherit; border-radius: inherit; left: 5px; top: -5px; opacity: 0.75; } body .wrap .head .eye .hair:nth-of-type(2n) { height: 60px; box-shadow: -0.5px -1.5px 0 #fcaa13; } body .wrap .head .eye .hair:nth-of-type(3n) { height: 55px; box-shadow: -0.5px -1.5px 0 #f29e03; } body .wrap .head .eye .hair:nth-of-type(1) { -webkit-transform: rotate(-17.5deg); transform: rotate(-17.5deg); } body .wrap .head .eye .hair:nth-of-type(2) { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } body .wrap .head .eye .hair:nth-of-type(3) { -webkit-transform: rotate(-2.5deg); transform: rotate(-2.5deg); } body .wrap .head .eye .hair:nth-of-ty.........完整代码请登录后点击上方下载按钮下载查看
网友评论0