关于HTML5和CSS3的时钟应用在之前我们已经分享过不少了,还有一些HTML5的日期选择应用。今天我们要分享一款基于HTML5和CSS3的圆盘秒表动画,秒表可以精确到0.001秒,并且可以在计时过程中暂停计时,同时秒表可以随时重置。

在线演示

下面来分析一下实现的源代码,主要由HTML和CSS代码组成,CSS相对比较复杂,因为涉及到动画。

HTML代码:

<input id="help" name="controls" type="checkbox" />
<input id="settings" name="controls" type="checkbox" /> <input id="orange" name="color" type="radio" />
<input id="green" name="color" type="radio" checked="checked" /> <div> <input id="start" name="controls" type="radio" />
<input id="stop" name="controls" type="radio" />
<input id="reset" name="controls" type="radio" /> <div>
<div>
<div>
</div>
</div> <div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
:
</div> <div>
<div>
0 1 2 3 4 5
</div>
</div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
:
</div> <div>
<div>
0 1 2 3 4 5
</div>
</div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
:
</div> <div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div>
<div>
<div>
0 1 2 3 4 5 6 7 8 9
</div>
</div> </div> <div>
<label id="haptic" for="stop">
</label>
<label id="haptic2" for="start">
</label>
<label id="haptic3" for="reset">
</label> </div> </div> </div>

这里主要是定义了圆盘时钟的基本结构,以及开始、暂停和复位按钮。接下来重点是CSS代码:

CSS代码:

首先来定义一些动画:

@-webkit-keyframes start_haptic {from { -webkit-transform:scale(.98)}to {}}
@-webkit-keyframes stop_haptic {from { -webkit-transform:scale(.98)}to {}}
@-webkit-keyframes reset_haptic {from { -webkit-transform:scale(.98)}to {}} @-webkit-keyframes launch {from { -webkit-transform:scale(1.2); opacity:} to {}}
@-webkit-keyframes info {from { -webkit-transform:scale(.8) translateY(100px); opacity:} to {}}
@-webkit-keyframes menu {from { -webkit-transform:scale(.9) translateY(-50px); opacity:} to {}} @-webkit-keyframes reset {from {-webkit-transform:rotateZ(180deg);} 60%{ -webkit-transform:rotateZ(-30deg);} 70%{ -webkit-transform:rotateZ(10deg);} 80%{ -webkit-transform:rotateZ(-10deg);}to { -webkit-transform:rotateZ(0);}} @-webkit-keyframes arrow { from { -webkit-transform: rotateZ(0deg);}to{-webkit-transform: rotateZ(360deg)}}
@-webkit-keyframes sec{ from { top:0px;}to{top:-300px;}}
@-webkit-keyframes sec1{ from { top:0px;}to{top:-180px;}}

再将这些动画在各个按钮被激活时启用这些动画:

.start:checked~.container .mil0{-webkit-animation-play-state:running;}
.stop:checked~.container .mil0{-webkit-animation-play-state:paused;}
.start:checked~.container .mil{-webkit-animation-play-state:running;} .stop:checked~.container .mil{-webkit-animation-play-state:paused;}
.start:checked~.container .mil1{-webkit-animation-play-state:running;}
.stop:checked~.container .mil1{-webkit-animation-play-state:paused;} .reset:checked~.container .mil1{-webkit-animation:none;top:;transition:.2s;}
.reset:checked~.container .mil0{-webkit-animation:none;top:;transition:.2s;}
.reset:checked~.container .mil{-webkit-animation:none;top:;transition:.2s;} .start:checked~.container .sec{-webkit-animation-play-state:running;}
.stop:checked~.container .sec{-webkit-animation-play-state:paused;}
.reset:checked~.container .sec{-webkit-animation:none;top:;transition:.2s;} .start:checked~.container .sec1{-webkit-animation-play-state:running;}
.stop:checked~.container .sec1{-webkit-animation-play-state:paused;}
.reset:checked~.container .sec1{-webkit-animation:none;top:;transition:.2s;} .start:checked~.container .min{-webkit-animation-play-state:running;}
.stop:checked~.container .min{-webkit-animation-play-state:paused;}
.reset:checked~.container .min{-webkit-animation:none;top:;transition:.2s;} .start:checked~.container .min1{-webkit-animation-play-state:running;}
.stop:checked~.container .min1{-webkit-animation-play-state:paused;}
.reset:checked~.container .min1{-webkit-animation:none;top:;transition:.2s;} .start:checked~.container .arrow{-webkit-animation-play-state:running;}
.stop:checked~.container .arrow{-webkit-animation-play-state:paused;}
.reset:checked~.container .arrow{-webkit-animation:reset .4s; -webkit-animation-fill-mode:forwards;} .controls{ height:60px;width:200px;margin:0 auto; position:relative; } .stop_,.start_{position:absolute; z-index:; height:60px; width:80px; left:60px; transition:.2s; background-position:center center;background-repeat:no-repeat;}

最后将源代码一并附上,下载地址>>

HTML5超酷秒表动画 可暂停和重置秒表的更多相关文章

  1. 16款最佳HTML5超酷动画演示及源码

    1.HTML5/CSS3图片选择动画 可选择多张图片 之前我们已经分享过几款很酷的HTML5图片特效,像HTML5 3D图片折叠特效.HTML5 3D旋转图片相册等应用.今天我们来分享一款既炫酷又实用 ...

  2. HTML5/CSS3超酷环形动画菜单

    在线演示 本地下载

  3. 超酷JQuery动画分页按钮,鼠标悬停滑动展开

    1.效果及功能说明 animate动画分页按钮制作鼠标悬停分页按钮上滑动展开分页按钮,鼠标离开后分页按钮收缩 2.实现原理 主要是靠动画方法,来让原本的箭头图像的长度发生变长,正好可以融入下标题的文字 ...

  4. 超酷创意HTML5动画演示及代码

    HTML5是未来的网页开发神器,今天分享的这些HTML5动画大部分利用了CSS3的动画属性来实现,废话不多说,直接上演示和代码. HTML5/CSS3实现大风车旋转动画 这次我们要来分享一款很酷的HT ...

  5. 推荐9款使用CSS3实现的超酷动画效果

    大家都知道,在网页制作时使用CSS技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制.只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和 ...

  6. 10款基于HTML5+CSS3实现的超酷源码动画

    1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮.这款登录表单有一个经过CSS3处理过的头像图 ...

  7. 8款超酷的HTML5 3D图片动画源码

    1.HTML5移动端图片左右切换动画 今天要给大家分享一款很不错的图片左右切换焦点图动画,并且支持移动端触摸滑动.功能上,这款HTML5图片播放器支持鼠标滑动.手机端触摸滑动以及自动播放.外观上,这款 ...

  8. 7款超酷HTML5 3D动画精选应用及源码

    对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D.HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE67 ...

  9. 超酷震撼 HTML5/CSS3动画应用及源码

    HTML5可以制作非常华丽的动画效果,这点通过之前的分享学习我们已经有深刻的了解了,今天我们主要来分享一些HTML5结合CSS3形成的超炫震撼的动画应用以及它们的源代码,真的非常不错. 1.纯CSS3 ...

随机推荐

  1. 潭州课堂25班:Ph201805201 第十五课 迭代器,生成器 (课堂笔记)

    推导表达式 li1 = list() for i in range(10): # 迭代循环内容 li1.append(i) print( li1 ) ---->>> [0, 1, 2 ...

  2. extend与append的区别

    ''' list 的两个方法extend 和 append 看起来类似,但实际上完全不同. extend接受一个参数,这个参数,总是一个list,并把list中的每个元素添加到原list中 appen ...

  3. 使用TVTK库创建一个矩形视图

    from tvtk.api import tvtk # s=tvtk.ConeSource(height=,radius=) # print(s.center) #创建一个长方体数据源,并同时设置长宽 ...

  4. 类文件结构-----Class类文件的结构

    ①无关性的基石 “与平台无关的”得理想最终实现在操作系统的应用层上:Sun公司和其他虚拟机提供商发布了许多可以在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码,从而实现了程序 ...

  5. 20172302 《Java软件结构与数据结构》第二周学习总结

    2018年学习总结博客总目录:第一周 第二周 教材学习内容总结 第三章 集合概述-栈 3.1 集合 (1) 集合是一种聚集,组织了其他对象的对象.它定义一张破那个特定的方式,可以访问.管理所包含的对象 ...

  6. linux 关于时间日期date

    一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...

  7. 网络编程(1)—TCP

    java.net 包中提供了两种常见的网络协议的支持: TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信.通常用于互联网协议,被称 TCP / IP. TCP协议: 使用TCP ...

  8. CentOS下创建网桥

    说明:以下创建的是永久网桥,即重启后依然生效. 0.安装网桥的依赖 yum -y install tunctl bridge-utils 1.创建网桥配置文件 UUID=`uuidgen` cat & ...

  9. Objective-C学习笔记(三)——用Objective-C编写第一个程序:Hello,World!

    不管是哪一个程序猿,或者是学习哪一门计算机语言.写的第一个程序基本上就是Hello World. 今天我们用OC来实现第一个程序:Hello World. 在Xcode中选择新建一个项目,在对话框中选 ...

  10. Linux和类Unix系统上5个最佳开源备份工具

    一个好的备份最基本的目的就是为了能够从一些错误中恢复: 人为的失误 磁盘阵列或是硬盘故障 文件系统崩溃 数据中心被破坏等等. 所以,我为大家罗列了一些开源的软件备份工具. 当为一个企业选择备份工具的时 ...