其他分享
首页 > 其他分享> > css3动画之圆形运动轨迹

css3动画之圆形运动轨迹

作者:互联网

原文链接:https://www.mk2048.com/blog/blog.php?id=kj1hak2j&title=css3%E5%8A%A8%E7%94%BB%E4%B9%8B%E5%9C%86%E5%BD%A2%E8%BF%90%E5%8A%A8%E8%BD%A8%E8%BF%B9

css3中通过@keyframes定义动画,animation设置动画属性,从而实现动画效果;

在animation属性当中,可以规定动画的名称、整个动画的运行时间、运动的速度曲线以及其延迟时间、播放次数等。

animation

animation作为一个复合属性,包括了以下动画属性。

animation-timing-function

规定动画的速度曲线。默认是 "ease"。常用的运动速度曲线还有以下几种:

也可以直接使用贝塞尔曲线规定运行的速度曲线,贝塞尔曲线的4个数值需在[0, 1]区间内。

animation-direction

规定动画是否在下一周期逆向播放。默认是 "normal"。

animation-fill-mode

规定对象动画时间之外的状态。常用值如下:

圆形运动轨迹

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>沿圆形轨迹运动</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        html,body{
            height: 100%;
        }
        #trajectory {
            width: 300px;
            height: 300px;
            border: 4px solid #949494;
            border-radius: 50%;
            position: relative;
            left: calc(50% - 153px);
            top:calc(50% - 153px);
        }
        @keyframes moveX{
            0% {left: -22px;}
            100% {left: 282px;}
        }
        @keyframes moveY{
            0% {top: -22px;}
            100% {top: 282px;}
        }
        #move {
            width: 40px;
            height: 40px;
            font-size: 12px;
            background-color: #32c33a;
            border-radius: 50%;
            position: absolute;
            left:-22px;
            top:-22px;
            animation: moveX 4s cubic-bezier(0.36,0,0.64,1) -2s infinite alternate, moveY 4s cubic-bezier(0.36,0,0.64,1) 0s infinite alternate;
        }
    </style>
</head>
<body>
    <div id="trajectory">
        <div id="move">Immortal brother</div>
    </div>
</body>
</html>

 

 以上代码的注意点如下:

标签:css3,动画,轨迹,top,alternate,animation,规定,left
来源: https://blog.csdn.net/lumot/article/details/100520332