[CSS] 애니메이션

2024. 6. 10. 20:54· FrontEnd/css
목차
  1. 1.@keyframes
  2. 2.animation-name
  3. 3.animation-duration
  4. 4. animation-timing-function
  5. 5.animation-delay
  6. 6.animation-iteration-count
  7. 7.animation-direction
  8. 8.animation-fill-mode
  9. 9.animation-play-state
728x90


1.@keyframes

from{}에 애니메이션 시작시점
to{}에 에니메이션 종료시점
@keyframs rule을 정한다.

 

<style>
    .movebox{
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: red;
        animation-name:move;
        animation-duration: 3s;
        animation-iteration-count: infinite;
    }

    @keyframes move {
        from{
            left: 0;
            background-color: red;
        }
        to{
            left: 300px;
            background-color: blue;
        }
        
    }

</style>


<div class="movebox"></div>

 

 

 

 

 

 

%를 통해 %단위로 키프레임을 삽입할수있다.
<style>
    .movebox{
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: red;
        animation-name:move;
        animation-duration: 3s;
        animation-iteration-count: infinite;
    }

    @keyframes move {
        0%{
            left: 0;
            background-color: red;
        }

        50%{left: 300px;}
        75%{left: 30px;}
        100%{
            left: 100px;
            background-color: blue;
        }
        
    }

</style>


<div class="movebox"></div>

 

 

 

 

 

2.animation-name

@keyframes 뒤에 애니메이션 이름을 프로퍼티값으로 사용한다. 1개 이상의 값을 가질수있다.
<style>
    .movebox{
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: red;
        animation-name:move,round;
        animation-duration: 3s;
        animation-iteration-count: infinite;
    }

    @keyframes move {
        0%{
            left: 0;
            background-color: red;
        }

        50%{left: 300px;}
        75%{left: 30px;}
        100%{
            left: 100px;
            background-color: blue;
        }
        
    }

    @keyframes round {
        0%{border-radius: 0;}
        100%{border-radius: 50%;}
    }

</style>


<div class="movebox"></div>

 

 

 

 

 

3.animation-duration

한 싸이클의 애니메이션시간을 지정

 

 

4. animation-timing-function

애니메이션 효과 수치함수 지정

 

 

 

5.animation-delay

실제 애니메이션 시작까지의 대기시간

 

 

6.animation-iteration-count

애니메이션 재생 횟수 지정
기본값:1
(infinite으로 무한반복가능)

 

 

 

 

7.animation-direction

에니메이션 종료이후 반복시 방향지정
normal:0%->100%(기본값)
reverse: 100%->0%
alternative:홀수번 normal , 짝수번 reverse
alternative-reverse: 짝수번 normal , 홀수번 reverse
<style>
    .movebox{
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: red;
        animation-name:move,round;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-direction: alternate;
    }

    @keyframes move {
        0%{
            left: 0;
            background-color: red;
        }

        50%{left: 300px;}
        75%{left: 30px;}
        100%{
            left: 100px;
            background-color: blue;
        }
        
    }

    @keyframes round {
        0%{border-radius: 0;}
        100%{border-radius: 50%;}
    }

</style>


<div class="movebox"></div>

 

 

 

 

8.animation-fill-mode

애니메이션 미실행 시 스타일지정
  • none: 애니메이션 전후에 요소의 스타일이 원래 상태로 돌아간다.
  • forwards: 애니메이션 종료 후 마지막 키프레임의 스타일을 유지한다.
  • backwards: 애니메이션 시작 전 첫 번째 키프레임의 스타일을 적용한다.
  • both: 애니메이션 시작 전 첫 번째 키프레임의 스타일을 적용하고, 종료 후 마지막 키프레임의 스타일을 유지한다.

 

 

 

9.animation-play-state

애니메이션 재생 상태지정

 

<style>
    .movebox{
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: red;
        animation-name:move,round;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-direction: alternate;
    }

    .movebox:hover{animation-play-state: paused;}

    @keyframes move {
        0%{
            left: 0;
            background-color: red;
        }

        50%{left: 300px;}
        75%{left: 30px;}
        100%{
            left: 100px;
            background-color: blue;
        }
        
    }

    @keyframes round {
        0%{border-radius: 0;}
        100%{border-radius: 50%;}
    }

</style>


<div class="movebox"></div>

 

 

 

 

 

 

 

 

 

 

 

 

 


🎈참고자료

https://poiemaweb.com/css3-animation

 

 

728x90
저작자표시 (새창열림)

'FrontEnd > css' 카테고리의 다른 글

[CSS] 트랜스폼  (0) 2024.06.11
[CSS] 트랜지션  (0) 2024.06.10
[CSS] 그레이디언트  (1) 2024.06.08
  1. 1.@keyframes
  2. 2.animation-name
  3. 3.animation-duration
  4. 4. animation-timing-function
  5. 5.animation-delay
  6. 6.animation-iteration-count
  7. 7.animation-direction
  8. 8.animation-fill-mode
  9. 9.animation-play-state
'FrontEnd/css' 카테고리의 다른 글
  • [CSS] 타이포그래피
  • [CSS] 트랜스폼
  • [CSS] 트랜지션
  • [CSS] 그레이디언트
아사_
아사_
프로그래밍 공부한거 정리해두는 메모장 블로그
아사_
개발공부 블로그
아사_
전체
오늘
어제
  • 분류 전체보기 N
    • FrontEnd
      • html
      • css
      • JavaScript
      • Node.js
      • React
      • React Native
    • BackEnd
      • SpringBoot
      • FastAPI
      • PHP
      • Flask
      • supabase
    • Language
      • Python
      • JAVA
      • Kotlin
      • C++
    • Development Tools N
      • AWS N
      • GIT,GITHUB
      • Docker
      • 메시지 브로커
      • 기타 도구,플랫폼
    • Computer Science
      • 개발지식
      • Server&Network
      • Algorithm&DataStructure
      • Security
      • DataBase
      • OS
    • AI
    • 기타
      • 잡다
      • Android
      • 도서
    • 클론코딩
      • 생활코딩 Express.js
      • 점프 투 장고
      • 생활코딩 Node.js
    • 프로젝트
      • DevQuest

인기 글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.2
아사_
[CSS] 애니메이션
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.