js+css实现中性圆环进度式时钟显示时间日期代码

代码语言:html

所属分类:其他

代码描述:js+css实现中性圆环进度式时钟显示时间日期代码

代码标签: js css 中性 圆环 进度式 时钟 显示 时间 日期 代码

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

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  


  
  <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Rubik+Pixels&amp;display=swap'>
  
<style>
* {
  box-sizing: border-box;
  margin: 0;
}

:root {
  --clock-width: 50vw;
  --width: calc(var(--clock-width) / 15);
  /* bar width */
  --hour-deg: 50deg;
  --min-deg: 180deg;
  --sec-deg: 120deg;
  --color: #6a4eef;
}

body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background-color: #b9b6b4;
}

.clock {
  width: var(--clock-width);
  aspect-ratio: 1/1;
  position: relative;
  border-radius: 100vmax;
  container-type: inline-size;
  container-name: datecontainer;
  box-shadow: -1em -0.5em 1.5em 1em #d2d0ce, 1em 0.5em 3.5em 1.5em #88837f, inset -1em -0.5em 0.25em 0 rgba(234, 233, 233, 0.5), inset 1em 0.5em 0.5em 0 rgba(136, 131, 127, 0.5);
}

.hour, .min, .sec {
  position: absolute;
  aspect-ratio: 1/1;
  /*background-image:
     radial-gradient(
       50% 50% at 50% 50%,
       transparent calc(100% - var(--width)),
  		darken($bg, 20%) calc(100% - (var(--width) * .6)),
  		var(--color) calc(100% - (var(--width) * .6)) calc(100% - (var(--width) * .4)),
  		lighten($bg, 20%) calc(100% - (var(--width) * .6)) calc(100% - (var(--width) * .4)),
       transparent 100%);
  */
  background-image: radial-gradient(50% 50% at 50% 50%, transparent calc(100% - (var(--width) * .5)), var(--color) 0% 100%, transparent 100%);
  background-repeat: no-repeat;
  border-radius: 100vmax;
  /* box-shadow: 
     calc(-1 * (var(--width) * .25)) calc(-1 * (var(--width) * .125)) calc((var(--width) * .25)) 0 lighten($bg, 10%),
  	calc((var(--width) * .25)) calc((var(--width) * .125)) calc((var(--width) * .25)) 0 darken($bg, 20%);

  filter: drop-shadow(calc(-1 * (var(--width) * .25)) calc(-1 * (var(--width) * .125)) calc((var(--width) * .25))  lighten($bg, 10%))
     drop-shadow(calc((var(--width) * .25)) calc((var(--width) * .125)) calc((var(--width) * .25))  darken($bg, 20%));
  */
}

.cont {
  position: absolute;
  inset: 0;
  border-radius: 100vmax;
  box-shadow: calc(-1 * (var(--width) * .25)) calc(-1 * (var(--width) * .125)) calc((var(--width) * .25)) 0 #d2d0ce, calc((var(--width) * .25)) calc((var(--width) * .125)) calc((var(--width) * .25)) 0 #88837f;
}

.cont.h {
  inset: calc(var(--width) * 1);
}

.cont.m {
  inset: calc(var(--width) * 2);
}

.cont.s {
  inset: calc(var(--width) * 3);
}

.hour {
  inset: 0;
  --color: #ba3667;
  -webkit-mask-image: conic-gradient(#0005 0deg, #000 calc(var(--hour-deg) - (var(--hour-deg) * .2)), #0005 calc(var(--hour-deg)), #000 calc(var(--hour-deg) + 1deg), #0002 0);
  mask-image: conic-gradient(#0005 0deg, #000 calc(var(--hour-deg) - (var(--hour-deg) * .2)), #0005 calc(var(--hour-deg)), #000 calc(var(--hour-deg) + 1deg), #0002 0);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.min {
  inset: 0;
  --color: #28fb90;
  -webkit-mask-image: conic-gradient(#0005 0deg, #000 calc(var(--min-deg) - (var(--min-deg) * .2)), #0005 calc(var(--min-deg)), #000 calc(var(--min-deg) + 1deg), #0002 0);
  mask-image: conic-gradient(#0005 0deg, #000 calc(var(--min-deg) - (var(--min-deg) * .2)), #0005 calc(var(--min-deg)), #000 calc(var(--min-deg) + 1deg), #0002 0);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.sec {
  inset: 0;
  --color: #3451f0;
  -webkit-mask-image: conic-gradient(#0005 0deg, #000 calc(var(--sec-deg) - (var(--sec-deg) * .2)), #0005 calc(var(--sec-deg)), #000 calc(var(--sec-deg) + 1deg), #0002 0);
  mask-image: conic-gradient(#0005 0deg, #000 calc(var(--sec-deg) - (var(--sec-deg) * .2)), #0005 calc(var(--sec-deg)), #000 calc(var(--sec-deg) + 1deg), #0002 0);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.clock-face {
  position: absolute;
  inset: calc(3 * var(--width));
  z-index: 8;
  font-size: var(--width);
  opacity: 0.3;
  border: 1px solid #1f202050;
  border-radius: 100vmax;
  box-shadow: inset 0px 0px 1vw 2vw #0001;
  text-shadow: 1.5px 1.5px 0px #fff;
}
.clock-face :nth-child(1) {
  --nth-child: 1 ;
}
.clock-face :nth-child(2) {
  --nth-child: 2 ;
}
.clock-face :nth-c.........完整代码请登录后点击上方下载按钮下载查看

网友评论0