先看看效果图吧,如果喜欢这个效果再向下看吧,以免浪费各位的宝贵时间。
效果图:
下面介绍一下我的思路。其实很简单:
1、利用border-radius这个展示圆角效果的属性做出三个长短和粗细均不相同的时钟指针。同时为了让三个指针的展示有里外的层次感,三个指针虽然均是使用的红色,但是红色的深浅不同,这样看起来就稍微有层次感,以免三个指针看起来融到一起去了。
2、利用定时函数setInterval不断的绘制三个指针的角度,从而达到指针旋转的效果。当然,指针的旋转还得用到一个style属性transform。利用该属性的两个参数rotate和translateX(或者translateY)就可以让一个元素绕着相对于该元素中心的位置以translateX(或者translateY)为半径旋转rotate角度。
3、整个表盘是由三部分组成的。最底层蓝紫色的原型底盘。然后在该底盘上面覆盖了一个小一圈的浅蓝色圆盘作为时钟的内部背景。最后利用内部背景循环创建了12个时钟刻度。这样的效果就是浅蓝色的表盘外面套了一个蓝紫色为背景的刻度盘。
4、为了让三个指针显得不是那么突兀,在时钟的正中心画了一个比时针稍宽的一个与秒针同色的小圆,同时用了一个很小的灰白色小圆位于秒针之上,这样能够达到有个灰白色的小钉固定秒针并带动其旋转的效果。
想要查看效果其实很简单,将下面代码拷贝到一个文本文档中,然后将文件的后缀由txt改成html,然后右键打开方式选择浏览器打开就可以了。由于部分属性是较新版的浏览器才会支持的,所以只要不是老古董的浏览器都是能看到效果的。
好了,喜欢的朋友拿