欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-03-05 08:11:11
...
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动画属性实现轮播图效果的方法详解的详细内容,更多请关注其它相关文章!