10种炫酷时间计时loading动画效果

当前位置:主页 > CSS3库 > CSS3动画 > 10种炫酷时间计时loading动画效果
10种炫酷时间计时loading动画效果
分享:

    插件介绍

    这是一款炫酷的时间计时loading动画效果。该时间计时loading动画效果通过css3的keyframes来制作,共10种不同的效果,非常炫酷。

    浏览器兼容性

    浏览器兼容性
    时间:01-24
    阅读:
简要教程

这是一款炫酷的时间计时loading动画效果。该时间计时loading动画效果通过css3的keyframes来制作,共10种不同的效果,非常炫酷。

使用方法

HTML代码
<div class="time-1"></div>
<div class="time-2"></div>
<div class="time-3"></div>
<div class="time-4"></div>
<div class="time-5"></div>
<div class="time-6"></div>
<div class="time-7"></div>
<div class="time-8"></div>
<div class="time-9"></div>
<div class="time-10"></div>
		

CSS代码

.time-1 {
  width: 60px;
  height: 60px;
  border:4px solid;
  border-radius: 50%;
  display: flex;
  background: 
    radial-gradient(circle 5px, currentColor 95%,#0000),
    linear-gradient(currentColor 50%,#0000 0) center/4px 60% no-repeat;
  animation: t1 2s infinite linear;
}
.time-1:before {
  content: "";
  flex:1;
  background:linear-gradient(currentColor 50%,#0000 0) center/4px 80% no-repeat;
  animation: inherit;
}

@keyframes t1 {
  100% {transform: rotate(1turn)}
}

.time-2 {
  width: 40px;
  height: 40px;
  border:2px solid;
  position: relative;
  background: 
    radial-gradient(circle 3px, currentColor 95%,#0000),
    linear-gradient(      currentColor 50%,#0000 0) center/3px 80% no-repeat,
    linear-gradient(90deg,currentColor 50%,#0000 0) center/60% 3px no-repeat;
}
.time-2:before {
  content: "";
  position: absolute;
  height: 50px;
  inset:100% 10% auto;
  background:
    radial-gradient(circle closest-side at 50% calc(100% - 10px), currentColor 94%,#0000),
    linear-gradient(currentColor 0 0) top/3px 80% no-repeat;
  transform-origin: top;
  animation: t2 2s infinite cubic-bezier(0.5,200,0.5,-200);
}

@keyframes t2 {
  100% {transform: rotate(0.4deg)}
}

.time-3 {
  display: flex;
  border:2px solid;
  background:
    linear-gradient(currentColor 0 0) 50% calc(50% - 5px)/5px 5px,
    linear-gradient(currentColor 0 0) 50% calc(50% + 5px)/5px 5px;
  background-repeat: no-repeat;
}
.time-3::before,
.time-3::after {
  content: "12 00 23 40 31 45 60 17 45 32 29 42 50 08 14 07 46 11 03 55";
  font-size: 30px;
  font-family: monospace;
  font-weight: bold;
  line-height: 1em;
  height: 1em;
  width:2ch;
  color: #0000;
  text-shadow:0 0 0 #000;
  overflow: hidden;
  margin:5px 10px; 
  animation:t3 1s steps(20) infinite;
}
.time-3::before {
  animation-duration: 1.5s;
}

@keyframes t3 {
  100% {text-shadow:0 -20em 0 #000}
}

.time-4 {
  display: flex;
  border:10px solid;
  border-radius: 5px;
}
.time-4::before,
.time-4::after {
  content: "0 1 2 3 4 5 6 7 8 9 0";
  font-size: 30px;
  font-family: monospace;
  font-weight: bold;
  line-height: 1em;
  height: 1em;
  width:1.2ch;
  text-align: center;
  outline:1px solid #000;
  color: #0000;
  text-shadow:0 0 0 #000;
  overflow: hidden; 
  animation:t4 2s infinite linear;
}
.time-4::before {
  animation-duration: 4s;
}

@keyframes t4 {
  100% {text-shadow:0 var(--t,-10em) 0 #000}
}


.time-5 {
  --c1:#673b14;
  --c2:#f8b13b;
  width:40px;
  height:80px;
  border-top:4px solid var(--c1);
  border-bottom:4px solid var(--c1);
  background: linear-gradient(90deg, var(--c1) 2px, var(--c2) 0 5px,var(--c1) 0) center/7px 8px no-repeat;
  display: grid;
  overflow: hidden;
  animation:t5-0 2s infinite linear;
}
.time-5::before,
.time-5::after {
  content: "";
  grid-area: 1/1;
  width: 75%;
  height: calc(50% - 4px);
  margin: 0 auto;
  border: 2px solid var(--c1);
  border-top: 0;
  border-radius: 0 0 40% 40%;
  -webkit-mask: 
    linear-gradient(#000 0 0) bottom/4px 2px no-repeat,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite:exclude;
  background: 
    linear-gradient(var(--d,0deg),var(--c2) 50%,#0000 0) bottom /100% 205%,
    linear-gradient(var(--c2) 0 0) center/0 100%;
  background-repeat: no-repeat;
  animation:inherit;
  animation-name: t5-1;
}

.time-5::after {
  transform-origin: 50% calc(100% + 2px);
  transform: scaleY(-1);
  --s:3px;
  --d:180deg;
}

@keyframes t5-0 {
  80%  {transform: rotate(0)}
  100% {transform: rotate(0.5turn)}
}

@keyframes t5-1 {
  10%,70%  {background-size:100% 205%,var(--s,0) 100%}
  70%,100% {background-position: top,center}
}

.time-6 {
  width: 60px;
  height: 60px;
  border:10px solid;
  border-radius: 50%;
  animation: t6 2s infinite linear;
  position: relative;
}

.time-6:before {
  content: "";
  position: absolute;
  height: 20px;
  inset:auto calc(50% - 10px) 100%;
  border-radius: 5px 5px 0 0;
  background: 
    linear-gradient(currentColor 0 0) top/100% 30%,
    linear-gradient(currentColor 0 0) top/50% 100%;
  background-repeat: no-repeat;
}
.time-6:after {
  content: "";
  position: absolute;
  inset:-8px -10px auto;
  height:15px;
  background: 
    radial-gradient(farthest-side,currentColor 94%,#0000) left,
    radial-gradient(farthest-side,currentColor 94%,#0000) right;
  background-size:15px 15px;
  background-repeat: no-repeat;
}

@keyframes t6 {
  0%   {background: conic-gradient(#77a4bd 0     ,#0000 0)}
  12.5%{background: conic-gradient(#77a4bd 45deg ,#0000 46deg)}
  25%  {background: conic-gradient(#77a4bd 90deg ,#0000 91deg)}
  37.5%{background: conic-gradient(#77a4bd 135deg,#0000 136deg)}
  50%  {background: conic-gradient(#77a4bd 180deg,#0000 181deg)}
  62.5%{background: conic-gradient(#77a4bd 225deg,#0000 226deg)}
  75%  {background: conic-gradient(#77a4bd 270deg,#0000 271deg)}
  87.5%{background: conic-gradient(#77a4bd 315deg,#0000 316deg)}
  100% {background: conic-gradient(#77a4bd 360deg,#0000 360deg)}
}


.time-7 {
  width: 60px;
  height: 60px;
  border:3px solid;
  border-radius: 50%;
  display: grid;
  background: 
    radial-gradient(circle 3px, currentColor 95%,#0000),
    linear-gradient(currentColor 50%,#0000 0) center/2px 60% no-repeat;
}
.time-7:before,
.time-7:after {
  content: "";
  grid-area: 1/1;
}
.time-7:before {
  background:repeating-conic-gradient(from -2deg, #000 0 4deg,#0000 0 90deg);
  -webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 6px),#000 0);
}
.time-7:after {
  background:linear-gradient(currentColor 50%,#0000 0) center/2px 80% no-repeat;
  animation: t7 1s infinite;
}

@keyframes t7 {
  0%,
  100% {transform: rotate(30deg)}
  90%  {transform: rotate(42deg)}
  95%  {transform: rotate(15deg)}
}

.time-8 {
  background:#000;
  padding:0 8px;
  font-size: 30px;
  font-family: monospace;
  color: #fff;
  font-weight: bold;
  border-radius: 8px;
  position: relative;
}
.time-8::before{
  content: "08:00";
  white-space: pre;
  animation:t8 .5s infinite;
}
.time-8::after{
   content: "";
   position: absolute;
   inset:auto auto 100% 10px;
   height:5px;
   width:40%;
   background:linear-gradient(90deg,red 40%,#0000 0 60%,#444 0);
}

@keyframes t8 {
  100% {content:"  :  "}
}

.time-9 {
  width: 50px;
  height: 50px;
  color:#ce0800;
  border:7px solid;
  border-radius: 50%;
  position: relative;
  background: 
    radial-gradient(circle 3px, #000 95%,#0000),
    linear-gradient(180deg,#000 50%,#0000 0) center/3px 70%,
    linear-gradient(90deg ,#000 50%,#0000 0) center/50% 3px;
  background-repeat: no-repeat;
  animation: t9 1s infinite;
}
.time-9:before,
.time-9:after {
  content: "";
  position: absolute;
  border-radius: 20px 20px 0 0;
  inset:-20px calc(50% - 10px);
  transform: rotate(40deg);
  background: 
      linear-gradient(currentColor 0 0) top   /100% 10px,
      linear-gradient(currentColor 0 0) bottom/3px  10px;
  background-repeat: no-repeat;
}
.time-9:after {
  transform: rotate(-40deg);
}

@keyframes t9 {
  0%,70%,100% {transform: translateY(0)    rotate(0)}
  75%,85%,95% {transform: translateY(-3px) rotate(10deg)}
  80%,90%     {transform: translateY(-3px) rotate(-10deg)}
}

.time-10 {
  width: 60px;
  height: 40px;
  position: relative;
}
.time-10::after {
  content: "";
  position: absolute;
  inset:0;
  --c:;
  background:
    radial-gradient(farthest-side at bottom   ,#ffc10a 92%,#0000)   top          /30px 15px,
    radial-gradient(farthest-side at top left ,#0000   92%,#ffc10a) bottom left / 15px 20px,
    radial-gradient(farthest-side at top right,#0000   92%,#ffc10a) bottom right/ 15px 20px,
    linear-gradient(#ffc10a 0 0) bottom/30px 26px;
  background-repeat: no-repeat;
  transform-origin: 50% -3px;
  animation: t10-1 .5s infinite alternate linear;
}
.time-10::before {
  content: "";
  position: absolute;
  inset:-6px calc(50% - 10px) -10px;
  background: 
     radial-gradient(farthest-side,#ff9f04 90%,#0000) top   /10px 10px, 
     radial-gradient(farthest-side,#ff9f04 90%,#0000) bottom/20px 20px;
  background-repeat: no-repeat;
  transform-origin: 50% 3px;
  animation: t10-2 .5s infinite alternate linear;
}

@keyframes t10-1 {
  0%   {transform: rotate(-30deg)}
  100% {transform: rotate(30deg)}
}

@keyframes t10-2 {
  0%   {transform: rotate(-20deg)}
  100% {transform: rotate(20deg)}
}
		

codepen网址:https://codepen.io/t_afif/details/eYvyyyd