css3动画,制作跑步运动,画笔画圆,之类的连贯性动作的方法

首先来看一下例子的效果图:

1.通过改变图片来实现,比较连贯,但是需要好多张图片来实现,增加了http请求,但是很好用,主要用到css3和animation。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!--<script src="js/jquery.js"></script>-->
    <!--<script src="js/index.js"></script>-->
    <style>
        .meishu{
            width: 844px;height: 920px;animation: ani 1s;background-image:url("1/15.png");background-size: 100%;
        }
        @keyframes ani {
           0%{
               background-image:url("1/0.png");
           }
           7%{
                background-image:url("1/1.png");
            }
            14%{
                background-image:url("1/2.png");
            }
            21%{
                background-image:url("1/3.png");
            }
            28%{
                background-image:url("1/4.png");
            }
            35%{
                background-image:url("1/5.png");
            }
            42%{
                background-image:url("1/6.png");
            }
            49%{
                background-image:url("1/7.png");
            }
            56%{
                background-image:url("1/8.png");
            }
            63%{
                background-image:url("1/9.png");
            }
            70%{
                background-image:url("1/10.png");
            }
            77%{
                background-image:url("1/11.png");
            }
            84%{
                background-image:url("1/12.png");
            }
            91%{
                background-image:url("1/13.png");
            }
            95%{
                background-image:url("1/14.png");
            }
            100%{
                background-image:url("1/15.png");
            }
        }
    </style>
</head>
<body>
<div class="meishu"></div>
</body>
</html>

2.通过把许多张图片放在一张图片上面,类似于图片精灵的方式,通过用background-position改变背景图片的位置,来实现。

把十几张图片合成一张

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!--<script src="js/jquery.js"></script>-->
    <!--<script src="js/index.js"></script>-->
    <style>
        .meishu{
            width: 254px;height: 294px;animation: ani1 1s;background-image:url("1/circle.png");background-position:254px 0;
        }
        @keyframes ani1 {
        0%{
            background-position:254px 0;
        }
        7%{
            background-position:4049px 0;
        }
        14%{
            background-position:3795px 0;
        }
        21%{
            background-position:3541px 0;
        }
        28%{
            background-position:3287px 0;
        }
        35%{
            background-position:3033px 0;
        }
        42%{
            background-position:2779px 0;
        }
        49%{
            background-position:2525px 0;
        }
        56%{
            background-position:2271px 0;
        }
        63%{
            background-position:2017px 0;
        }
        70%{
            background-position:1763px 0;
        }
        77%{
            background-position:1509px 0;
        }
        84%{
            background-position:1255px 0;
        }
        91%{
            background-position:1001px 0;
        }
        95%{
            background-position:747px 0;
        }
        100%{
            background-position:493px 0;
        }
        }
    </style>
</head>
<body>
<div class="meishu"></div>
</body>
</html>

这种方式我自己感觉不太好,接下来就该说用js了

3.用js实现,采用定时器的方法,变换图片。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="js/jquery.js"></script>
    <script>
        window.onload=function(){
            $(function(){
                var num=0;
                setInterval(function(){

                    if(num<=15){
                        $(".meishu img").eq(num).show().siblings().hide();
                        num++;
                        console.log(num);
                    }
                },40)
            })
        }
    </script>
    <style>
        .meishu{
            width: 844px;height: 920px;
        }
        .meishu img{
            position: absolute;top: 0;left: 0;display:none;
        }

    </style>
</head>
<body>
<div class="meishu">
    <img src="1/0.png" >
    <img src="1/1.png" >
    <img src="1/2.png" >
    <img src="1/3.png" >
    <img src="1/4.png" >
    <img src="1/5.png" >
    <img src="1/6.png" >
    <img src="1/7.png" >
    <img src="1/8.png" >
    <img src="1/9.png" >
    <img src="1/10.png" >
    <img src="1/11.png" >
    <img src="1/12.png" >
    <img src="1/13.png" >
    <img src="1/14.png" >
    <img src="1/15.png" >
</div>
</body>
</html>

三种方式随意选都可以。

参考链接:http://www.cnblogs.com/PeunZhang/p/3685980.html

时间: 2024-09-30 08:26:37

css3动画,制作跑步运动,画笔画圆,之类的连贯性动作的方法的相关文章

CSS3动画制作的简单示例

CSS3 大大强化了制作动画的能力,但是如果要做出图案比较复杂的动画,选择 GIF 依然是一个不错的选择.今天给大家介绍一个使用 CSS animation 配合雪碧图(CSS sprite)来制作动画的方法,可以做出类似于 GIF 动画的效果.CSS3 Animation steps函数 首先看看,CSS3 animation的兼容性.可以看到基本上主流浏览器都支持了 animation 属性,chrome.safari.opera和移动端的浏览器带上前缀就可以支持. 利用雪碧图来制作动画使用

实现MFC菜单画笔画圆,并且打钩

这个是用最简单的方法,移动客户区,圆会不见,所以下一篇我还要改进. 首先新建一个MFC单文件,在资源那里的菜单下,建立画笔,可以弹出红画笔,蓝画笔和绿画笔,,给出ID_RED,ID_BLUE,ID_GREEN并且在视类下建立类向导添加command函数,这时候,我们要想下怎么表示这些颜色,我的做法是,在视类定义一个公有整型变量int m_pencolor,还要设置三个布尔变量(表示打钩状态,等下会说)然后在构造函数初始化为1,(可以默认选红色)在视类头文件加上 {... public: bool

HTML5 - 用CSS3动画制作场景切换效果(移动,旋转,淡入淡出等)

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>HTML5-页面切换动画</title> 6 <link href="animations.css" rel="stylesheet"> 7 <script src="modernizr.custom.js&q

move.js操作CSS3动画

move.js是一款简单的支持CSS3动画的JavaScript库,对于对CSS3的操作不是很熟悉的人来说,使用move.js提供的方法操作CSS3动画更简单方便. 要想使用move.js提供的方法,首先应在我们的HTML页面中引入move.js: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8

使用 CSS3 &amp; jQuery 制作漂亮的书签动画

今天的教程是关于创建使用 CSS 旋转变换和 JavaScript 制作动画书签效果.我们的想法是展现出样书状结构,使单一的色板或列表点击切换.当点击其中一项,我们就会旋转以显示所选择的项目. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型 jQuery 图片轮播插件

使用transform和transition制作CSS3动画

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>使用transform和transition制作CSS3动画</title> <style> ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input

CSS3+Jquery制作的动画效果电子表

<!DOCTYPE HTML> <html> <head> <title>CSS3+Jquery制作的动画效果电子表丨石家庄网络公司-河北品牌策划公司</title> <style type="text/css"> body{ background:#202020; font:bold 12px Arial, Helvetica, sans-serif; margin:0; padding:0; min-width

如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性

首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5 6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective:用来实现一个3d的场景 写3D效果的第一步是要创建一个3D场景,即索要实现效果的模块.这里用到了 perspective 属性和 perspective-origin 属性. perspective:用来定义3d动画距离浏览器的距离,单位是(px). perspective-origin:效果渲染的视角

css3+jquery制作3d旋转相册&lt;转&gt;

css3+jquery制作3d旋转相册 首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准备 新建三个文件夹分别命名为css,js,img分别存放demo.css,jquery.js.demo.js,11张示例图片.新建demo.html将demo.css,jquery.js,demo.js引入. 二.图片倒影制作 1 <div id="wr