개발새발 로그

CSS transform 3D를 정리하면서 본문

CSS

CSS transform 3D를 정리하면서

이즈흐 2023. 11. 6. 18:34

 

perspective는 3차원 변환함수에서만 적용된다.

 

아래는 perspective함수를 사용한 것이다.

transform: perspective(300px) rotateY(45deg);

 

- perspective를 적용하지 않으면 아래와 같이 작동함

- perspective는 부모 요소에 적용하는 것이 보편적이다.

 

 

 

원근의 기준을 바꿀 수도 있다.

아래와 같이 x축과 y축을 구성한다.

기본값은 50% 50%이다.

perspective-origin : 0 0;

- 위 처럼 적용하면 부모요소의 왼쪽 상단에서 item이 변화하는 모습을 볼 수 있다.

 

 

주의점

perspective()는 자식요소에만 적용됨

자식의 자식요소에는 적용이 안된다. (후손에 적용이안됨)

 

이를 해결하기 위해 자식요소에 아래 속성을 추가해줘야한다. (perspective가 적용된 자식요소에 추가해야한다)

transform-style: preserve-3d;

- 기본 값은 flat 이다.

- 3d효과를 보존하겠다라는 뜻이다.

- 이또한 후손에게는 적용이 되지 않느다.

 

만약 부모요소에서 transform : perspective 함수를 사용해서 3d효과를 적용한다면

부모요소에 transform-style: preserve-3d를 추가해줘야 3d효과가 보존된다.

perspective : 300px 과 같이 적용해도 자식요소에 3d효과가 주어지지않는다.

 

 

backface-visibility : hidden;

요소에는 뒷면이라는 것이 있다.

이를 안보이게 할 수 있다.

뒷면이 보이는 순간 화면에서 안보이게 할 수 있다.

 

728x90
반응형
LIST