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

css制作标尺

css制作标尺

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

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

css制作扇形图

css制作扇形图

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

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…

css制作炫酷按钮

css制作炫酷按钮

渐变背景按钮 使用CSS的linear-gradient属性创建渐变背景效果,结合阴影和过渡动画增强视觉冲击力。按钮悬停时通过改变渐变角度或颜色实现动态效果。 .gradient-btn { b…