首页  >  文章  >  web前端  >  利用CSS3 animation动画属性实现轮播图效果的方法详解

利用CSS3 animation动画属性实现轮播图效果的方法详解

巴扎黑
巴扎黑原创
2018-05-18 10:57:484353浏览

CSS3的animation属性可以像Flash制作动画一样,通过控制关键帧来控制动画的每一步,实现更为复杂的动画效果。下面通过本文给大家分享基于CSS3 animation动画属性实现轮播图效果,需要的朋友参考下吧

animation简介:

CSS3的animation属性可以像Flash制作动画一样,通过控制关键帧来控制动画的每一步,实现更为复杂的动画效果。ainimation实现动画效果主要由两部分组成:

1)通过类似Flash动画中的帧来声明一个动画;

2)在animation属性中调用关键帧声明的动画。

animation属性值:

animation 属性是一个简写属性

语法:animation: name duration timing-function delay iteration-count direction;

animation设置的六个动画属性:

animation-name:规定需要绑定到选择器的 keyframe 名称。取值:

none:(默认)规定无动画效果(可用于覆盖来自级联的动画)。

keyframename:规定需要绑定到选择器的 keyframe 的名称。

animation-duration:规定完成动画所花费的时间,以秒或毫秒计。取值:

time:规定完成动画所花费的时间。默认值是 0,意味着没有动画效果。

animation-timing-function:规定动画的速度曲线。取值:

ease:默认。动画以低速开始,然后加快,在结束前变慢。

linear:动画从头到尾的速度是相同的。

ease-in:动画以低速开始。

ease-out:动画以低速结束。

ease-in-out:动画以低速开始和结束。

cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值。可能的值是从 0 到 1 的数值。

animation-delay:规定在动画开始之前的延迟。取值:

time:(可选)定义动画开始前等待的时间,以秒或毫秒计。默认值是 0。

animation-iteration-count: 规定动画应该播放的次数。取值:

n:定义动画播放次数的数值。

infinite:规定动画应该无限次播放。

animation-direction:规定是否应该轮流反向播放动画。取值:

normal:默认值。动画应该正常播放。

alternate:动画应该轮流反向播放。

animation动画实现轮播图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片轮换</title>
    <style type="text/css">
        p,img{
            margin: 0;
            padding: 0;
        }
        .p_first{
            width: 1000px;
            height: 300px;
            margin-top: 100px;
            margin-left: 250px;
            overflow: hidden;
        }
        .p_second{
            width: 4000px;
            position: relative;
            animation: myimg 12s linear infinite normal; 
        }
        @keyframes myimg{
            0{
                left: 0;
            }
            5%{
                left: 0;
            }
            30%{
                left: -1000px;
            }
            35%{
                left: -1000px;
            }
            60%{
                left: -2000px;
            }
            65%{
                left: -2000px;
            }
            95%{
                left: -3000px;
            }
            100%{
                left: -3000px;
            }
        }
    </style>
</head>
<body>
    <p class="p_first">
        <p class="p_second">
            <img src="images/011-1.jpg" alt=""><img src="images/011-2.jpg" alt=""><img src="images/011-3.jpg" alt=""><img src="images/011-1.jpg" alt="">
        </p>
    </p>
</body>
</html>

图片标签要放在同一行,不然图片之间会有空隙。

以上是利用CSS3 animation动画属性实现轮播图效果的方法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn