기본적인 animation 효과를 구현하는 실습 수업이었다.
transform: rotate(Xdeg);
: X에는 양/음 숫자, 선택 요소에 회전효과를 줌transform: scale(X, Y);
: X/Y축으로 크기를 크게/작게 조절 가능transform: skew(Xdeg, Ydeg);
: X/Y축으로 3차원적으로 회전시키는 효과transform: translate(X, Y);
: 선택 영역을 X, Y만큼 이동시키는 효과다른 브라우저의 하위 버전까지 고려하여 웹사이트를 제작할 시, 아래처럼 prefix를 붙여서 작업이 필요함
-webkit-transform: rotate(); -moz-transform: rotate(); -ms-transform: rotate(); -o-transform: rotate(); transform: rotate();
선택 요소가 변화하는 것을 과정을 보여주고 싶을 때
transition: property duration timing-function delay;
에 적절한 값을 넣어 효과 구현 가능duration delay
순서는 지켜서 사용하기transition: background-color 0.5s linear 0.2s, width 0.5s linear 0.2s;
처럼 두가지 transition을 동시에 작성도 가능animation: name duration timing-function delay iteration-count direction fill-mode;
@keyframes name { 0% {xxx} 100% {xxx} }
와 같이 사용해야 함@-webkit-keyframes spinLion { ~~~ }
따로 추가해야 함Stylie: 여기에서 원하는 다양한 animation 효과를 테스트 할 수 있다.
rgba()
값으로 변환 가능selectedOne { background-color: rgba(number, number, number, opacity); }
animation-play-state
: animation의 동작여부 명령하는 속성(ex: running, paused
)animation-fill-mode: backward
: 최초 지정된 속성(ex: 색상)과 상관없이 animation이 0%일 때와 같은 속성값으로 조정해줌. 따라서 유저경험을 자연스럽게 만들어주는 기능transform: scale(xxx)
: 이는 children 요소가 있을 경우, children에게도 영향을 미침translate, rotate
만으로 아래와 같은 슈퍼마리오 동전 이미지를 만들 수 있다.img
태그는 default로 하단에 미세한 공백을 가지고 있음vertical-align: middle;
으로 그 공백을 제거할 수 있음vertical-align: middle;
은 원래 inline요소의 X축 정렬 작업에 사용되는 css 속성img
태그 또한 inline-block
성격을 가지기 때문에 사용가능. 다만 단순 X축 정렬 작업이 아닌 하단의 공백처리에 효과가 있음img
태그의 의도된 default값으로 설정해주는 편transform: scale(1.2);
transform: translateY(-Xpx);
parents: relative && children: absolute
활용overflow: hidden;
으로 원하는 영역을 벗어나면 hidden처리css link
위에 붙여두기class="animate__animated"
을 시작으로 다양한 효과를 구현할 수 있다.img
태그의 하단 공백처리는 vertical-align: middle;
로 한다는 식의 트릭들.현재 css강의의 초반 부분이므로 배워야 할 부분 그리고 발전된 방법을 익히는 부분이 후에 나올 것으로 예상된다. 반복 연습만이 해결 방법일 것이라 생각한다.
animation 구현의 과정이 아주 기본적인 효과였지만 상당히 재미있었다. 또한 codepen에서 찾아볼 수 있는 skillful한 효과들 또한 직접 구현해보고 싶어졌다. 물론 직접 구현이 아니더라도 거기에 구축되어 있는 code를 보며 학습할 수 있을 것 같다.
진행했던 코드는 여기에 업로드 하였다.