当前位置:首页 > CSS

css制作时间

2026-02-12 22:10:26CSS

使用CSS制作时间显示

通过CSS的伪元素和content属性结合JavaScript动态更新时间,可以创建纯前端的时间显示效果。

HTML结构

<div class="time-display" id="time"></div>

CSS样式

.time-display {
  font-family: 'Arial', sans-serif;
  font-size: 2rem;
  color: #333;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  padding: 20px;
  border-radius: 10px;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.time-display::before {
  content: "🕒 ";
}

JavaScript动态更新

function updateTime() {
  const now = new Date();
  document.getElementById('time').textContent = 
    now.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
}
setInterval(updateTime, 1000);
updateTime();

动画时钟效果

使用CSS动画创建模拟时钟指针旋转效果。

css制作时间

HTML结构

<div class="analog-clock">
  <div class="hour-hand"></div>
  <div class="minute-hand"></div>
  <div class="second-hand"></div>
</div>

CSS样式

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

.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;
  animation: rotate 43200s linear infinite;
}

.minute-hand {
  width: 4px;
  height: 80px;
  background: #666;
  margin-left: -2px;
  animation: rotate 3600s linear infinite;
}

.second-hand {
  width: 2px;
  height: 90px;
  background: red;
  margin-left: -1px;
  animation: rotate 60s linear infinite;
}

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

数字时钟翻页效果

使用CSS变换创建数字翻页的时钟效果。

css制作时间

HTML结构

<div class="flip-clock">
  <div class="flip-hour"></div>
  <div class="flip-minute"></div>
  <div class="flip-second"></div>
</div>

CSS样式

.flip-clock {
  display: flex;
  gap: 10px;
  font-size: 5rem;
  perspective: 1000px;
}

.flip-hour, .flip-minute, .flip-second {
  position: relative;
  width: 80px;
  height: 120px;
}

.flip-hour::before, .flip-minute::before, .flip-second::before {
  content: attr(data-current);
  position: absolute;
  width: 100%;
  height: 100%;
  background: #222;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

.flip-hour::after, .flip-minute::after, .flip-second::after {
  content: attr(data-next);
  position: absolute;
  width: 100%;
  height: 100%;
  background: #333;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transform: rotateX(90deg);
  transform-origin: bottom;
}

.flip-animate::after {
  animation: flip 0.5s ease-in forwards;
}

@keyframes flip {
  from { transform: rotateX(90deg); }
  to { transform: rotateX(0deg); }
}

JavaScript实现

function updateFlipClock() {
  const now = new Date();
  const hours = String(now.getHours()).padStart(2, '0');
  const minutes = String(now.getMinutes()).padStart(2, '0');
  const seconds = String(now.getSeconds()).padStart(2, '0');

  document.querySelector('.flip-hour').dataset.current = hours;
  document.querySelector('.flip-minute').dataset.current = minutes;
  document.querySelector('.flip-second').dataset.current = seconds;

  // 添加动画类
  document.querySelector('.flip-second').classList.add('flip-animate');

  setTimeout(() => {
    document.querySelector('.flip-hour').dataset.next = hours;
    document.querySelector('.flip-minute').dataset.next = minutes;
    document.querySelector('.flip-second').dataset.next = seconds;
    document.querySelector('.flip-second').classList.remove('flip-animate');
  }, 500);
}

setInterval(updateFlipClock, 1000);
updateFlipClock();

标签: 时间css
分享给朋友:

相关文章

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%;…

css制作开关

css制作开关

使用纯CSS制作开关 通过CSS的伪元素和input[type="checkbox"]可以创建自定义开关样式。关键点在于隐藏原生复选框,用CSS重新设计外观。 <label class="s…

制作 .css

制作 .css

创建 CSS 文件的基本步骤 新建一个文本文件,将其保存为 .css 扩展名(例如 style.css)。使用纯文本编辑器(如 Notepad++、VS Code 或 Sublime Text)编写…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的伪元素和边框属性可以创建简单的几何形状图标。例如,制作一个三角形图标: .triangle { width: 0; heigh…

css sprites制作

css sprites制作

CSS Sprites 制作方法 CSS Sprites 是一种将多个小图标或图片合并成一张大图的技术,通过减少 HTTP 请求提升网页加载性能。 准备工作 需要将多个小图标或图片合并为一张大图,…