웹 화면의 애니메이션 효과를 jquery의 animation 함수만을 이용해서 사용했었다면 CSS만으로 애니메이션 효과를 주는 방법을 알아보도록 하자
간단하게
div안의 div위에 마우스르 올렸을때 움직이도록 해보자
1 2 3 | <div class="container"> <div class="move-box"></div> </div> | cs |
간단하게 이런 html요소를 만들어 놓고
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .container { width:300px; height:60px; background-color:#FFF; } .move-box { display:inline-block; width:50px; height:50px; background-color:#F0F; } .move-box:HOVER { animation-duration: 3s; animation-name: slidein; } @keyframes slidein { from { margin-left: 100%; } to { margin-left: 0%; } } | cs |
이렇게 작성한다
결과는
그런데 이런식으로 하면 단방향으로 밖에 가지 않죠
저 소스에서 키프레임을
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | .container { width:300px; height:60px; background-color:#FFF; } .move-box { display:inline-block; width:50px; height:50px; background-color:#F0F; } .move-box:HOVER { animation-duration: 3s; animation-name: slidein; } @keyframes slidein { 0% {margin-left: 0%;} 20% {margin-left: 50%;} 30% {margin-left: 70%;} 50% {margin-left: 90%;} 70% {margin-left: 50%;} 100% {margin-left: 0%;} } | cs |
keyframes 안의 내용이 from, to 에서 퍼센테이지로 바뀌었죠
이런식으로 바꾸면
아래와 같이 움직이게 됩니다.
animation-name: slidein;
애니메이션 네임을 지정하고 @keyframes 에 어떤식으로 움직일지 선언을 하면 됩니다.
duration은 애니메이션이 어느 시간에 걸쳐 일어나게 되는지 지정합니다.
이외에도 여러가지가 있는데
아래와 같습니다.
animation-delay
animation-direction
animation-duration
animation-iteration-count
infinite
로 지정하여 무한히 반복할 수 있습니다.animation-name
@keyframes
규칙을 이용하여 기술합니다.animation-play-state
animation-timing-function
animation-fill-mode
'Yame Programmer > CSS & UI Plugin' 카테고리의 다른 글
[kendo ui] 켄도 ui bar, column 차트 모서리 radius 효과 넣기 (0) | 2018.02.28 |
---|---|
[kendo ui] Y축 값이 1 이하일땐 소수점 이상일땐 자연수, 천단위 콤마 (0) | 2017.02.27 |
[Kendo UI] 템플릿을 사용해 그리드 값 IF문 사용 하기( grid value use template for 'if') (2) | 2016.08.12 |
[CSS] 선택자 브라우저별 지원여부 (0) | 2016.06.21 |
[kendo ui] 켄도 ui 라인차트 bullet(원) 제거 하기 (0) | 2016.06.21 |