css3에서 애니메이션은 @keyframes를 통해 정의되며 애니메이션은 애니메이션 효과를 얻기 위해 애니메이션 속성을 설정합니다.
애니메이션 속성에서는 애니메이션 이름, 전체 애니메이션의 실행 시간, 애니메이션의 속도 곡선을 지정할 수 있습니다. 움직임, 지연 시간, 재생 횟수 등.
animation은 복합 속성으로 다음과 같은 애니메이션 속성을 포함합니다.
은 애니메이션의 속도 곡선을 지정합니다. 기본값은 "편함"입니다. 일반적으로 사용되는 동작 속도 곡선에는 다음과 같은 유형이 있습니다.
선형: 선형 전환.
ease-in: 느린 속도에서 빠른 속도로.
ease-out: 빠른 것에서 느린 것까지.
ease-in-out: 느린 것에서 빠른 것, 그리고 다시 느린 것.
베지어 곡선을 직접 사용하여 실행 속도 곡선을 지정할 수도 있습니다. 베지어 곡선의 4가지 값은 [0, 1] 간격 내에 있어야 합니다.
다음 주기에서 애니메이션을 역방향으로 재생할지 여부를 지정합니다. 기본값은 "보통"입니다.
reverse: 반대 방향으로 이동
alternate: 먼저 정방향으로 이동한 다음 반대 방향으로 연속 교대
alternate-reverse: 먼저 역방향으로 이동한 다음 정방향으로 이동 , 연속 교대
은 애니메이션 시간 이외의 개체 상태를 지정합니다. 일반적으로 사용되는 값은 다음과 같습니다.
none: 기본값
forwards: 객체 상태를 애니메이션이 끝난 상태로 설정
backwards: 객체 상태를 애니메이션이 끝난 상태로 설정 애니메이션의 시작 부분
구현 코드는 다음과 같습니다.
<!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>
위 코드에서 주의할 점은 다음과 같습니다.
몸 높이를 100%로 설정한 이유 HTML5 환경에서 body의 기본 높이는 0
calc로 사용중 값은 동일하다는 점입니다. 값 사이의 "-"와 "+" 양쪽 끝의 공백은 필수입니다.
애니메이션에서 왼쪽과 위쪽의 값은 물체의 움직임의 시작과 끝 위치입니다. 테두리 값에 주의하세요
애니메이션은 한 번만 실행됩니다. 모션 궤적이 절반만 됩니다
속도 곡선: 큐빅-베지어(0.36,0,0.64,1);
양방향 지연 시간 설정 X: -2s Y: 0s
계속해서 앞으로 교대로 실행 방향으로 그리고 반대 방향으로: 번갈아
위 내용은 CSS3 애니메이션에서 원형 운동 궤적 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!