纯css布局实现逼真手表秒表指针走动效果代码

代码语言:html

所属分类:布局界面

代码描述:纯css布局实现逼真手表秒表指针走动效果代码

代码标签: css 手表 秒表 指针

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">





    <style>
        @import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,700");
        body {
          background-color: #fff;
          min-height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          font-family: monospace;
        }
        .wrapper {
          position: relative;
        }
        .watch-case {
          position: absolute;
          z-index: 4;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          height: 400px;
          width: 400px;
          overflow: hidden;
          background-image: linear-gradient(-45deg, #000, #800, #fdfdfd);
          border-radius: 50%;
          box-shadow: 0 0 1px 2px rgba(0,0,0,0.7);
        }
        .watch-center {
          background-image: radial-gradient(#fff, #eeeeef);
          height: 380px;
          width: 380px;
          border-radius: 50%;
          position: absolute;
          z-index: 4;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          box-shadow: -1px -1px 1px 0 #fdfdfd, 0 0 0 2px #b8b7c3, inset 0 0 0 2px #d1d1d6, inset 0 0 0 4px rgba(255,255,255,0.7), inset 0 0 8px 8px rgba(0,0,0,0.1), inset 0 0 50px 50px rgba(0,0,0,0.05);
        }
        .watch-strap {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          height: 480px;
          width: 220px;
          background-color: #101022;
          border-radius: 6px;
          z-index: 2;
        }
        .watch-strap .strap-circle {
          position: absolute;
          height: 409px;
          width: 409px;
          background-color: transparent;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          border-radius: 50%;
          box-shadow: inset -1px 0 8px 3px #151427, 0 0 2px 1px rgba(255,255,255,0.8);
        }
        .watch-strap .strap-circle:after {
          content: '';
          display: block;
          height: 100%;
          width: 72px;
          left: -2px;
          position: absolute;
          background-color: #fff;
        }
        .watch-strap .strap-circle:before {
          content: '';
          display: block;
          height: 100%;
          width: 72px;
          background-color: #fff;
          position: absolute;
          right: -2px;
        }
        .watch-strap .strap {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          height: 480px;
          width: 220px;
          background-color: #000;
          border-radius: 6px;
          z-index: 2;
          box-shadow: -1px 0 1px 0 #800, inset 0 20px 40px -20px #800, inset 0 -20px 40px -20px rgba(0,0,0,0.7);
        }
        .watch-strap-holder {
          position: absolute;
          background-color: #000;
          height: 150px;
          width: 20px;
          left: -20px;
          border-radius: 3px;
          top: -2px;
          z-index: -1;
          box-shadow: inset 0 0 4px 1px rgba(0,0,0,0.2);
        }
        .watch-strap-holder.left-bottom {
          transform: scaleY(-1);
          top: 332px;
          left: -20px;
        }
        .watch-strap-holder.right-up {
          transform: scaleX(-1);
          left: 220px;
          box-shadow: inset 0 0 4px 1px rgba(0,0,0,0.2);
        }
        .watch-strap-holder.right-up:after {
          border-radius: 14px 70px 0 0;
          box-shadow: inset 0px 3px 1px -2px rgba(0,0,0,0.6), inset -10px -15px 1px 2px #000, inset -2px 10px 4px 2px #000;
        }
        .watch-strap-holder.right-bottom {
          transform: scaleY(-1) scaleX(-1);
          top: 332px;
          left: 220px;
        }
        .watch-strap-holder.right-bottom:after {
          border-radius: 14px 70px 0 0;
          box-shadow: inset 0px 3px 1px -2px rgba(255,255,255,0.6), inset -10px -15px 1px 2px #000, inset -2px 10px 4px 2px #181820;
        }
        .watch-strap-holder:before {
          content: '';
          display: block;
          position: absolute;
          background-color: #000;
          height: 150px;
          width: 10px;
          border-radius: 3px 0;
          transform: rotate(4deg);
          left: -5px;
          box-shadow: inset 5px 5px 4px -5px rgba(0,0,0,0.2);
        }
        .watch-strap-holder:after {
          content: '';
          display: block;
          position: absolute;
          background-color: transparent;
          background-image: linear-gradient(to bottom, transparent, #fff);
          height: 150px;
          width: 30px;
          border-radius: 12px;
          transform: rotate(4deg);
          top: 10px;
          left: -4px;
          box-shadow: inset -3px 8px 2px 2px #181820;
        }
        .reflection {
          content: '';
          display: block;
          height: 16px;
          width: 30px;
          position: absolute;
          top: 50px;
          left: 50px;
          background-color: #080817;
          filter: blur(1px);
          transform: rotate(-56deg) skewX(30deg) scale(0.6);
        }
        .reflection.bottom {
          top: 337px;
          left: 312px;
        }
        .reflection.bottom:after {
          height: 39px;
          width: 43px;
          left: -60px;
          top: -14px;
          transform: rotate(-44deg);
          box-shadow: 34px 17px 0 8px #080817;
        }
        .reflection:after {
          content: '';
          display: block;
          background-color: transparent;
          height: 40px;
          width: 30px;
          border-radius: 50%;
          background-color: transparent;
          position: absolute;
          left: -48px;
          top: -11px;
          transform: rotate(-69deg);
          box-shadow: 34px 17px 0 20px #080817;
        }
        .reflection:before {
          content: '';
          display: block;
          background-color: transparent;
          height: 40px;
          width: 30px;
          border-radius: 50%;
          background-color: transparent;
          position: absolute;
          right: 25px;
          top: 32px;
          transform: rotate(-69deg);
          box-shadow: 34px 17px 0 10px #080817, 14px 32px 0 20px #080817;
        }
        .watch-points {
          position: absolute;
          z-index: 5;
          top: calc(50% - 6px);
          left: calc(50% - 1px);
          transform: translate(-50%, -50%);
        }
        .watch-points:after {
          content: '';
          display: block;
          height: 325px;
          width: 325px;
          position: absolute;
          border: 2px solid #dededf;
          top: calc(50% + 6px);
          left: calc(50% + 1px);
          transform: translate(-50%, -50%);
          border-radius: 50%;
        }
        .watch-points i {
          display: block;
          height: 12px;
          width: 2px;
          background-image: linear-gradient(to bottom, #c6c6cb, #e0e0e1);
          position: absolute;
        }
        i:nth-child(1) {
          transform: rotate(6 -6 deg) translate(0, -172px);
        }
        i:nth-child(2) {
          transform: rotate(12 -6 deg) translate(0, -172px);
        }
        i:nth-child(3) {
          transform: rotate(18 -6 deg) translate(0, -172px);
        }
        i:nth-child(4) {
          transform: rotate(24 -6 deg) translate(0, -172px);
        }
        i:nth-child(5) {
          transform: rotate(30 -6 deg) translate(0, -172px);
        }
        i:nth-child(6) {
          transform: rotate(36 -6 deg) translate(0, -172px);
        }
        i:nth-child(7) {
          transform: rotate(42 -6 deg) translate(0, -172px);
        }
        i:nth-child(8) {
          transform: rotate(48 -6 deg) translate(0, -172px);
        }
        i:nth-child(9) {
          transform: rotate(54 -6 deg) translate(0, -172px);
        }
        i:nth-child(10) {
          transform: rotate(60 -6 deg) translate(0, -172px);
        }
        i:nth-child(11) {
          transform: rotate(66 -6 deg) translate(0, -172px);
        }
        i:nth-child(12) {
          transform: rotate(72 -6 deg) translate(0, -172px);
        }
        i:nth-child(13) {
          transform: rotate(78 -6 deg) translate(0, -172px);
        }
        i:nth-child(14) {
          transform: rotate(84 -6 deg) translate(0, -172px);
        }
        i:nth-child(15) {
          transform: rotate(90 -6 deg) translate(0, -172px);
        }
        i:nth-child(16) {
          transform: rotate(96 -6 deg) translate(0, -172px);
        }
        i:nth-child(17) {
          transform: rotate(102 -6 deg) translate(0, -172px);
        }
        i:nth-child(18) {
          transform: rotate(108 -6 deg) translate(0, -172px);
        }
        i:nth-child(19) {
          transform: rotate(114 -6 deg) translate(0, -172px);
        }
        i:nth-child(20) {
          transform: rotate(120 -6 deg) translate(0, -172px);
        }
        i:nth-child(21) {
          transform: rotate(126 -6 deg) translate(0, -172px);
        }
        i:nth-child(22) {
          transform: rotate(132 -6 deg) translate(0, -172px);
        }
        i:nth-child(23) {
          transform: rotate(138 -6 deg) translate(0, -172px);
        }
        i:nth-child(24) {
          transform: rotate(144 -6 deg) translate(0, -172px);
        }
        i:nth-child(25) {
          transform: rotate(150 -6 deg) translate(0, -172px);
        }
        i:nth-child(26) {
          transform: rotate(156 -6 deg) translate(0, -172px);
        }
        i:nth-child(27) {
          transform: rotate(162 -6 deg) translate(0, -172px);
        }
        i:nth-child(28) {
          transform: rotate(168 -6 deg) translate(0, -172px);
        }
        i:nth-child(29) {
          transform: rotate(174 -6 deg) translate(0, -172px);
        }
        i:nth-child(30) {
          transform: rotate(180 -6 deg) translate(0, -172px);
        }
        i:nth-child(31) {
          transform: rotate(186 -6 deg) translate(0, -172px);
        }
        i:nth-child(32) {
          transform: rotate(192 -6 deg) translate(0, -172px);
        }
        i:nth-child(33) {
          transform: rotate(198 -6 deg) translate(0, -172px);
        }
        i:nth-child(34) {
          transform: rotate(204 -6 deg) translate(0, -172px);
        }
        i:nth-child(35) {
          transform: rotate(210 -6 deg) translate(0, -172px);
        }
        i:nth-child(36) {
          transform: rotate(216 -6 deg) translate(0, -172px);
        }
        i:nth-child(37) {
          transform: rotate(222 -6 deg) translate(0, -172px);
        }
        i:nth-child(38) {
          transform: rotate(228 -6 deg) translate(0, -172px);
        }
        i:nth-child(39) {
          transform: rotate(234 -6 deg) translate(0, -172px);
        }
        i:nth-child(40) {
          transform: rotate(240 -6 deg) translate(0, -172px);
        }
        i:nth-child(41) {
          transform: rotate(246 -6 deg) translate(0, -172px);
        }
        i:nth-child(42) {
          transform: rotate(252 -6 deg) translate(0, -172px);
        }
        i:nth-child(43) {
          transform: rotate(258 -6 deg) translate(0, -172px);
        }
        i:nth-child(44) {
          transform: rotate(264 -6 deg) translate(0, -172px);
        }
        i:nth-child(45) {
          transform: rotate(270 -6 deg) translate(0, -172px);
        }
        i:nth-child(46) {
          transform: rotate(276 -6 deg) translate(0, -172px);
        }
        i:nth-child(47) {
          transform: rotate(282 -6 deg) translate(0, -172px);
        }
        i:nth-child(48) {
          transform: rotate(288 -6 deg) translate(0, -172px);
        }
        i:nth-child(49) {
          transform: rotate(294 -6 deg) translate(0, -172px);
        }
        i:nth-child(50) {
          transform: rotate(300 -6 deg) translate(0, -172px);
        }
        i:nth-child(51) {
          transform: rotate(306 -6 deg) translate(0, -172px);
        }
        i:nth-child(52) {
          transform: rotate(312 -6 deg) translate(0, -172px);
        }
        i:nth-child(53) {
          trans.........完整代码请登录后点击上方下载按钮下载查看

网友评论0