본문 바로가기

프론트엔드/HTML, CSS, JS기본

CSS 속성(10) - 변환(transform)

변환(transform)

transform 요소의 변환 효과를 지정하는 속성입니다.

transform속성에 값을 부여했을 때 변환함수1 변환함수2; 이렇게 할 수 있습니다.

즉, 함수들 사이에 띄어쓰기로 구분할 수 있습니다.

하지만 무작위로 할 수 있는게 아니고 특정한 순서가 있습니다.

transform: 원근법 이동 크기 회전 기울임;

위와 같이 표시됩니다.

 

2D 변환 함수

함수 의미 단위
translate(x, y) 이동(x축, y축) px
translateX(x) 이동(x축) px
translateY(y) 이동(y축) px
scale(x, y) 크기(x축, y축) px
scaleX(x) 크기(x축) 없음(배수)
scaleY(y) 크기(x축) 없음(배수)
함수 의미 단위
rotate(degree) 회전(각도) deg
skew(x, y) 기울임(x축, y축) deg
skewX(x) 기울임(x축축) deg
skewY(y) 기울임(x축) deg
matrix(n, n, n, n, n, n) 2차원 변환 효과  

 

빈칸 

자주 사용된 함수들은 굵게 표시했습니다.

 

3D 변환 함수

함수 의미 단위
translateZ(z) 이동(z축) px
translate3d(x, y, z) 이동(x축, y축, z축) px
scaleZ(z) 크기(z축) px
scale3d(x, y, z) 크기(x축, y축, z축) px
함수 의미 단위
rotateX(x) 회전(x축) deg
rotateY(y) 회전(y축) deg
rotateZ(z) 회전(z축) deg
rotate3d(x, y, z, a) 회전(x축, y축, z축, 각도) deg
함수 의미 단위
perspective(n) 원근법(거리) px
matrix3d(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n) 3차원 변환 효과  

3D 변환 함수 중 자주 사용된 것은 총 3개입니다.

rotateX(x), rotateY(y), perspective(n)  입니다.

 

transform: translate함수

transform: translateX(40px) 중 X가 인수(argument)로도 불립니다.

 

transform: scale함수

scale은 크기를 표시하는 거라 단위는 없습니다.

 

transform: rotate함수

rotateX와 rotateY는 3차원 함수입니다.

지금 예시처럼 어떤 변화가 나는지 잘 모르겠는데

이게 바로 원근법을 사용 안했기때문입니다.

 

transform: perspective함수

원근법함수를 추가하여 3d 효과를 냈습니다.

perspective함수에 500px같은 경우는 나와 물체의 거리를 생각하시면 됩니다.

거리가 짧을수록 물체 왜곡이 더 심합니다(원근법 특성때문입니다).

주의해야할 점은 원근법 함수는 제일 앞에 작성해야 합니다.

 

transform: skew함수

skew함수는 기울임을 의미합니다.

 

perspective 속성

perspective는 하위 요소를 관찰하는 원근 거리를 지정하는 속성입니다.

px등 단위로 지정할 수 있습니다.

 

perspective 속성과 함수의 차이점

속성/함수 적용 대상 기준점 설정
perspective: 600px; 관찰 대상의 부모 perspective-origin
transform: perspective(600px) 관찰 대상 transform-origin

perspective 함수와 속성의 차이

 

backface-visibility속성

backface-visibility는 3D 변환으로 회전된 요소의 뒷면 숨김 여부를 제어하는 속성입니다.

visible란 기본값(뒷면 보임)이 들어 있으며,

hidden(뒷면 숨김) 값도 있습니다.

 

backface-visibility속성