当前位置:首页 > 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动画创建模拟时钟指针旋转效果。

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变换创建数字翻页的时钟效果。

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实现

css制作时间

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导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> <…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css制作按钮

css制作按钮

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