각 2 차원 번역 함수 (TranslateX, Translatey 및 Translate)는 길이 또는 백분율을 매개 변수로 수락합니다. 길이 단위에는 픽셀 (PX), EM, REM 및 뷰포트 장치 (VW 및 VH)가 포함됩니다.
translatex 함수는 요소의 수평 렌더링 위치를 변경합니다. 요소가 왼쪽에서 0 픽셀 인 경우 변환 : TransitionX (50px)는 렌더링 위치 50 픽셀을 시작 위치 오른쪽으로 이동합니다. 마찬가지로, Translatey는 요소의 수직 렌더링 위치를 변경합니다. Transitiony (50px)는 요소를 수직으로 50 픽셀로 이동시킵니다.
translate ()를 사용하여 단일 함수를 사용하여 요소를 수직 및 수평으로 이동할 수 있습니다. 최대 두 가지 매개 변수의 x 번역 값과 y 번역 값을 허용합니다. 아래 그림은 번역 (120%, -50px) 변환 값이있는 요소의 효과를 보여줍니다. 여기서 왼쪽의 녹색 정사각은 원래 위치에 있고 오른쪽의 녹색 정사각형은 요소와 함께 120%로 수평으로 번역됩니다. (파선) 및 수직으로 -50px로 번역. 번역 할 단일 매개 변수를 전달하는 것은 번역 값을 사용하는 것과 같습니다. Translate () 사용은보다 간결한 선택입니다. Translate (100px, 200px)의 적용은 TranslateX (100px) Translatey (200px)와 동일합니다.
양의 번역 값은 요소를 오른쪽으로 이동합니다 (Translatex의 경우) 또는 아래쪽 (Translatey의 경우). 음수 값은 요소를 왼쪽 (TranslateX) 또는 UP (Translatey)로 이동합니다.
패닝은 품목을 왼쪽, 오른쪽, 위 또는 아래로 옮기는 데 특히 유용합니다. 왼쪽, 오른쪽, 상단 및 하단 속성의 값을 업데이트하면 브라우저가 전체 문서의 레이아웃 정보를 다시 계산해야합니다. 그러나 레이아웃 가 계산 된 후 변환이 계산됩니다. 화면에서 요소
디스플레이의 위치에 영향을 미치지 만 실제 크기는 아닙니다. 그렇습니다. 문서 레이아웃과 렌더링을 별도의 개념으로 생각하는 것은 이상하지만 브라우저 측면에서는 실제로 별도입니다.
변환 속성은 가까운 브라우저에 나타날 수 있습니다
CSS 변환 사양의 최신 버전은 CSS에 변환, 회전 및 스케일 속성을 추가합니다. 변환 속성은 해당 변환 함수와 매우 유사하게 작동하지만 값은 쉼표로 구분하지 않고 공간 분리됩니다. 예를 들어, 변환을 표현할 수 있습니다 : rotate3d (1, 1, 1, 45deg) : 회전 : 1 1 45deg. 마찬가지로, 번역 : 15% 10% 300px는 Transform : Translate3d (15%, 10%, 300px) 및 스케일 : 1.5 1.5 3은 변환과 동일합니다 : scale3d (1.5, 1.5, 3). 이러한 특성을 사용하여 다른 사람보다는 회전, 번역 또는 스케일링 변환을 개별적으로 관리 할 수 있습니다.
작성 당시 변환 속성에 대한 브라우저 지원은 여전히 매우 드문입니다. 크롬과 삼성 인터넷은 상자 밖으로 그들을 지원합니다. Firefox 60 이상에서는 지원에 대한 지원이 숨겨져 있습니다.
skew, skewx 및 skewy
틸트 변환은 동일한 평면에 유지하면서 점 사이의 각도와 거리를 변경합니다. 경사 변환은 전단 변환
라고도하며, 아래에 표시된 것처럼 요소의 모양을 왜곡하는데, 여기서 점선은 요소의 원래 경계 상자를 나타냅니다.
틸트 함수 (SKEW, SKEWX 및 SKEWY)는 대부분의 각도를 매개 변수로 수용합니다. 정도, 그라디언트 및 라디안은 틸트 기능에 대한 유효 각도 단위이며 턴 장치 (아마도 명백히)는 그렇지 않습니다.
skewx 함수는 x 방향 또는 수평 방향으로 요소를 자릅니다 (아래 그림 참조). 각도 유닛이어야하는 매개 변수를 허용합니다. 양수 값은 요소를 왼쪽으로 이동시키고 음수 값은 요소를 오른쪽으로 이동시킵니다. 마찬가지로, Skewy는 요소를 Y 방향 또는 수직 방향으로 자릅니다. 다음 그림은 변환의 효과를 보여줍니다 : Skewy (30deg). 원산지의 오른쪽에있는 지점은 양수 값이 증가함에 따라 아래쪽으로 이동합니다. 음수 값은이 점이 위로 올라갑니다.
이것은 왜곡 함수로 이어집니다. SKEW 함수에는 하나의 매개 변수가 필요하지만 최대 두 개의 매개 변수를 수용 할 수 있습니다. 첫 번째 매개 변수는 요소를 X 방향으로 기울이고 두 번째 매개 변수는 요소를 y 방향으로 기울입니다. 하나의 매개 변수 만 제공되면, 두 번째 값은 0이라고 가정하여 X 방향으로 만 기울이는 것과 동일합니다. 다시 말해, Skew (45deg)의 렌더링 효과는 Skewx (45deg)와 동일합니다.
전류 변환 매트릭스
지금까지 우리는 변환 기능을 개별적으로 논의했지만 결합 할 수도 있습니다. 객체를 확장하고 회전하고 싶습니까? 문제 없음 : 변환 목록을 사용하십시오. 예를 들면 :
이것은 아래에 표시된 결과를 생성합니다.
변환 함수를 사용할 때 시퀀스가 중요합니다. 이것은 삽화로 가장 잘 설명되어 있으므로 예를 살펴 보겠습니다. 다음 CSS는 요소를 기울여 회전합니다.
아래 그림과 같이 결과를 제공합니다.
요소를 먼저 회전시킨 다음 기울이면 어떻게됩니까?
<code>.rotatescale {
transform: rotate(45deg) scale(2);
}</code>
효과 (아래 그림과 같이)는 매우 다릅니다.
각 변환에는 변환 함수의 순서대로 생성 된
전류 변환 매트릭스 가 다릅니다. 그 이유를 완전히 이해하려면 행렬 곱셈
를 배워야합니다. 이것은 또한 Matrix 및 Matrix3D 기능을 이해하는 데 도움이됩니다.
행렬 곱셈 및 행렬 함수
행렬은 사각형의 행과 열로 배열 된 숫자 또는 표현식입니다. 모든 변환은 아래와 같이 4 × 4 행렬을 사용하여 표현할 수 있습니다. <code>.transformEl {
transform: skew(10deg, 15deg) rotate(45deg);
}</code>
이 행렬은 16 개의 매개 변수를 허용하는 Matrix3d 함수에 해당하며, 각 매개 변수는 4 × 4 행렬의 값에 해당합니다. 2 차원 변환은 아래 그림과 같이 3 × 3 행렬을 사용하여 표현할 수 있습니다.
이 3 × 3 행렬은 행렬 변환 함수에 해당합니다. matrix () 함수는 6 개의 매개 변수를 허용하며, 각 매개 변수는 ~ f 에 해당합니다.
각 변환 함수는 행렬 및 행렬 또는 matrix3d 함수를 사용하여 설명 할 수 있습니다. 아래 그림은 scale3d 함수의 4 × 4 행렬을 보여줍니다. 차원 각각.
변환 (예 : 변환 : scale (2) translate (30px, 50px))를 결합하면 브라우저는 새 행렬을 생성하여 각 함수의 행렬을 곱합니다. 이 새로운 매트릭스는 요소에 적용되는 행렬입니다.
그러나 매트릭스 곱셈은 다음과 같습니다. 상호 교환 할 수 없습니다. 간단한 값의 경우 3 × 2의 제품은 2 × 3의 제품과 동일합니다. 그러나 매트릭스의 경우 의 생성물이 반드시 b 의 곱과 동일 할 필요는 없습니다. 예를 살펴 보겠습니다. 변환 (2) 번역 (30px, 50px)의 매트릭스 제품을 계산합니다.
우리의 요소는 두 배의 스케일로 스케일링 된 다음 60 픽셀을 가로로 번역하고 100 픽셀을 수직으로 번역했습니다. 또한 매트릭스 함수를 사용 하여이 제품을 나타낼 수 있습니다 : 변환 : 매트릭스 (2, 0, 0, 2, 60, 100). 이제 이러한 변환의 순서, 즉 변환 : 변환 (30px, 50px) 척도 (2)를 전환하겠습니다. 결과는 아래에 나와 있습니다.
> 우리의 물체는 여전히 두 배의 스케일링이 스케일링되었지만 여기서는 30 픽셀로 수평으로, 50 픽셀로 수평으로 팬을 팬화합니다. 매트릭스 함수를 사용하여 이것은 변환입니다 : 행렬 (2, 0, 0, 2, 30, 50).
상속 변환 함수는 변환 목록과 유사하다는 점도 주목할 가치가 있습니다. 각 어린이 변환에는 부모에게 적용되는 모든 변환이 곱합니다. 예를 들어 다음 코드를 고려하십시오
이것은 다음과 같은 렌더링 효과입니다.
두 경우 모두 P 요소의 전류 변환 행렬은 동일합니다. 우리는 지금까지 2 차원 변형에 초점을 맞추고 있지만, 상기는 3 차원 변형에도 적용됩니다. 3 차원은 깊이의 환상을 더합니다. 또한 새로운 기능과 속성의 형태로 약간의 복잡성을 제공합니다.
CSS의 2 차원 변환 기능에 대한 자주 묻는 질문
CSS의 다른 유형의 2 차원 변환 기능은 무엇입니까?
CSS에는 여러 유형의 2 차원 변환 기능이 있습니다. 여기에는 translate (), rotate (), scale (), skew () 및 matrix ()가 포함됩니다. 각 함수를 사용하면 다른 방식으로 요소를 조작 할 수 있습니다. 예를 들어, Translate () 함수는 현재 위치에서 요소를 이동하고 rotate () 함수는 주어진 지점 주위에서 요소를 회전시킵니다. scale () 함수는 요소의 크기를 변경하고 skew () 함수는 x 축과 y 축을 따라 요소를 비틀어줍니다. Matrix () 함수는 이러한 모든 변환을 하나로 결합합니다. CSS에서 Translate () 함수를 사용하는 방법은 무엇입니까?
CSS의 TransLate () 함수는 현재 위치에서 요소를 이동하는 데 사용됩니다. x 축 값과 y 축 값의 두 가지 매개 변수가 있습니다. 예를 들어, 요소 50 픽셀을 오른쪽으로, 20 픽셀을 아래로 이동하려면 다음 코드를 사용할 수 있습니다. 변환 (50px, 20px);. 이것은 페이지의 다른 요소의 레이아웃에 영향을 미치지 않고 요소를 새로운 위치로 이동합니다.
CSS에서 여러 2D 변환 함수를 결합 할 수 있습니까?
예, CSS에서 여러 2D 변환 함수를 결합 할 수 있습니다. 이렇게하려면 변환 속성에 각 함수를 나열하고 공백으로 분리하십시오. 예를 들어, 요소를 크기의 두 배로 확장 한 다음 45도 회전하려면 다음 코드를 사용할 수 있습니다. 변환 (2) 회전 (45deg);. 변환은 나열된 순서로 적용됩니다.
CSS에서 matrix () 함수의 목적은 무엇입니까?
CSS의 Matrix () 함수는 동시에 여러 변환을 수행 할 수있는 매우 강력한 변환 함수입니다. 2 × 3 행렬의 값을 나타내는 6 개의 매개 변수가 있습니다. 이 매트릭스는 스케일링, 회전, 기울기 및 번역 변환의 조합을 수행하는 데 사용됩니다. 다른 변환 함수보다 더 복잡하지만 변환 프로세스에 대한 높은 수준의 제어를 제공합니다.
skew () 함수는 CSS에서 어떻게 작동합니까?
CSS의 Skew () 함수는 X 축 및 Y 축을 따라 요소를 비틀기 위해 사용됩니다. 여기에는 두 가지 매개 변수가 있습니다. X 축의 경사각과 Y 축의 경사 각도. 예를 들어, 요소를 x 축을 따라 30도, Y 축을 따라 20도 기울이려면 다음 코드를 사용할 수 있습니다. 변환 (30deg, 20deg);. 이것은 요소를 왜곡하여 틸트 효과를 만듭니다.
CSS의 HTML 요소에 2D 변환 기능을 사용할 수 있습니까?
예, CSS의 모든 HTML 요소에 2D 변환 기능을 사용할 수 있습니다. 여기에는 블록 레벨 요소 (예 : DIV) 및 인라인 요소 (예 : SPAN)가 포함됩니다. 그러나 변환이 적용되는 방식은 요소 유형과 레이아웃의 위치에 따라 다를 수 있습니다.
CSS에서 Translate () 함수의 단위를 지정하지 않으면 어떻게됩니까?
CSS에서 Trranslate () 함수의 단위를 지정하지 않으면 이러한 값은 픽셀 값으로 취급됩니다. 이것은 변환을 의미한다 : 번역 (50, 20); 그러나 일반적으로 명확성과 일관성을 보장하기 위해 항상 단위를 지정하는 것이 가장 좋습니다.
CSS의 2D 변환을 애니메이션하는 방법은 무엇입니까?
전환 속성을 사용하여 CSS의 2D 변환을 애니메이션 할 수 있습니다. 이 속성을 사용하면 지속 시간, 타이밍 기능 및 전환 지연을 지정할 수 있습니다. 예를 들어, 2 초 안에 회전을 애니메이션하려면 다음 코드를 사용할 수 있습니다. Transform : Transform : 회전 (45deg); 이것은 지정된 기간 동안 회전을 원활하게 애니메이션합니다.
CSS의 rotate ()와 skew () 함수의 차이점은 무엇입니까?
CSS의 rotate () 및 skew () 함수는 다른 방식으로 요소에서 작동합니다. 회전 () 함수는 주어진 지점 주위의 요소를 회전시키는 반면 skew () 함수는 x 및 y 축을 따라 요소를 비틀어줍니다. 이는 Rotate ()가 요소의 방향을 변경하고 Skew ()가 요소의 모양을 변경 함을 의미합니다.
CSS의 다른 CSS 속성과 함께 2D 변환 함수를 사용할 수 있습니까?
예, 다른 CSS 속성과 함께 CSS에서 2D 변환 함수를 사용할 수 있습니다. 예를 들어, Border-Radius 속성과 함께 변형 속성을 사용하여 둥근 모서리가있는 회전 요소를 만들 수 있습니다. 그러나 속성이 적용되는 순서는 최종 결과에 영향을 미칩니다.