当前位置:首页 > CSS

css制作闹钟

2026-04-01 13:20:52CSS

使用CSS制作闹钟

通过HTML和CSS可以创建一个简单的闹钟界面。以下是实现步骤:

HTML结构

<div class="alarm-clock">
  <div class="face">
    <div class="hour-hand"></div>
    <div class="minute-hand"></div>
    <div class="second-hand"></div>
    <div class="center-dot"></div>
  </div>
  <div class="digital-display">12:00:00</div>
  <div class="controls">
    <button class="set-btn">Set Alarm</button>
  </div>
</div>

CSS样式

.alarm-clock {
  width: 300px;
  margin: 50px auto;
  text-align: center;
}

.face {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #f5f5f5;
  border: 10px solid #333;
  position: relative;
  margin: 0 auto 20px;
}

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

.hour-hand {
  width: 6px;
  height: 50px;
  background: #333;
  margin-left: -3px;
}

.minute-hand {
  width: 4px;
  height: 70px;
  background: #666;
  margin-left: -2px;
}

.second-hand {
  width: 2px;
  height: 90px;
  background: red;
  margin-left: -1px;
}

.center-dot {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #333;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.digital-display {
  font-size: 2rem;
  font-family: monospace;
  margin-bottom: 20px;
}

.controls button {
  padding: 8px 16px;
  background: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

添加动画效果

要让时钟指针动起来,可以添加CSS动画:

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

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

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

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

@keyframes rotate-minute {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes rotate-second {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

数字显示更新

需要通过JavaScript来更新数字显示:

function updateDigitalDisplay() {
  const now = new Date();
  const hours = now.getHours().toString().padStart(2, '0');
  const minutes = now.getMinutes().toString().padStart(2, '0');
  const seconds = now.getSeconds().toString().padStart(2, '0');
  document.querySelector('.digital-display').textContent = `${hours}:${minutes}:${seconds}`;
}

setInterval(updateDigitalDisplay, 1000);
updateDigitalDisplay();

闹钟功能实现

添加简单的闹钟设置功能:

css制作闹钟

document.querySelector('.set-btn').addEventListener('click', function() {
  const alarmTime = prompt('Enter alarm time (HH:MM:SS)');
  if (alarmTime) {
    checkAlarm(alarmTime);
  }
});

function checkAlarm(alarmTime) {
  setInterval(function() {
    const now = new Date();
    const currentTime = now.toTimeString().split(' ')[0];
    if (currentTime === alarmTime) {
      alert('Alarm!');
    }
  }, 1000);
}

这个实现创建了一个模拟时钟和数字时钟的组合界面,包含基本的闹钟功能。可以根据需要进一步自定义样式和功能。

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

相关文章

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯 CSS 和少量 JavaScript 可以制作一个动态时钟。以下是实现步骤: HTML 结构 <div class="clock"> <div…

css制作二级菜单

css制作二级菜单

使用纯CSS制作二级菜单 通过CSS的:hover伪类和子选择器实现二级菜单的显示与隐藏。以下是一个典型的结构和样式示例: HTML结构 <nav class="menu"> &l…

css制作滑动页面

css制作滑动页面

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

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

css制作popup

css制作popup

CSS 制作 Popup 的方法 使用纯 CSS 创建基础 Popup 通过 HTML 和 CSS 结合,可以创建一个简单的弹出窗口。以下是一个基础实现: <div class="popup-…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。此方法适用于正方形元素,确保宽度和高度相等。 .circle { width: 10…