객체의 위치를 가로(x), 세로(y), 깊이(z) 방향으로 정의하여 이동시킵니다. 단위로는 px, %, em 따위를 사용할 수 있습니다. 예를들어,translate(60px, 60px, 60px)은 객체를 우측으로 60px, 하단으로 60px, 그리고 사용자와 60px만큼 가까운 위치로 이동시킵니다. 또한, 양수와 음수를 사용할 수 있습니다. 더 자세한 내용은 추후 기술합니다.
translateX(n)
객체의 위치를 가로 방향으로만 이동시킵니다.translateX(100px)은 우측으로 100px만큼 이동합니다. -100px과 같이 음수로 기재하면 반대방향인 좌측으로 100px만큼 이동합니다.
translateY(n)
객체의 위치를 세로 방향으로만 이동시킵니다. -100px과 같이 음수로 기재하면 반대방향인 상단으로 100px만큼 이동합니다.
scale3d(x,y,z)
객체의 세 방향을 한번에 늘이거나 줄일 수 입니다.
scaleX(n)
객체를 x축 중심으로 늘이거나 줄입니다.
scaleY(n)
객체를 y축 중심으로 늘이거나 줄입니다.
scaleZ(n)
객체를 z축 중심으로 늘이거나 줄입니다. CSS에는 두께라는 개념이 없습니다.
rotate3d(x,y,z)
객체의 세 방향을 한번에 회전 시킵니다.
rotateX(n)
X축을 중심으로 객체를 회전시킵니다. 아래 종합예제에서 보여줍니다.
rotateY(n)
Y축을 중심으로 객체를 회전시킵니다. 아래 종합예제에서 보여줍니다.
rotateZ(n)
2D Transform의 Rotate와 동일합니다.
perspective(n)
객체를 바라보는 원근을 입니다. 화면을 바라보는 사용자로부터 얼마나 멀리에 위치하는가를 나타냅니다.px을 사용하며, 수치가 낮을수록 가깝기 때문에 왜곡도 심하게 일어납니다. 자세한 내용은 추후 다시 설명합니다.
matrix3d(nx16)
2D Transform에서 알아봤듯이, 모든 값을 한번에 지정할 수 있지만, 16개의 값이 존재하며, 여기서 다룰 수 없는 영역입니다.
# translateZ 의 이해.
기본 좌표계의 카메라를 기준으로, 사용자와 가까워지느냐(=사물이 커진다) 멀어지느냐로 이해하면 편하다.
객체의 위치를 가로(x), 세로(y) 방향을 정의하여 이동시킵니다. 단위로는 px, %, em 따위를 사용할 수 있습니다. 예를들어,translate(100px, 100px)은 객체를 우측으로 100px, 하단으로 100px만큼 이동시킵니다. 또한, 양수와 음수를 사용할 수 있습니다. 이 부분은 아래를 더 읽어보세요.
translateX(n)
객체의 위치를 가로 방향으로만 이동시킵니다.translateX(100px)은 우측으로 100px만큼 이동합니다. -100px과 같이 음수로 기재하면 반대방향인 좌측으로 100px만큼 이동합니다.
translateY(n)
객체의 위치를 세로 방향으로만 이동시킵니다. -100px과 같이 음수로 기재하면 반대방향인 상단으로 100px만큼 이동합니다.
scale(x,y)
객체의 크기를 늘이거나 줄일 수 입니다. x는 너비, y는 높이가 됩니다. x와 y는 0부터 1까지 사이의 숫자만 기재합니다. 1이 기본 크기, 2는 2배 크기, 3은 3배 크기이며, 0.9는 기본 크기의 90% 크기, 0.5는 절반 크기입니다. 0은 아예 화면에서 사라지고, 0.15는 기본 크기의 15% 크기입니다.translate와 같이 음수를 사용하지 않고 소숫점 단위의 숫자를 사용한다는 것에 유의하세요.
따라서, 너비와 높이 100px짜리 객체가 있을 경우,scale(2,0.5)를 적용했을 때는 너비 200px, 높이 50px로 변경됩니다.
대부분 객체의 크기는 미리 css의width와height속성을 사용하여 정의를 하기 때문에, Transform에서의 scale() 함수에서는 미리 정해진 크기에 비례하여 늘이거나 줄이는 역할을 합니다.