Home  >  Article  >  Web Front-end  >  Implementation of circular motion trajectory in css3 animation

Implementation of circular motion trajectory in css3 animation

一个新手
一个新手Original
2017-10-20 09:32:134001browse

In css3, animation is defined through @keyframes, and animation sets animation properties to achieve animation effects;

In the animation property, you can specify the name of the animation, the running time of the entire animation, the speed curve of the movement, and other Delay time, play times, etc.

animation

animation, as a composite attribute, includes the following animation attributes.

  • animation-name ---------------------------------- --Specify animation name

  • animation-duration --------------------------------- ---Specify the time for the animation to complete once

  • animation-timing-function ---------------------------Specify the animation Movement speed curve

  • animation-delay ------------------------------- -----Specify the delay time of animation

  • animation-iteration-count ----------------------- Specify the number of animation playback times

  • animation-direction --------------------------------- Specifies whether the animation will start in reverse in the next cycle

  • animation-fill-mode -------------------------- ------State outside the specified animation time

  • animation-play-state -------------------- ----------Specify the running and pausing of animation

animation-timing-function

Specify the speed curve of animation. The default is "ease". Commonly used motion speed curves include the following:

  • linear: linear transition.

  • ease-in: from slow to fast.

  • ease-out: from fast to slow.

  • ease-in-out: from slow to fast to slow again.

You can also directly use the Bezier curve to specify the running speed curve. The four values ​​​​of the Bezier curve must be within the [0, 1] interval.

animation-direction

Specifies whether the animation will play in reverse in the next cycle. The default is "normal".

  • reverse: Movement in the opposite direction

  • alternate: First movement in the normal direction and then in the reverse direction, continuing to alternate

  • alternate-reverse: First move in the reverse direction and then in the normal direction, continuing to alternate

animation-fill-mode

The state outside the specified object animation time. Commonly used values ​​are as follows:

  • none: Default value

  • forwards: Set the object state to the state at the end of the animation

  • backwards: Set the object state to the state when the animation starts

Circular motion trajectory

The implementation code is as follows:

<!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>
    <p id="trajectory">
        <p id="move">Immortal brother</p>
    </p></body></html>

Above Notes on the code are as follows:

  • The reason for setting the body height to 100% is that the default height of the body in the HTML5 environment is 0

  • calc During use, the spaces at both ends of the "-" and "+" between the values ​​are essential

  • The left and top values ​​​​in the animation are the starting position and the starting position of the object's movement End position, please pay attention to the border value

  • The movement trajectory of the animation executed at one time is only half

  • Speed ​​curve: cubic-bezier(0.36,0 ,0.64,1);

  • Setting of delay time in both directions Continuously alternate operation in the opposite direction: alternate

The above is the detailed content of Implementation of circular motion trajectory in css3 animation. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn