테스트 사이트 - 개발 중인 베타 버전입니다

CSS3 애니메이션이란 무엇입니까?

· 8년 전 · 2309

CSS3 애니메이션이란 무엇입니까?


애니메이션을 사용하면 요소가 한 스타일에서 다른 스타일로 점진적으로 변경됩니다.


원하는만큼 많은 CSS 속성을 변경할 수 있습니다.


CSS3 애니메이션을 사용하려면 먼저 애니메이션의 일부 키 프레임을 지정해야합니다.


키 프레임은 특정 시간에 요소의 스타일을 유지합니다.


@keyframes 규칙

@keyframes 규칙 내에서 CSS 스타일을 지정 하면 애니메이션이 특정 시간에 현재 스타일에서 새 스타일로 점진적으로 변경됩니다.


애니메이션이 작동하도록하려면 애니메이션을 요소에 바인딩해야합니다.


다음 예제는 "예제"애니메이션을 <div> 요소에 바인딩합니다. 애니메이션은 4 초 동안 지속되며 <div> 요소의 배경색을 점차적으로 "red"에서 "yellow"로 변경합니다.


/* The animation code */

@keyframes example {

    from {background-color: red;}

    to {background-color: yellow;}

}


/* The element to apply the animation to */

div {

    width: 100px;

    height: 100px;

    background-color: red;

    animation-name: example;

    animation-duration: 4s;

}




<!DOCTYPE html>

<html>

<head>

<style> 

div {

    width: 100px;

    height: 100px;

    background-color: red;

    -webkit-animation-name: example; /* Safari 4.0 - 8.0 */

    -webkit-animation-duration: 4s; /* Safari 4.0 - 8.0 */

    animation-name: example;

    animation-duration: 4s;

}


/* Safari 4.0 - 8.0 */

@-webkit-keyframes example {

    from {background-color: red;}

    to {background-color: yellow;}

}


/* Standard syntax */

@keyframes example {

    from {background-color: red;}

    to {background-color: yellow;}

}

</style>

</head>

<body>


<p><b>Note:</b> This example does not work in Internet Explorer 9 and earlier versions.</p>


<div></div>


<p><b>Note:</b> When an animation is finished, it changes back to its original style.</p>


</body>

</html>






참고 : 경우 animation-duration속성이 지정되지 않은 기본 값이 0이기 때문에, 애니메이션, 효과가 없습니다. 


위의 예제에서 우리는 "from"과 "to"(0 % (시작) 및 100 % (완료)를 나타냄) 키워드를 사용하여 스타일이 변경 될 때를 지정했습니다.


퍼센트를 사용할 수도 있습니다. 퍼센트를 사용하여 원하는만큼 스타일을 변경할 수 있습니다.


다음 예제에서는 애니메이션이 25 % 완료되고 50 % 완료되면 애니메이션의 100 % 완료시 다시 <div> 요소의 배경색을 변경합니다.


/* The animation code */

@keyframes example {

    0%   {background-color: red;}

    25%  {background-color: yellow;}

    50%  {background-color: blue;}

    100% {background-color: green;}

}


/* The element to apply the animation to */

div {

    width: 100px;

    height: 100px;

    background-color: red;

    animation-name: example;

    animation-duration: 4s;

}


<!DOCTYPE html>

<html>

<head>

<style>

div {

    width: 100px;

    height: 100px;

    background-color: red;

    -webkit-animation-name: example; /* Safari 4.0 - 8.0 */

    -webkit-animation-duration: 4s; /* Safari 4.0 - 8.0 */

    animation-name: example;

    animation-duration: 4s;

}


/* Safari 4.0 - 8.0 */

@-webkit-keyframes example {

    0%   {background-color: red;}

    25%  {background-color: yellow;}

    50%  {background-color: blue;}

    100% {background-color: green;}

}


/* Standard syntax */

@keyframes example {

    0%   {background-color: red;}

    25%  {background-color: yellow;}

    50%  {background-color: blue;}

    100% {background-color: green;}

}

</style>

</head>

<body>


<p><b>Note:</b> This example does not work in Internet Explorer 9 and earlier versions.</p>


<div></div>


</body>

</html>





다음 예제는 애니메이션이 25 % 완료되고 50 % 완료 될 때 및 애니메이션이 100 % 완료 될 때 배경색과 <div> 요소의 위치를 ​​모두 변경합니다.


/* The animation code */

@keyframes example {

    0%   {background-color:red; left:0px; top:0px;}

    25%  {background-color:yellow; left:200px; top:0px;}

    50%  {background-color:blue; left:200px; top:200px;}

    75%  {background-color:green; left:0px; top:200px;}

    100% {background-color:red; left:0px; top:0px;}

}


/* The element to apply the animation to */

div {

    width: 100px;

    height: 100px;

    position: relative;

    background-color: red;

    animation-name: example;

    animation-duration: 4s;

}


댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
3199
3198
3197
3196
3195
3194
3192
3191
3190
3189
3188
3187
3186
3185
3184
3183
3182
3181
3180
3179
3178
3177
3176
3175
3174
3173
3172
3171
3170
3169