CSS의 transform 속성을 사용하면 HTML 요소의 모양, 크기, 위치 등을 입체적으로 변화시킬 수 있다.
3D Transform
CSS의 transform 속성을 사용하면 HTML 요소의 모양, 크기, 위치 등을 입체적으로 변화시킬 수 있다.
1. 3D Transform methods
3D Transform을 위해 제공되는 메서드는 아래와 같다.
a. rotate3d(): X, Y, Z축을 기준으로 회전
- rotateX, rotateY, rotateZ로 각각 사용 가능
- 해당 요소를 주어진 각도만큼 X축, Y축, Z축을 기준으로 회전시킨다.
b. translate3d() : 이동
- translateX, translateY, translateZ로 각각 사용 가능
- 현재 위치를 기준으로 해당 요소를 주어진 x축, y축, z축의 거리만큼 이동시킨다.
c. scale3d() : 크기 조절
- scaleX, scaleY, scaleZ로 각각 사용 가능
- x축, y축, z축의 크기를 주어진 배율만큼 늘이거나 줄인다.
d. perspective() : 투영점, 원근감 표현
- https://webclub.tistory.com/486 를 참고했다.
- perspective는 3D원근감을 주는 초점이라고 할 수 있다.
- 이 속성으로 인해 3차원의 객체로 변환되어 실제와 같은 거리감을 갖게된다.
- 중요한 점은 3d속성으로 변형할 대상요소가 아닌 해당 요소를 포함하고 있는 부모요소에 투영점을 설정해야 한다.
- 부모요소에 perspective설정을 적용하는 경우, 개별 요소가 아닌 각각의 자식 요소들이 원근감을 서로간에 영향을 미치면서 반영된다.
translateZ(300px)와 화면상에서 300px만큼 나와 떨어져 있음을 표현하고 싶다면, perspective 속성이 반드시 필요하다.