작성
·
83
0
오른쪽 벽에서 transform을
아래와 같이 설정하면 브라우저를 통해 보여지는 길이가 다릅니다. 이유가 뭘까요?
transform: rotateY(-90deg) translateZ(400vw);
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리겠습니다.
transform: rotateY(-90deg) translateZ(400vw);
코드에서 rotateY(-90deg)
는 요소를 Y축 기준으로 -90도 회전시키는 것을 의미하며, translateZ(400vw)
는 뷰포트의 너비에 비례하여 요소를 화면에서 사용자 쪽으로 또는 사용자로부터 멀어지게 하는 변환입니다.
여기서 회전이 적용된 후 이동(transform)이 적용되기 때문에, 요소가 -90도 회전되어 오른쪽 벽이 정면을 향하게 되면, translateZ에 의해 뷰포트의 너비를 기준으로 한 거리만큼 해당 요소가 이동합니다. -90도 회전이 적용되면 요소의 폭이 높이로, 높이가 폭으로 인식되어, 원래의 폭이나 높이와 다른 길이로 보여질 수 있습니다.
즉, rotateY(-90deg)에 의해 요소가 회전되면서 그 방향이 변경되고, 이 상태에서 translateZ(400vw)가 적용되면 요소는 사실상 화면을 기준으로 긴 방향이 사용자 쪽으로 400vw만큼 이동하게 됩니다. 이때문에 브라우저를 통해서 보여지는 길이가 달라지는 것을 관찰할 수 있습니다.
ddd님, 웹 개발 공부에 있어서 3D 변환의 효과를 이해하는 것은 매우 중요합니다. 다양한 각도에서의 변환과 이동이 결합되어 복잡한 인터랙티브 효과를 만들어낼 수 있기 때문입니다. 변환 속성을 조합할 때는 각 변환의 적용 순서와 방식을 잘 이해해야 원하는 대로의 결과를 얻을 수 있습니다.
더 궁금한 점이 있으시면 언제든지 질문해주세요.