어떤 상태에서 다른 상태로의 변화를 애니메이션으로 만드는 방법
작성 방법은 아래를 참고하여 작성한다.
:
)가 없는 요소에 붙여야 한다.background-color
),
)를 이용해 작성한다.all
을 이용해 작성한다.a {
color: wheat;
background-color: tomato;
text-decoration: none;
padding: 3px 5px;
border-radius: 5px;
font-size: 55px;
**transition: background-color 10s ease-in-out, color 5s ease-in-out**;
}
a:hover {
color: tomato;
background-color: wheat;
}
위 예시에서 사용한 속성값 중 ease-in-out이 있다.
이것은 브라우저에게 애니메이션이 어떻게 변할지 알려주는 값이다.
속성값은 다음과 같다.
cubic-bezier은 아래 링크를 통해 시뮬레이션 후 값을 가져올 수 있다.
CSS를 이용해 크기를 키우거나 3D축 기준 회전, 위치 이동등 변형이 가능한,
말 그대로 요소를 변형 시킬수 있다.
작성 방법은 아래를 참고하여 작성한다.
margin
, padding
이 적용되지 않는다.)transition
, animation
, transform
)transition
이 적용되어있지 않으면 transform
이 작동하지 않는다.<body>
<img src="image/image.jpg" />
<span> Rode to CSS </span>
</body>
img {
border: 10px solid black;
border-radius: 50%;
transition: transform 5s ease-in-out;
}
img:hover {
transform: rotateZ(90deg)
}
transform
에 적용 가능한 속성값은 MDN에서 확인할 수 있다.
특정 상황에만 재생되는 애니메이션이 아닌
자동으로 재생되는 애니메이션을 만들때 사용한다.
작성 방법은 아래를 참고하여 작성한다.
form
~ to
)<body>
<img src="image/image.jpg" />
<span> Rode to CSS </span>
</body>
@keyframes RodetoAnimation {
0% {
transform: rotateY(0);
}
50% {
transrform: rotateY(-180deg);
}
100% {
transform: rotateY(360deg);
}
}
img {
border: 10px solid black;
border-radius: 50%;
animation: RodetoAnimation 2s ease-in-out infinite;
}
transform으로 만든 애니메이션 예제를 볼수있는 사이트
Animista
애니메이션 사용 시 알아두면 좋은 것들
forward
를 넣으면된다.infinite
를 넣으면된다.animation-delay
를 사용한다will-change
태그를 사용한다.transform
)