纯div+css无js代码实现一个三维秒表跑表码表计时效果代码

代码语言:html

所属分类:三维

代码描述:纯div+css无js代码实现一个三维秒表跑表码表计时效果代码,纯div+css代码,没有一行js代码。

代码标签: css 秒表 跑表 码表 计时 三维

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">


    <style>
        @import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@500&display=swap");
        .cuboid {
          width: 100%;
          height: 100%;
          position: relative;
        }
        .cuboid__side {
          filter: brightness(var(--b, 1));
          position: absolute;
        }
        .cuboid__side:nth-of-type(1) {
          --b: 1.1;
          height: calc(var(--depth, 20) * 1vmin);
          width: 100%;
          top: 0;
          transform: translate(0, -50%) rotateX(90deg);
        }
        .cuboid__side:nth-of-type(2) {
          --b: 0.9;
          height: 100%;
          width: calc(var(--depth, 20) * 1vmin);
          top: 50%;
          right: 0;
          transform: translate(50%, -50%) rotateY(90deg);
        }
        .cuboid__side:nth-of-type(3) {
          --b: 0.5;
          width: 100%;
          height: calc(var(--depth, 20) * 1vmin);
          bottom: 0;
          transform: translate(0%, 50%) rotateX(90deg);
        }
        .cuboid__side:nth-of-type(4) {
          --b: 1;
          height: 100%;
          width: calc(var(--depth, 20) * 1vmin);
          left: 0;
          top: 50%;
          transform: translate(-50%, -50%) rotateY(90deg);
        }
        .cuboid__side:nth-of-type(5) {
          --b: 0.8;
          height: 100%;
          width: 100%;
          transform: translate3d(0, 0, calc(var(--depth, 20) * 0.5vmin));
          top: 0;
          left: 0;
        }
        .cuboid__side:nth-of-type(6) {
          --b: 1.2;
          height: 100%;
          width: 100%;
          transform: translate3d(0, 0, calc(var(--depth, 20) * -0.5vmin)) rotateY(180deg);
          top: 0;
          left: 0;
        }
        :root {
          --stopwatch-size: 40;
          --stopwatch-depth: 10;
          --stopwatch-frame-depth: 4;
          --body-clip: polygon(25% 0, 75% 0, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0 75%, 0 25%);
          --state: paused;
          --bg: #ead9f2;
          --digit: #e6f2d9;
          --face: #0d1306;
          --content: #666;
          --glare: rgba(255,255,255,0.2);
          --stopwatch-frame: #667f99;
          --glass: rgba(204,229,255,0.15);
          --chord-one: #8c7373;
          --chord-two: #544545;
          --start: #80f20d;
          --reset: #f2330d;
        }
        *,
        *:after,
        *:before {
          box-sizing: border-box;
          transform-style: preserve-3d;
        }
        #start:checked ~ .stopwatch__content .ms--tens,
        #pause:checked ~ .stopwatch__content .ms--tens {
          --name: ms-tens;
        }
        #start:checked ~ .stopwatch__content .ms--singles,
        #pause:checked ~ .stopwatch__content .ms--singles {
          --name: ms-singles;
        }
        #start:checked ~ .stopwatch__content .s--tens,
        #pause:checked ~ .stopwatch__content .s--tens {
          --name: s-tens;
        }
        #start:checked ~ .stopwatch__content .s--singles,
        #pause:checked ~ .stopwatch__content .s--singles {
          --name: s-singles;
        }
        #start:checked ~ .stopwatch__content .m--tens,
        #pause:checked ~ .stopwatch__content .m--tens {
          --name: m-tens;
        }
        #start:checked ~ .stopwatch__content .m--singles,
        #pause:checked ~ .stopwatch__content .m--singles {
          --name: m-singles;
        }
        #start:checked ~ .stopwatch__content {
          --state: running;
        }
        #pause:checked ~ .stopwatch__content {
          --state: paused;
        }
        #start:checked ~ .stopwatch__body .stopwatch__start {
          z-index: -1;
          display: none;
        }
        #start:checked ~ .stopwatch__body .stopwatch__pause {
          display: block;
        }
        .stopwatch__start:active ~ .stopwatch__stop-start,
        .stopwatch__pause:active ~ .stopwatch__stop-start {
          --y: 25;
        }
        .stopwatch__reset:active ~ .stopwatch__restart {
          --y: 15;
        }
        @property --ms-tens {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        @property --ms-singles {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        @property --s-tens {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        @property --s-singles {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        @property --m-tens {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        @property --m-singles {
          initial-value: 0;
          inherits: false;
          syntax: '<integer>';
        }
        body {
          min-height: 100vh;
          display: grid;
          place-items: center;
          background: var(--bg);
          overflow: hidden;
          font-family: 'Orbitron', sans-serif;
        }
        [type='checkbox'] {
          position: fixed;
          width: 1px;
          height: 1px;
          padding: 0;
          margin: -1px;
          overflow: hidden;
          clip: rect(0, 0, 0, 0);
          white-space: nowrap;
          border-width: 0;
        }
        .scene {
          --rotate-y: 0;
          --rotate-x: 0;
          transform: translate(-50%, -50%);
          position: fixed;
          top: 50%;
          left: 50%;
          transition: transform 0.1s;
          transform: translate3d(-50%, -50%, 100vmin) rotateX(-24deg) rotateY(-24deg) rotateX(calc(var(--rotate-x, 0) * 1deg)) rotateY(calc(var(--rotate-y, 0) * 1deg));
        }
        .stopwatch {
          --depth: var(--stopwatch-depth);
          height: calc(var(--stopwatch-size, 50) * 1vmin);
          margin: 0;
          width: calc(var(--stopwatch-size, 50) * 1vmin);
        }
        .stopwatch__chords {
          height: 100vmax;
          width: 26%;
          position: absolute;
          top: 100%;
          left: 50%;
          transform: translate(-50%, 0);
        }
        .stopwatch__chord {
          height: 100%;
          width: 10%;
          position: absolute;
          top: 0;
        }
        .stopwatch.........完整代码请登录后点击上方下载按钮下载查看

网友评论0