원근법을 사용한 CSS 3D 변환 마지막: 이유 이해
CSS 3D 변환을 사용하면 웹 요소에 복잡한 애니메이션과 원근감 효과를 구현할 수 있습니다. 그러나 관점 속성이 변환 목록의 끝에 배치되었을 때 흥미로운 관찰이 나타났습니다.
문제:
제공된 스니펫에서 두 상자의 마우스 커서가 서로 다릅니다. 행동. 원근 속성은 첫 번째 상자의 변환 목록 끝에 배치되고 두 번째 상자의 변환 앞에 배치됩니다.
box:nth-child(1):hover { transform: perspective(1000px) translate3d(0, 0, -100px); } box:nth-child(2):hover { transform: translate3d(0, 0, 100px) perspective(1000px); }
이로 인해 두 변환이 겉으로는 동일해 보여도 시각적 결과가 달라집니다.
답변:
이 동작을 이해하는 열쇠는 변환 행렬의 순서에 있습니다. 계산되었습니다. CSS Transform 사양에 따라 행렬은 다음과 같이 계산됩니다.
설명:
3단계에서는 왼쪽에서 오른쪽으로. 즉, 원근법이 목록 끝에 배치되면 원근법이 적용되기 전에 번역이 수행됩니다.
결과적으로 원근감 효과가 없는 상태에서 번역이 발생하므로 결과는 다음과 같습니다. 움직임은 평면적이고 깊이가 없는 것처럼 보입니다.의미:
위 내용은 CSS 3D 변환에서 '관점' 순서가 중요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!