摇晃的可爱骷髅头edit icon

创建者:
NDK
Fork(复制)
下载
嵌入
BUG反馈
index.html
index.html
            
            <!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
*, *::before, *::after {
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
}

body {
  background-color: hotpink;
  min-height: 100vh;
  display: grid;
  place-items: center;
  font-size: 24px;
  
  &:active :is(.skull, .eye, .nose, .tooth, .bone) {
    animation: none;
  }
}

.skull {
  position: relative;
  filter:
    drop-shadow(0.2em 0.2em 0 maroon)
    drop-shadow(-0.1em -0.1em 0 pink);
  cursor: pointer;
  animation: skull 4s ease-in-out;
  
  * {
    position: absolute;
    background-color: rebeccapurple;
  }
}

@keyframes skull {
  0%, 45% { translate: 0 0; }
  7% { translate: 0 0.5em; }
  15% { translate: 0 -1em; }
  25% { translate: 0 0.25em; }
  35% { translate: 0 -0.25em; }
}

.head {
  inset: -3em -4em;
  border-radius: 50% / 60% 60% 40% 40%;
  translate: 0 -2em;
  
  .eye {
    inset: 2.2em 3em;
    background-color: hotpink;
    box-shadow:
      0.2em 0.2em 0 maroon inset,
      -0.1em -0.1em 0 pink inset;
    border-radius: 50% / 40% 40% 60% 60%;
    animation: face 4s ease-in-out;
   
    &:nth-child(1) {
      translate: -1.2em -0.6em;
      rotate: -15deg;      
   }
    &:nth-child(2) {
      translate: 1.2em -0.6em;
      rotate: 15deg;      
    }
  }
  
  .nose {
    inset: 2.2em 3.5em;
    background-color: hotpink;
    box-shadow:
      0.2em 0.2em 0 maroon inset,
      -0.1em -0.1em 0 pink inset;
    border-radius: 50% / 80% 80% 20% 20%;
    translate: 0 1.35em;
    animation: face 4s -0.1s ease-in-out;
}

  .tooth {
    inset: 1.25em 3.25em;
    border-radius: 50%;
    animation: face 4s ease-in-out;
 
    &:nth-child(3) {
      translate: 0em 2.75em;
      animation-delay: 0.15s;
    }
    &:nth-child(4) {
      translate: 1.5em 2.75em;
      rotate: 15deg;
      animation-delay: 0.25s;
    }
    &:nth-child(5) {
      translate: -1.5em 2.75em;
      rotate: -15deg;
      animation-delay: 0.2s;
    }
  }
}

@keyframes face {
  0%, 45%, 100% { transform: translateY(0em); }
  7% { transform: translateY(-0.25em); }
  15% { transform: translateY(0.25em); }
  25% { transform: translateY(-0.15em); }
  33% { transform: translateY(0.15em); }
  39% { transform: translateY(-0.05em); }
  43% { transform: translateY(0.05em); }
}

.bone {
  inset: -0.5em -5.5em;
  translate: 0 3em;
  animation: bone 4s ease-in-out;
  
  i {
    border-radius: 50%;
    
    &:nth-child(1) {
      inset: -1em 10em 0.5em -1em;
    }
    &:nth-child(2) {
      inset: 0.5em 10em -1em -1em;
    }
    &:nth-child(3) {
      inset: -1em -1em 0.5em 10em;
    }
    &:nth-child(4) {
      inset: 0.5em -1em -1em 10em;
    }
  }
  
  &:nth-child(2) {
    rotate: 20deg;
    transform-origin: 2em 50%
  }
  &:nth-child(3) {
    rotate: -20deg;
    transform-origin: 9em 50%;
  }
}

@keyframes bone {
  0%, 45%, 100% { transform: rotate(0deg); }
  7% { transform: rotate(4deg); }
  15% { transform: rotate(-8deg); }
  25% { transform: rotate(5deg); }
  33% { transform: rotate(-3deg); }
  39% { transform: rotate(2deg); }
  43% { transform: rotate(-1deg); }
}
  </style>
</head>

<body>
  <div class="skull">
  <div class="head">
    <div class="eye"></div>
    <div class="eye"></div>
    <div class="tooth"></div>
    <div class="tooth"></div>
    <div class="tooth"></div>    
    <div class="nose"></div>
  </div>
  <div class="bone">
    <i></i><i></i><i></i><i></i>
  </div>
  <div class="bone">
    <i></i><i></i><i></i><i></i>
  </div>
</div>

</body>

</html>
        
编辑器加载中
预览
控制台