纯CSS实现倒计时动画

实现原理

a.外盒子div.cell,一个字的宽和高,超过不显示,确保只能显示一个字。

b.内盒子div.num,一个字的宽,行高一个字高,我们通过这个盒子的移动实现动画。

c.内盒子的移动动画的animation-timing-function使用step

d.倒计时结束,外盒子动画消失掉

实现过程

好的,来看看实现过程,html文件是这样的,中文的倒计时也可以,不过中文的网络字体太少,所以没弄,感兴趣的同学可以弄起来。

  1. <div class="cell">  
  2.   <div class="num">5 4 3 2 1 0</div>  
  3.   <!--<div class="num">五 四 三 二 一 零</div>-->  
  4. </div>  
CSS部分使用prefix free和normailize,另外为了实现英文字体,我们用了google字体,你需要导入这个文件

http://fonts.googleapis.com/css?family=Allura|Frijole|Varela+Round

  1. body{  
  2.   background:#333;  
  3. }  
  4. .cell{  
  5.     width1em;    
  6.     height1em;  
  7.     border:1px dashed rgba(255,255,255,0.1);  
  8.     font-size:120px;  
  9.     font-family:Frijole;  
  10.     overflowhidden;  
  11.     position:absolute;  
  12.     top:50%;  
  13.     left:50%;  
  14.     margin:-0.5em 0 0  -0.5em;  
  15.     opacity:0;  
  16.     animation:go 6s;  
  17.     transform-origin:left bottom;  
  18. }  
  19. .num{  
  20.     position:absolute;  
  21.     width1em;  
  22.     color:#E53F39;  
  23.     line-height1em;    
  24.     text-aligncenter;  
  25.     text-shadow:1px 1px 2px rgba(255,255,255,.3);  
  26.     animation:run 6s steps(6);  
  27. }  
  28. @keyframes run{  
  29.     0%{top:0;}  
  30.     100%{top:-6em;}  
  31. }  
  32. @keyframes go{  
  33.   0%   {opacity:1;}  
  34.   84%  {opacity:1;transform:rotate(0deg) scale(1);}  
  35.   100% {opacity:0;transform:rotate(360deg) scale(.01);}  
  36. }  
嗯,完工!
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值