
목차
- 트랜지션 속성
transition-property: 트랜지션의 적용 대상 지정 (기본값 all)transition-duration: 트랜지션의 실행 시간 지정 (초 단위, 기본값 0)transition-timing-function: 트랜지션의 실행 형태 지정transition-delay: 트랜지션의 지연 시간 지정 (초 단위, 기본값 0)transition: 위의 네 가지 속성을 한꺼번에 지정- 애니메이션 속성
@keyframes: 애니메이션이 바뀌는 지점 설정animation-delay: 애니메이션의 시작 시간 지정animation-direction: 애니메이션을 종료한 뒤 처음부터 시작할지, 반대 방향으로 진행할지 지정animation-duration: 애니메이션의 실행 시간 지정animation-iteration-count: 애니메이션의 반복 횟수 지정animation-name:@keyframes로 설정해 놓은 중간 상태 지정animation-timing-function: 키프레임의 전환 형태를 지정animation: 애니메이션 속성을 한꺼번에 묶어서 지정
트랜지션(transition) : 웹 요소의 스타일 속성이 시간에 따라 바뀌는 것
transition-property : 트랜지션의 적용 대상 지정 (기본값 all)
transition-property: all | none | 속성명;
transition-property: background-colortransition-duration : 트랜지션의 실행 시간 지정(초 단위, 기본값 0)
transition-duration: 시간;
transition-timing-function : 트랜지션의 실행 형태 지정
transition-timing-function: linear | ease | ease-in | ease-out | ease-in-out | cubic-bezier(n, n, n, n);
transition-delay : 트랜지션 효과를 언제부터 시작할 것인지에 대한 트랜지션의 지연 시간 지정 (초 단위, 기본값 0)
transition-delay: 시간;
transition : 위의 네 가지 속성을 한꺼번에 지정
transition: transition-property값 | transition-duration값 | transition-timing-function값 | transition-delay값;
// 예시
transition: 2s ease-in;
// 위의 것을 풀어 쓰면,
trasition-property: all; //기본값
trasition-duration: 2s;
trasition-timing-function: ease-in;
trasition-delay: 0; //기본값
예시
<style>
.circle{
width: 300px;
height: 300px;
background-color: blueviolet;
transition-timing-function: ease-out; /* 마지막에 천천히 */
transition-property: border-radius, background-color; /* 트랜지션 대상은 모서리와 배경색 */
transition-duration: 3s; /* 3초동안 진행 */
}
.circle:hover{
border-radius: 50%;
background-color: cyan;
}
</style>
...
<div class="circle"></div>


@keyframes : 애니메이션이 바뀌는 지점 설정@keyframes 키프레임명 {
from { 속성: 속성값; } /* 시작 지점 */
to { 속성: 속성값; } /* 끝 지점 */
}from과 to 키워드를 사용하거나, 0%와 100%를 사용animation-name : @keyframes로 설정해 놓은 중간 상태 지정animation-name: 키프레임명 | none;animation-delay : 애니메이션의 시작 시간 지정 (기본값 0)animation-delay: 시간;animation-direction : 애니메이션을 종료한 뒤 처음부터 시작할지, 반대 방향으로 진행할지 지정animation-direction: normal | reverse | alternate | alternate-reverse;animation-duration : 애니메이션의 실행 시간(얼마동안 재생할 것인지) 지정 (기본값 0)animation-duration: 시간;animation-iteration-count : 애니메이션의 반복 횟수 지정animation-iteration-count: 숫자 | infinite;animation-timing-function : 키프레임의 전환 형태(애니메이션의 속도 곡선)를 지정animation-timing-function: linear | ease | ease-in | ease-out | ease-in-out | cubic-bezier(n, n, n, n);animation : 애니메이션 속성을 한꺼번에 묶어서 지정animation: animation-name값 | animation-duration값 | animation-timing-function값 | animation-delay값 | animation-iteration-count값 | animation-direction값;animation: 키프레임명1 1.5s infinite, 키프레임명2 1.5s infinite alternate;
/* 해당 요소에 키프레임명1인 애니메이션은 1.5초 진행이 무한 반복이고,
키프레임명2인 애니메이션은 1.5초동안 진행이 무한반복이면서 홀수번째는 원래진행방향으로 짝수번째는 반대진행방향으로 효과를 준다.*/예시
<style>
body{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.ball{
width: 100px;
height: 100px;
background-color: brown;
border-radius: 50%;
position: relative;
animation-name: bounce; /* 애니메이션 이름 지정 */
animation-duration: 2s; /* 애니메이션 지속시간 지정 */
animation-iteration-count: 5; /* 총 5번 진행 */
}
@keyframes bounce {
from {top:0;}
50% {top:100px;
height: 80px;
background-color: tomato;}
to {top:0;}
}
</style>
...
<div class="ball"></div>

