当前位置:首页 > CSS

css制作钟表

2026-01-28 01:30:33CSS

使用CSS制作钟表

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

HTML结构

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

<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动态计算指针角度:

css制作钟表

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 字体库的步骤 准备字体文件 确保拥有字体文件的合法使用权,常见的格式包括 .woff、.woff2、.ttf 或 .otf。推荐使用 woff2 格式,因其压缩率更高且现代浏览器广泛支持…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

制作css导航栏实验

制作css导航栏实验

实验目标 通过CSS实现一个水平导航栏,包含悬停效果和响应式设计。 基本HTML结构 创建一个简单的导航栏HTML结构,使用<ul>和<li>标签组织导航项:…

css制作雪花

css制作雪花

CSS 制作雪花效果 使用纯CSS可以创建简单的雪花动画效果,主要通过伪元素、动画和变换实现。 基础雪花结构 <div class="snowflake"></div> 六…

css网页制作

css网页制作

CSS 网页制作基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键知识点和实用方法: 基本语法结构 CSS 规则由选择器和声明块组成: 选择器 { 属性: 值…

css制作导航条

css制作导航条

导航条基础结构 使用HTML构建导航条的基本结构,通常包含一个<nav>标签和多个<a>标签作为导航链接。示例代码如下: <nav class="navbar">…