3D Scroll
Cards are arranged in 3D space using transform: translateZ() values on a transform-style: preserve-3d container. ScrollTrigger scrubs the container’s rotateX or camera Z to navigate between cards. perspective on the outer viewport element controls the depth illusion strength.
transform: translateZ() 값으로 카드들을 3D 공간에 배치하고, transform-style: preserve-3d 컨테이너에 적용합니다. ScrollTrigger가 컨테이너의 rotateX 또는 카메라 Z를 스크러브해 카드 사이를 이동합니다. 외부 뷰포트 요소의 perspective가 깊이감의 강도를 조절합니다.
Source Code script.js
gsap.registerPlugin(ScrollTrigger);
gsap.utils.toArray('.card-3d').forEach((card) => {
gsap.to(card, {
opacity: 1,
rotateY: 0,
duration: 0.8,
ease: 'power2.out',
scrollTrigger: {
trigger: card,
start: 'top 85%',
},
});
});