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