CSS 2D 변환

2D 변환

CSS 변환을 사용하면 요소를 이동, 회전, 축척 및 왜곡할 수 있습니다.

이 장에서는 다음 CSS 속성에 대해 학습합니다.

  • transform

지원 브라우저

표의 숫자는 속성을 완전히 지원하는 최소 브라우저 버전을 지정합니다.

브라우저 구글 Chrome 마이크로소프트 Edge Firefox Safari Opera
버전 36.0 10.0 16.0 9.0 23.0

2D 변환 메서드

transform 속성을 사용하여 다음과 같은 2D 변환 방법을 사용할 수 있습니다.

  • translate()
  • rotate()
  • scaleX()
  • scaleY()
  • scale()
  • skewX()
  • skewY()
  • skew()
  • matrix()

translate()

translate() 메서드는 X축과 Y축에 대해 주어진 매개변수에 따라 요소를 현재 위치에서 이동합니다.

다음 예제에서는 <div> 요소를 50픽셀 오른쪽으로 이동하고 현재 위치에서 100픽셀 아래로 이동합니다.

예제 1
div {
  transform: translate(50px, 100px);
}

rotate()

rotate() 메서드는 주어진 정도에 따라 요소를 시계 방향 또는 반시계 방향으로 회전시킵니다.

다음 예제에서는 <div> 요소를 시계 방향으로 20도 회전합니다.

예제 2
div {
  transform: rotate(20deg);
}

음수 값을 사용하면 요소가 시계 반대 방향으로 회전합니다.

다음 예제에서는 <div> 요소를 시계 반대 방향으로 20도 회전합니다.

예제 3
div {
  transform: rotate(-20deg);
}

scale()

scale() 메서드는 폭과 높이에 대해 주어진 모수에 따라 요소의 크기를 늘리거나 줄입니다.

다음 예제에서는 <div> 요소를 원래 너비의 두 배와 원래 높이의 세 배로 늘립니다.

예제 4
div {
  transform: scale(2, 3);
}

다음 예제에서는 <div> 요소를 원래 너비와 높이의 절반으로 줄입니다.

예제 5
div {
  transform: scale(0.5, 0.5);
}

scaleX()

scaleX() 메서드는 요소의 너비를 늘리거나 줄입니다.

다음 예제에서는 <div> 요소를 원래 너비의 두 배로 늘립니다.

예제 6
div {
  transform: scaleX(2);
}

다음 예제에서는 <div> 요소를 원래 너비의 절반으로 줄입니다.

예제 7
div {
  transform: scaleX(0.5);
}

scaleY()

scaleY() 메서드는 요소의 높이를 증가시키거나 감소시킵니다.

다음 예제에서는 <div> 요소를 원래 높이의 세 배로 늘립니다.

예제 8
div {
  transform: scaleY(3);
}

다음 예제에서는 <div> 요소를 원래 높이의 절반으로 줄입니다.

예제 9
div {
  transform: scaleY(0.5);
}

skewX()

skewX() 메서드는 X 축을 따라 지정된 각도만큼 요소를 왜곡시킵니다.

다음 예제에서는 <div> 요소를 X축을 따라 20도 기울입니다.

예제 10
div {
  transform: skewX(20deg);
}

skewY()

skewY() 메서드는 Y 축을 따라 지정된 각도만큼 요소를 스큐합니다.

다음 예제에서는 Y축을 따라 <div> 요소를 20도 기울입니다.

예제 11
div {
  transform: skewY(20deg);
}

skew()

skew() 메서드는 X 축과 Y 축을 따라 지정된 각도만큼 요소를 스큐합니다.

다음 예제에서는 <div> 요소를 X축을 따라 20도, Y축을 따라 10도 기울입니다.

예제 12
div {
  transform: skew(20deg, 10deg);
}

두 번째 매개 변수가 지정되지 않은 경우 값이 0입니다. 다음 예제에서는 <div> 요소를 X축을 따라 20도 기울입니다.

예제 13
div {
  transform: skew(20deg);
}

matrix()

matrix() 메서드는 모든 2D 변환 방법을 하나로 결합합니다.

matrix() 메서드는는 회전, 스케일링, 이동(변환) 및 스큐 요소를 사용할 수 있는 수학적 함수가 포함된 6개의 모수가 사용됩니다.

매개변수는 matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())입니다.

예제 14
div {
  transform: matrix(1, -0.3, 0, 1, 0, 0);
}