css+js实现反走逆时针时钟指针动画效果代码

代码语言:html

所属分类:动画

代码描述:css+js实现反走逆时针时钟指针动画效果代码

代码标签: css 时钟 反走 逆时针

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">


    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">



    <style>
        * {
          border: 0;
          box-sizing: border-box;
          margin: 0;
          padding: 0;
        }
        
        :root {
          --bg: #e3e4e8;
          --fg: #17181c;
          font-size: calc(16px + (24 - 16) * (100vw - 320px) / (1280 - 320));
        }
        
        body {
          background: var(--bg);
          color: var(--fg);
          font: 1em/1.5 -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, sans-serif;
          height: 100vh;
          display: grid;
          place-items: center;
        }
        
        main {
          padding: 1.5em 0;
        }
        
        .clock {
          background: radial-gradient(100% 100% at 50% 10%, #737a8c, #17181c 50%);
          border-radius: 50%;
          box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.5);
          position: relative;
          width: 15em;
          height: 15em;
        }
        .clock__inner-frame, .clock__ticks, .clock__tick, .clock__digits, .clock__digit, .clock__text, .clock__hands, .clock__hand, .clock__hand-trail {
          position: absolute;
        }
        .clock__inner-frame, .clock__ticks, .clock__digits, .clock__hands {
          border-radius: inherit;
        }
        .clock__inner-frame {
          background: linear-gradient(#8f95a3, #c7cad1);
          box-shadow: 0 0.1em 0 #cccccc inset;
          top: 1em;
          left: 1em;
          width: 13em;
          height: 13em;
        }
        .clock__ticks {
          background: linear-gradient(#e3e4e8, white);
          box-shadow: 0 0.5em 0.5em 0.75em rgba(0, 0, 0, 0.2) inset, 0 0 0 0.15em #17181c;
          top: 1.5em;
          left: 1.5em;
          width: 12em;
          height: 12em;
        }
        .clock__tick, .clock__hand {
          background: currentColor;
        }
        .clock__tick {
          bottom: 50%;
          left: calc(50% - 0.025em);
          width: 0.05em;
          min-width: 1px;
          height: 0.25em;
          transform-origin: 50% 100%;
        }
        .clock__tick:nth-child(5n+1) {
          left: calc(50% - 0.05em);
          width: 0.1em;
          min-width: 2px;
          height: 0.5em;
        }
        .clock__tick:nth-child(1) {
          transform: rotate(0deg) translateY(-5.25em);
        }
        .clock__tick:nth-child(2) {
          transform: rotate(6deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(3) {
          transform: rotate(12deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(4) {
          transform: rotate(18deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(5) {
          transform: rotate(24deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(6) {
          transform: rotate(30deg) translateY(-5.25em);
        }
        .clock__tick:nth-child(7) {
          transform: rotate(36deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(8) {
          transform: rotate(42deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(9) {
          transform: rotate(48deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(10) {
          transform: rotate(54deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(11) {
          transform: rotate(60deg) translateY(-5.25em);
        }
        .clock__tick:nth-child(12) {
          transform: rotate(66deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(13) {
          transform: rotate(72deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(14) {
          transform: rotate(78deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(15) {
          transform: rotate(84deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(16) {
          transform: rotate(90deg) translateY(-5.25em);
        }
        .clock__tick:nth-child(17) {
          transform: rotate(96deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(18) {
          transform: rotate(102deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(19) {
          transform: rotate(108deg) translateY(-5.5em);
        }
        .clock__tick:nth-child(20) {
          transform: rotate(114deg) translateY(-5.5em);
        }
   .........完整代码请登录后点击上方下载按钮下载查看

网友评论0