js+css实现实时显示当前时间的led时钟走动效果代码

代码语言:html

所属分类:其他

代码描述:js+css实现实时显示当前时间的led时钟走动效果代码

代码标签: js css 实时 显示 当前 时间 led 时钟 走动

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

<!DOCTYPE html>
<html lang="zh-CN">

<head>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

<style>
    * {
  /* 常规初始化操作 */
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  /* 常规居中 */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;

  min-height: 100vh;
  /* 简单背景色 */
  background: linear-gradient(
    to top,
    #d3d3d3 0%,
    #e0e0e0 25%,
    #efefef 50%,
    #d9d9d9 75%,
    #bcbcbc 100%
  );
}

.box {
  /* 使用 css 变量,方便统一修改大小颜色等 */
  /* 数字基础色 */
  --color: #1e1e22;
  /* 数字亮起来的红色 */
  --color-active: #ff0000;
  /* 数字单个 led灯 的厚度 */
  --number-thickness: 1.5vmin;
  /* 数字单个 led灯 的长度 */
  --number-length: 4.5vmin;
  /* 数字单个 led灯 之间的间距 */
  --number-gap: 0.1vmin;

  /* 平铺开父盒子内所有数字元素 */
  display: flex;
  gap: calc(var(--number-thickness) * 1.5);

  /* 父盒子大背景色 */
  background-color: #060606;
  /* 大边框 */
  border: calc(var(--number-thickness) * 1.5) solid #363636;
  /* 大圆角 */
  border-radius: calc(var(--number-thickness) * 3);
  /* 父盒子内部撑开的距离 */
  padding: calc(var(--number-thickness) * 2);
  /* 父盒子外部阴影 */
  box-shadow: 0 6vmin 20vmin rgba(0, 0, 0, 0.6);
}

.colon {
  /* 两点冒号,竖向排开 */
  display: flex;
  justify-content: center;
  flex-direction: column;
  /* 间距按大致比例加减 */
  gap: calc(var(--number-thickness) * 2.5);
}
.colon::before,
.colon::after {
  content: "";

  /* 两个点的宽高,圆,背景色 */
  width: var(--number-thickness);
  height: var(--number-thickness);
  border-radius: 50%;
  background-color: var(--color-active);
  /* 灯光亮起的一点扩散阴影 */
  filter: drop-shadow(0 0 1vmin var(--color-active));
}

.box .number {
  display: grid;
  /* 数字单个 led灯 之间的间距 */
  gap: var(--number-gap);
  /* 使用 grid-template 来布局 7个led灯 的位置和大小 */
  grid-template:
    ".... r1c2 ...." var(--number-thickness)
    "r2c1 .... r2c3" var(--number-length)
    ".... r3c2 ...." var(--number-thickness)
    "r4c1 .... r4c3" var(--number-length)
    ".... r5c2 ...." var(--number-thickness) /
    var(--number-thickness) var(--number-length) var(--number-thickness);
}

.box .number span {
  /* 每个 led灯的元素绑定 grid-template 模板的名称,和上面对应 */
  grid-area: var(--ga-name);
  /* 数字基础色 */
  background-color: var(--color);
  /* 圆角 */
  border-radius: var(--number-thickness);
}

.box .number span.active {
  /* 数字亮起来的颜色 */
  background-color: var(--color-active);
  /* 灯光亮起的一点扩散阴影 */
  filter: drop-shadow(0 0 0.75vmin var(--color-active));
}

</style>

</head>

<body>

  <!-- 父盒子 -->
  <div class="box">
    <!-- 每个数字元素,每个数字包含 7段 led灯 -->
    <div class="number">
      <span style="--ga-name:r1c2"></span>
      <span style="--ga-name:r2c1"></span>
      <span style="--ga-name:r2c3"></span>
      <span style="--ga-name:r3c2"></span>
      <span style="--ga-name:r4c1"></span>
      <span style="--ga-name:r4c3"></span>
      <span style="--ga-name:r5c2"></span>
    </div>
    <div class="number">
      <span style="--ga-name:r1c2"></span>
      <span style="--ga-name:r2c1"></span>
      <span style="--ga-name:r2c3"></span>
      <span style="--ga-name:r3c2"></span>
      <span style="--ga-name:r4c1"></span>
      <span style="--ga-name:r4c3"></span>
      <span style="--ga-name:r5c2"></span>
    </div>

    <!-- 时分秒中间的两点 -->
    <div class="colon"></div>

    <div class="number">
      <span style="--ga-name:r1c2"></span>
      <span style="--ga-name:r2c1"></span>
      <span style="--ga-name:r2c3"></span>
      <span style="--ga-name:r3c2"></span>
      <span style="--ga-name:r4c1"></span>
      <span style="--ga-name:r4c3"></span>
      <span style="--ga-name:r5c2"></span>
    </div>
    <div class="number">
      <span style="--ga-name:r1c2">&l.........完整代码请登录后点击上方下载按钮下载查看

网友评论0