我们先来看下效果图(不考虑颜色搭配):
(学习视频分享: HTML5视频 教程)
我们首先要理解如何去实现这个时钟,暂时不要考虑动画,学着将问题进行拆解,一步一步实现。
首先我们需要画个方形,有个边框,给一个 圆 角就可以实现最外边的 圆环 再通过一个长的矩形旋转多个就可以实现刻度
只要再画一个 白色 圆面去覆盖就可以实现标准的刻度
最后再加上三个矩形和中间的小圆面就可以实现时钟的初始状态了
代码实现
以上过程理解了之后,代码实现就 简单 多了,唯一需要考虑的就是代码的优化问题,以下为了简单明了每一步是如何实现,存在很多重复的代码。
关于动画,我们只需要设置旋转动画就可以了,时分秒针的动画只需要 改变 不同的时间就可以了。
具体 细节 注意见代码:
<!DOCTY PE ht ML > <html> <head> < ;m eta charset="UTF-8"> <t IT le>时钟</title> <style> *{ padding: 0; m arg in: 0; } . clock { width: 300px; h ei ght: 300px; border: 10px solid # ccc; /*百分比参照的是实际 宽 高*/ border-radius: 50%; mar gin : 20px auto; position: relative; } .line{ width: 8px; height: 300px; background-color: #ccc; position: absolute; /*实现居中*/ /*参照父元素的宽*/ left: 50%; top: 0; /*参照元素本身*/ transform: translate(-50%,0); /*保留,否则会被覆盖*/ } .line2{ transform: translate(-50%,0) rotate(30 deg ); } .line3{ transform: translate(-50%,0) rotate(60deg); } .line4{ transform: translate(-50%,0) rotate(90deg); } .line5{ transform: translate(-50%,0) rotate(120deg); } .line6{ transform: translate(-50%,0) rotate(150deg); } .cover{ width: 250px; height: 250px; border-radius: 50%; background-color: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); } .hour{ width: 6px; height: 80px; background-color: red ; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-100%); /*设置轴心*/ transform-origin: center bottom; /*动画*/ - webkit -animation: move 43200s linear infinite; } .minute{ width: 4px; height: 90px; background-color: green; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-100%); /*设置轴心*/ transform-origin: center bottom; /*动画*/ -webkit-animation: move 360 0s linear infinite; } .second{ width: 2px; height: 100px; background-color: blue; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-100%); /*设置轴心*/ transform-origin: center bottom; /*动画*/ -webkit-animation: move 60s infinite steps(60); /*linear与step(60)重复*/ } .center{ width:20px; height:20px; background-color: #ccc; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); } /*创建移动动画*/ @keyfr am es move{ 0%{ transform: translate(-50%,-100%) rotate(0deg); } 100%{ transform: translate(-50%,-100%) rotate(360deg); } } </style> </head> <body> <div> <div class="line line1"></div> <div class="line line2"></div> <div class="line line3"></div> <div class="line line4"></div> <div class="line line5"></div> <div class="line line6"></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </body> </html>
相关推荐:html5教程
以上就是 利用 html5 制作 一个时钟动画效果的详细内容,更多请关注其它相关 文章 !
总结
以上是 为你收集整理的 利用html5制作一个时钟动画效果 全部内容,希望文章能够帮你解决 利用html5制作一个时钟动画效果 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于利用html5制作一个时钟动画效果的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did204436