效果图:
实现原理:
HTML:
1 | <a href="javascript:" id="submit" class="grebtn">提交订单</a> |
CSS:
1 | .dotting { |
JS:
1 | $("#submit").bind("click", function() { |
说明:
同样是4秒动画,每秒钟显示1个点;
IE7/IE8实现原理跟上面box-shadow方法一致,都是内容生成,如果无需兼容IE7/IE8, 可以按照第一个例子CSS代码注释说明删除一些CSS;
currentColor关键字可以让图形字符化,必不可少;
最大功臣是CSS3 background-clip属性,可以让IE9+浏览器下左右padding没有背景色,于是形成了等分打点效果。CSS3 Background博大精深,有兴趣可参考一篇很赞的文章CSS3 Backgrounds相关介绍,很多图,移动端非wifi慎点;
box-sizing是让现代浏览器和IE7/IE8占据宽度完全一样的功臣:IE7/IE8实际宽度是width+padding-right为12像素,其他现代浏览器为width+margin-left也是12像素;
这里CSS代码主要用来展示原理,故没有显示-webkit-animation以及@-webkit-keyframes私有前缀,实际目前还是需要的;
优势所在
- CSS生成的点没有虚化,效果更好;
- 占据的尺寸各个浏览器完全一致,都是12像素宽度;
- 颜色继承;
- 天然字符化显示,与文字浑然天成;