用 animation 的 step 属性实现帧动画

准备一张长图,包含动画内的所有帧。如下图:

sprite

其中共有13帧。

通过背景图的方式显示,改变背景图的background-position实现动画。代码如下:

.figure {
    width: 160px;
    height: 170px;
    margin: 100px auto;
    background: url(sprite.png) no-repeat 0 0;
}
.figure:hover {
    animation: fly 1s steps(12) both;
    -webkit-animation: fly 1s steps(12) both;
}
@keyframes fly {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -1920px 0;
    }
}

为了保持初始和结束时的元素有背景,实际动画的帧数为12。

手机端点击人物可以看到动画,电脑端鼠标悬浮在人物上会看到动画,点击空白处可以重置。

See example here.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,595评论 6 30
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,349评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,815评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,917评论 25 709
  • 公公肺癌确诊已快两年,在经历了数次大小手术,数次放疗化疗后,病情算是相对稳定了,上个月终于得到医生的首肯可以回家休...
    木之夕阅读 1,187评论 2 5