当前位置:首页 > 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按钮样式,可以通过以下代码实现。这个例子包含了按钮的基本属性,如背景色、边框、内边距和文字样式。 .button { background-color: #4C…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div class…

css如何制作三角形

css如何制作三角形

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

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

怎么制作风水罗盘css

怎么制作风水罗盘css

制作风水罗盘CSS 使用CSS创建一个风水罗盘(八卦罗盘)需要结合HTML和CSS技术,通过层叠样式表绘制罗盘的各个部分。以下是实现方法: 基本结构 创建HTML结构,包含罗盘的外圆、内圆、八卦符号…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…