当前位置:首页 > CSS

css制作钟表

2026-01-28 01:30:33CSS

使用CSS制作钟表

制作一个CSS钟表主要依赖CSS动画和transform属性,结合HTML结构实现时针、分针和秒针的旋转效果。

css制作钟表

HTML结构

基础的HTML结构包含钟表的外壳和三个指针:

css制作钟表

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

CSS样式

通过CSS定义钟表的外观和指针动画:

.clock {
  width: 200px;
  height: 200px;
  border: 10px solid #333;
  border-radius: 50%;
  position: relative;
  margin: 50px auto;
}

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

.hour-hand {
  width: 6px;
  height: 50px;
  background: #333;
  transform: translateX(-50%) rotate(0deg);
  animation: rotate-hour 43200s infinite linear;
}

.min-hand {
  width: 4px;
  height: 80px;
  background: #666;
  transform: translateX(-50%) rotate(0deg);
  animation: rotate-min 3600s infinite linear;
}

.sec-hand {
  width: 2px;
  height: 90px;
  background: #f00;
  transform: translateX(-50%) rotate(0deg);
  animation: rotate-sec 60s infinite linear;
}

@keyframes rotate-hour {
  from { transform: translateX(-50%) rotate(0deg); }
  to { transform: translateX(-50%) rotate(360deg); }
}

@keyframes rotate-min {
  from { transform: translateX(-50%) rotate(0deg); }
  to { transform: translateX(-50%) rotate(360deg); }
}

@keyframes rotate-sec {
  from { transform: translateX(-50%) rotate(0deg); }
  to { transform: translateX(-50%) rotate(360deg); }
}

实时动态效果

若需显示当前时间,可通过JavaScript动态计算指针角度:

function updateClock() {
  const now = new Date();
  const hour = now.getHours() % 12;
  const min = now.getMinutes();
  const sec = now.getSeconds();

  document.querySelector('.hour-hand').style.transform = 
    `translateX(-50%) rotate(${(hour * 30) + (min * 0.5)}deg)`;
  document.querySelector('.min-hand').style.transform = 
    `translateX(-50%) rotate(${min * 6}deg)`;
  document.querySelector('.sec-hand').style.transform = 
    `translateX(-50%) rotate(${sec * 6}deg)`;
}

setInterval(updateClock, 1000);
updateClock(); // 初始化

细节优化

  • 添加钟表刻度:通过伪元素在钟表边缘添加12个刻度标记。
  • 中心点装饰:用一个小圆点覆盖指针根部,隐藏连接缝隙。
  • 响应式设计:使用vw/vh单位或媒体查询适配不同屏幕尺寸。

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

相关文章

css 制作按钮

css 制作按钮

基础按钮样式 使用CSS创建一个基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单示例: .button { pa…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc"> &…

css制作彩虹

css制作彩虹

使用线性渐变创建彩虹效果 通过CSS的linear-gradient属性可以轻松实现彩虹效果。以下是一个基础的彩虹样式代码: .rainbow { width: 100%; height:…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…