首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3扇形倒计时

发布于 2024-11-11 15:35:27
0
24

CSS3扇形倒计时是一种独特的设计方式,可以在网页中实现令人印象深刻的倒计时效果。下面我们来详细了解一下该效果的实现方法。/定义样式/ .time { : relative; width: 100px...

CSS3扇形倒计时是一种独特的设计方式,可以在网页中实现令人印象深刻的倒计时效果。下面我们来详细了解一下该效果的实现方法。

/*定义样式*/
.time {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 20px auto;
}
.time .left_half, .time .right_half {
  position: absolute;
  width: 50%;
  height: 100%;
  overflow: hidden;
}
.time .left_half {
  left: 0;
}
.time .right_half {
  right: 0;
  border-radius: 50px 0 0 50px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.time .half_circle {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fe5f55;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}
.time .left_half .half_circle {
  -webkit-animation: left_half_rotation 60s linear infinite;
  animation: left_half_rotation 60s linear infinite;
}
.time .right_half .half_circle {
  -webkit-animation: right_half_rotation 60s linear infinite;
  animation: right_half_rotation 60s linear infinite;
}

/*定义动画*/
@-webkit-keyframes left_half_rotation {
  0% {
    -webkit-transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(180deg);
  }
}
@keyframes left_half_rotation {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
@-webkit-keyframes right_half_rotation {
  0% {
    -webkit-transform: rotate(180deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@keyframes right_half_rotation {
  0% {
    transform: rotate(180deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
} 

首先,我们需要定义样式。通过position属性,将两个半圆形的div标签定位在计时器的左半部分和右半部分。然后通过overflow: hidden属性,超出部分隐藏,形成扇形效果。用border-radius属性实现圆角效果,然后通过transform属性,旋转右半部分的半圆形div标签,使其与左半部分半圆形div标签拼接起来,形成一个完整的圆形。

接下来,定义动画效果。通过@keyframes关键字定义动画效果。用transform属性控制半圆形div标签的旋转,从而实现倒计时效果。最终通过animation属性将动画效果赋值给对应的div标签,实现倒计时效果的呈现。

通过以上的实现方法,我们可以轻松地实现一个炫酷的扇形倒计时效果,这种效果可以广泛应用于活动、抽奖、秒杀等场景。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流