当前位置:首页 > CSS

纯css制作钟表

2026-02-13 11:02:10CSS

使用纯CSS制作钟表

HTML结构

创建一个基本的HTML结构,包含钟表的各个部分:表盘、时针、分针和秒针。

<div class="clock">
  <div class="clock-face">
    <div class="hand hour-hand"></div>
    <div class="hand min-hand"></div>
    <div class="hand sec-hand"></div>
  </div>
</div>

CSS样式

通过CSS实现钟表的外观和动画效果。

表盘样式

纯css制作钟表

.clock {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background-color: #f0f0f0;
  position: relative;
  margin: 50px auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.clock-face {
  width: 100%;
  height: 100%;
  position: relative;
}

指针样式

.hand {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: 50% 100%;
  background-color: #333;
}

.hour-hand {
  width: 6px;
  height: 80px;
  margin-left: -3px;
}

.min-hand {
  width: 4px;
  height: 120px;
  margin-left: -2px;
}

.sec-hand {
  width: 2px;
  height: 140px;
  margin-left: -1px;
  background-color: red;
}

动画效果 使用CSS动画实现指针的旋转。

纯css制作钟表

.clock-face {
  animation: rotate 43200s infinite linear;
}

.hour-hand {
  animation: rotate 43200s infinite linear;
}

.min-hand {
  animation: rotate 3600s infinite linear;
}

.sec-hand {
  animation: rotate 60s infinite linear;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

刻度标记

为表盘添加刻度标记,增强视觉效果。

.clock-face::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: #333;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.clock-face::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 50%;
  box-sizing: border-box;
  border: 2px solid #333;
}

刻度线

.clock-face {
  background-image: 
    linear-gradient(0deg, transparent 50%, #333 50%),
    linear-gradient(30deg, transparent 50%, #333 50%),
    linear-gradient(60deg, transparent 50%, #333 50%),
    linear-gradient(90deg, transparent 50%, #333 50%),
    linear-gradient(120deg, transparent 50%, #333 50%),
    linear-gradient(150deg, transparent 50%, #333 50%),
    linear-gradient(180deg, transparent 50%, #333 50%),
    linear-gradient(210deg, transparent 50%, #333 50%),
    linear-gradient(240deg, transparent 50%, #333 50%),
    linear-gradient(270deg, transparent 50%, #333 50%),
    linear-gradient(300deg, transparent 50%, #333 50%),
    linear-gradient(330deg, transparent 50%, #333 50%);
  background-size: 100% 100%;
}

最终效果

通过以上代码,可以创建一个纯CSS实现的钟表,包含时针、分针和秒针的动画效果,以及表盘的刻度标记。指针会按照实际时间比例旋转,实现动态显示时间。

标签: 钟表css
分享给朋友:

相关文章

css字体制作

css字体制作

CSS字体设置基础 在CSS中设置字体主要通过font-family属性实现,可以指定多个字体作为备选。系统会优先使用第一个可用字体。 body { font-family: "Helvetic…

css制作六边形

css制作六边形

使用CSS创建六边形的方法 通过CSS的clip-path属性可以轻松实现六边形效果。以下是一个基础示例: .hexagon { width: 100px; height: 55px;…

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

css制作网站导航

css制作网站导航

使用CSS制作网站导航的方法 水平导航栏 通过display: inline-block或flexbox布局实现水平导航栏。设置背景色、间距和悬停效果增强交互性。 .navbar { backg…

css制作许愿墙六块

css制作许愿墙六块

CSS 制作许愿墙六块布局 使用 CSS 创建一个六块许愿墙布局可以通过多种方式实现,以下是两种常见的方法:使用 CSS Grid 或 Flexbox。以下代码示例展示了如何实现这两种布局。 方法一…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…