css transform을 활용하여 역동적인 UI 구현하기 (6)
css transform을 활용하여 역동적인 UI 구현하기 (6) — #csstransform #UI제작 웹사이트 디자인 소개 및 학습목표 디자인소개 패스트 캠퍼스 "최성일"...
#SVG UI#Naver Blog
#csstransform #UI제작
웹사이트 디자인 소개 및 학습목표
디자인소개
패스트 캠퍼스 "최성일"강사님의 강의를 듣고 내용정리한 글입니다. 디자인은 강의의 템플릿을 아주 살짝 변형하였습니다. 모든 디자인 저작권은 강사님께 있습니다.
처음부터 끝까지 하나 하나 손코딩 하는 모습을 보여드릴 것이며. 이전글을 보고오시면 더욱 이해가 빠릅니다.
학습목표
- 패널에 역동적인 UI를 구현한다.
- transform: rotateX를 이해한다.
사용되는언어
HTML
- class를 세가지로 구분하여 각자 다르게 UI를 구현할 것이다.
- .on & .up & .down
CSS
- transform: rotateX(); 를 활용하여 UI를 구현한다.
- rotateX의 회전을 이해한다.
HTML
| <ul class="panel"> <li class="on"> <div class="bg"></div> </li> <li> <div class="bg"></div> </li> <li> <div class="bg"></div> </li> <li> <div class="bg"></div> </li> </ul> | li.onli는 회전시킬 패널이다. 이 중 한 곳에 calss="on"을 걸어준다. |
|---|
CSS
패널 숨기기
| .bg{ opacity:0; } | .bg전체에 opacity:0;을 걸어 패널을 숨겨준다\* class="on"인 li bg만 나타나게 구현할 것이다 |
|---|
.on 인터렉션 구현하기
| .li { &.on .bg{ transform: translate(0%) rotate(0deg); opacity:1; } } | li.on 패널만 보이도록 설정opacity:1; 을 준다 |
|---|
.up 인터렉션 구현하기
| .li { &.on .up{ transform:translateY(-80%) rotateX(50deg); opacity: 0; } } | .up패널translateY(-80%)를 주어 패널을 올린다rotateX(50deg)를 주어 패널 아랫 부분이 위로 가면서 회전한다.opacity:0; 점차 사라지게 표현한다 |
|---|
감이 안잡힌다면 임의로 두개의 li태그에 on과 up을 주어 직접 확인해 보면된다.
- .up 패널은 위로 회전하면서 올라가는 모션이 구현된다
- .on 패널은 선명하게 화면에 나타난다.
.down 인터렉션 구현하기
| .li { &.down .bg{ transform:translateY(80%) rotateX(-50deg); opacity: 0; } } | .up패널translateY(80%)를 주어 패널을 내린다rotateX(-50deg)를 주어 패널 윗부분이 아래로 가면서 회전한다.opacity:0; 점차 사라지게 표현한다 |
|---|
역시나 임의로 2개의 li에 .on과 .down을 넣었다.
- .down 패널은 아래로 내려가면서 회전한다
이제 모든 인터렉티브 구현 준비는 끝이 났다. 남은건 JS를 통해 버튼을 누를 때 패널이 돌아가도록 구현, SVG 구현만 남았다.
복습
짚어갈 포인트
- css transform: rotateX(+-deg); 양수일때/ 음수일때
- css 인터렉션에 따른 class명 정하기