Published 2020. 7. 1. 20:19
728x90
반응형

animation

 

과정없이 변형된 여러가지 상태 보여줌

요소의 현재 스타일을 다른 스타일로 천천히 변화시킴

 애니메이션 효과를 사용하기 위해서는 우선 애니메이션에 대한 키 프레임(@keyframes)을 정의해야 함


animation 속성

속성 설명
animation 모든 animation 속성을 이용한 스타일을 한 줄에 설정할 수 있음
animation-name 애니메이션 효과의 이름을 설정
animation-duration 애니메이션 효과를 재생할 시간을 설정
animation-delay 애니메이션 효과가 나타나기까지의 지연 시간을 설정
animation-iteration-count 애니메이션 효과가 몇 번 반복될지를 설정
animation-iteration 애니메이션의 진행 방향을 설정
animation-timing-function 애니메이션 효과의 시간당 속도를 설정
animation-fill-mode 애니메이션 효과가 재생 중이 아닐 때 요소의 스타일을 설정
animation-play-state 애니메이션 효과의 재생 상태를 설정

 

@keyframes 규칙

 

애니메이션 효과를 사용하기 위해서는 우선 애니메이션에 대한 키 프레임(keyframe)을 정의

키 프레임(keyframe)에는 특정한 시간에 해당 요소가 가져야 할 CSS 스타일을 명시

@keyframes에 CSS 스타일을 설정해 놓으면, 해당 요소의 스타일이 특정 시간까지 현재 스타일에서 설정해 놓은 새로운 스타일로 천천히 변화

애니메이션 효과가 동작하기 위해서는 먼저 animation-name 속성을 이용하여 요소와 키 프레임을 연결해 주어야 함

<style>
p {
  -webkit-animation-name: moving-ani;
  -webkit-animation-duration: 3s;
  animation-name: movingPara;
  animation-duration: 3s;
}

@keyframes moving-ani {
  from { margin-left: 100%; }
  to { margin-left: 0%; }
}
</style>
<style>
p {
  -webkit-animation-name: moving-ani;
  -webkit-animation-duration: 4s;
  animation-name: movingPara;
  animation-duration: 4s;
}

@-webkit-keyframes moving-ani {
  0% { border-color: red; }
  20% { border-color: orange; }
  40% { border-color: yellow; }
  50% { border-color: green; }
  60% { border-color: blue; }
  80% { border-color: navy; }
  100% { border-color: purple; }
}
</style>

 

animation-duration

 

애니메이션 효과를 재생할 시간을 설정

재생 시간의 기본값은 0초이므로, 재생할 시간을 명시하지 않으면 아무런 효과도 나타나지 않음

 

 

animation-delay

 

애니메이션 효과가 나타나기까지의 지연 시간을 설정

애니메이션 효과는 이 속성값으로 설정된 시간이 흐른 뒤에야 비로소 시작됨

 

 

animation-iteration-count

 

애니메이션 효과의 반복 횟수를 설정

이 속성값으로 infinite를 설정하면, 애니메이션 효과가 무한히 반복

 

 

animation-direction

 

애니메이션의 진행 방향을 설정

진행 방향을 나타내는 속성값으로 reverse와 alternate를 설정할 수 있음

 

reverse 속성값은 애니메이션 효과의 진행 방향을 원래 방향이 아닌 반대 방향으로 변경

즉, 애니메이션 효과가 from에서 to 방향이 아닌, to에서 from 방향으로 진행됨

 

alternate 속성값은 애니메이션 효과의 진행 방향을 애니메이션이 반복될 때마다 계속 변경

즉, 애니메이션 효과가 from에서 to 방향으로 한 번 진행되고 나면, 다음번에는 to에서 from 방향으로 진행되게 변경

이런 식으로 번갈아 가면서 전체 반복 횟수만큼 애니메이션을 반복

 

 

animation-timing-function

 

애니메이션 효과의 시간당 속도를 설정

 

animation-timing-function 속성의 속성값

설명
linear  애니메이션 효과가 처음부터 끝까지 일정한 속도로 진행
ease  기본값으로, 애니메이션 효과가 천천히 시작되어, 그다음에는 빨라지고, 마지막에는 다시 느려짐
ease-in 애니메이션 효과가 천천히 시작
ease-out 애니메이션 효과가 천천히 끝남
ease-in 애니메이션 효과가 천천히 시작되어, 천천히 끝남
cubic-bezier(n,n,n,n) 애니메이션 효과가 사용자가 정의한 cubic-bezier 함수에 따라 진행

 

반응형

'프로그래밍 > CSS' 카테고리의 다른 글

[CSS] 하이브리드 앱 CSS  (0) 2023.01.11
06.30(transition)  (0) 2020.06.30
06.29(transform)  (0) 2020.06.29
06.26(table)  (0) 2020.06.26
06.25(position)  (0) 2020.06.25
복사했습니다!