인프런 커뮤니티 질문&답변

ddd님의 프로필 이미지

작성한 질문수

인터랙티브 웹 개발 제대로 시작하기

전진! 3D 스크롤 5

rotateY()에서 deg에 따른 차이

24.06.13 21:55 작성

·

82

0

오른쪽 벽에서 transform을

아래와 같이 설정하면 브라우저를 통해 보여지는 길이가 다릅니다. 이유가 뭘까요?

transform: rotateY(-90deg) translateZ(400vw);

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 15. 22:01

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 답변드리겠습니다.

transform: rotateY(-90deg) translateZ(400vw); 코드에서 rotateY(-90deg)는 요소를 Y축 기준으로 -90도 회전시키는 것을 의미하며, translateZ(400vw)는 뷰포트의 너비에 비례하여 요소를 화면에서 사용자 쪽으로 또는 사용자로부터 멀어지게 하는 변환입니다.

여기서 회전이 적용된 후 이동(transform)이 적용되기 때문에, 요소가 -90도 회전되어 오른쪽 벽이 정면을 향하게 되면, translateZ에 의해 뷰포트의 너비를 기준으로 한 거리만큼 해당 요소가 이동합니다. -90도 회전이 적용되면 요소의 폭이 높이로, 높이가 폭으로 인식되어, 원래의 폭이나 높이와 다른 길이로 보여질 수 있습니다.

즉, rotateY(-90deg)에 의해 요소가 회전되면서 그 방향이 변경되고, 이 상태에서 translateZ(400vw)가 적용되면 요소는 사실상 화면을 기준으로 긴 방향이 사용자 쪽으로 400vw만큼 이동하게 됩니다. 이때문에 브라우저를 통해서 보여지는 길이가 달라지는 것을 관찰할 수 있습니다.

ddd님, 웹 개발 공부에 있어서 3D 변환의 효과를 이해하는 것은 매우 중요합니다. 다양한 각도에서의 변환과 이동이 결합되어 복잡한 인터랙티브 효과를 만들어낼 수 있기 때문입니다. 변환 속성을 조합할 때는 각 변환의 적용 순서와 방식을 잘 이해해야 원하는 대로의 결과를 얻을 수 있습니다.

더 궁금한 점이 있으시면 언제든지 질문해주세요.

ddd님의 프로필 이미지

작성한 질문수

질문하기