CSS تبدیلات 2D

CSS تبدیلات 2D

CSS 转换(transforms)允许您移动、旋转、缩放和倾斜元素。

把鼠标悬停在下面的元素上,可以查看 2D 转换:

2D rotate

在本章中,您将学习如下 CSS 属性:

  • transform

浏览器支持

表格中的数字指注明了完全支持该属性的首个浏览器版本。

ਪੈਰਾਮੀਟਰ Chrome IE Firefox Safari Opera
transform 36.0 10.0 16.0 9.0 23.0

CSS 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਮੱਥਦਾ

通过使用 CSS transform 属性,您可以利用以下 2D 转换方法:

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

提示:您将在下一章中学习 3D 转换。

translate() 方法

Translate

translate() 方法从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。

下面的例子把

元素从其当前位置向右移动 50 个像素,并向下移动 100 个像素:

ਇੰਸਟੈਂਸ

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

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

rotate() 方法

Rotate

rotate() 方法根据给定的角度顺时针或逆时针旋转元素。

下面的例子把

元素顺时针旋转 20 度:

ਇੰਸਟੈਂਸ

div {
  transform: rotate(20deg);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

使用负值将逆时针旋转元素。

下面的例子把

元素逆时针旋转 20 度:

ਇੰਸਟੈਂਸ

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

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

scale() 方法

Scale

scale() 方法增加或减少元素的大小(根据给定的宽度和高度参数)。

下面的例子把

元素增大为其原始宽度的两倍和其原始高度的三倍:

ਇੰਸਟੈਂਸ

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

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

下面的例子把

元素减小为其原始宽度和高度的一半:

ਇੰਸਟੈਂਸ

div {
  transform: scale(0.5, 0.5);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

scaleX() 方法

scaleX() 方法增加或减少元素的宽度。

下面的例子把

元素增大为其原始宽度的两倍:

ਇੰਸਟੈਂਸ

div {
  transform: scaleX(2);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

以下例子把

元素缩减为其原始宽度的一半:

ਇੰਸਟੈਂਸ

div {
  transform: scaleX(0.5);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

scaleY() 方法

scaleY() 方法增加或减少元素的高度。

下面的例子把

元素增大到其原始高度的三倍:

ਇੰਸਟੈਂਸ

div {
  transform: scaleY(3);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

下面的例子把

元素缩减为其原始高度的一半:

ਇੰਸਟੈਂਸ

div {
  transform: scaleY(0.5);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

skewX() 方法

skewX() 方法使元素沿 X 轴倾斜给定角度。

下例把

元素沿X轴倾斜 20 度:

ਇੰਸਟੈਂਸ

div {
  transform: skewX(20deg);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

skewY() 方法

skewY() 方法使元素沿 Y 轴倾斜给定角度。

下例把

元素沿 Y 轴倾斜 20 度:

ਇੰਸਟੈਂਸ

div {
  transform: skewY(20deg);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

skew() 方法

skew() 方法使元素沿 X 和 Y 轴倾斜给定角度。

ਹੇਠਲੇ ਉਦਾਹਰਣ ਵਿੱਚ <div> ਐਲੀਮੈਂਟ ਨੂੰ X ਅਕਸ਼ ਉੱਤੇ 20 ਡਿਗਰੀ ਅਤੇ Y ਅਕਸ਼ ਉੱਤੇ 10 ਡਿਗਰੀ ਸਕੀਅਰ ਕੀਤਾ ਜਾਵੇਗਾ:

ਇੰਸਟੈਂਸ

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

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

ਜੇਕਰ ਦੂਜਾ ਪੈਰਾਮੀਟਰ ਨਾ ਦਿੱਤਾ ਜਾਵੇ ਤਾਂ ਉਸ ਦਾ ਮੁੱਲ ਜ਼ਿਰੋ ਹੋਵੇਗਾ। ਇਸ ਲਈ ਹੇਠਲੇ ਉਦਾਹਰਣ ਵਿੱਚ <div> ਐਲੀਮੈਂਟ ਨੂੰ X ਅਕਸ਼ ਉੱਤੇ 20 ਡਿਗਰੀ ਸਕੀਅਰ ਕੀਤਾ ਜਾਵੇਗਾ:

ਇੰਸਟੈਂਸ

div {
  transform: skew(20deg);
}

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

matrix() ਮੱਥਦਾ

Rotate

matrix() ਮੱਥਦਾ ਸਾਰੇ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਮੱਥਦਾਂ ਨੂੰ ਇੱਕ ਮਿਲਾ ਦਿੰਦਾ ਹੈ。

matrix() ਮੱਥਦਾ ਛੇ ਪੈਰਾਮੀਟਰ ਮੰਗਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਗਣਿਤਕ ਫੰਕਸ਼ਨ ਵੀ ਸ਼ਾਮਲ ਹਨ, ਇਹ ਪੈਰਾਮੀਟਰ ਤੁਹਾਨੂੰ ਐਲੀਮੈਂਟ ਨੂੰ ਚੱਕਰਵਾਤ, ਸਕੇਲ, ਟਰਾਂਸਲੇਸ਼ਨ (ਟਰਾਂਸਲੇਸ਼ਨ) ਅਤੇ ਸਕੀਅਰ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ。

ਪੈਰਾਮੀਟਰ ਇਸ ਤਰ੍ਹਾਂ ਹਨ: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())

ਇੰਸਟੈਂਸ

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

ਸਵੈ ਮੁਹਾਰਤ ਕਰੋ

CSS ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਪੈਰਾਮੀਟਰ

ਹੇਠਲੀ ਤਾਲਿਕਾ ਸਾਰੇ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ:

ਪੈਰਾਮੀਟਰ ਵਰਣਨ
transform 2D ਜਾਂ 3D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਐਲੀਮੈਂਟ ਉੱਤੇ ਲਾਗੂ ਕਰੋ。
transform-origin ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਵਾਲੇ ਐਲੀਮੈਂਟ ਦੀ ਸਥਿਤੀ ਬਦਲ ਸਕਦੇ ਹਨ。

CSS 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ ਮੱਥਦਾ

ਫੰਕਸ਼ਨ ਵਰਣਨ
matrix(n,n,n,n,n,n) ਡਿਫਾਇਨਸ਼ਨ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ, ਛੇ ਮੁੱਲਾਂ ਵਾਲੇ ਮੈਟ੍ਰਿਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ。
translate(x,y) ਡਿਫਾਇਨਸ਼ਨ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ, ਅਣਗਿਣਤ ਅਕਸ਼ ਉੱਤੇ ਐਲੀਮੈਂਟ ਚਲਾਓ。
translateX(n) ਡਿਫਾਇਨਸ਼ਨ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ, ਅਣਗਿਣਤ ਅਕਸ਼ ਉੱਤੇ ਐਲੀਮੈਂਟ ਚਲਾਓ。
translateY(n) ਡਿਫਾਇਨਸ਼ਨ 2D ਟਰਾਂਸਫਾਰਮੇਸ਼ਨ, ਅਣਗਿਣਤ ਅਕਸ਼ ਉੱਤੇ ਐਲੀਮੈਂਟ ਚਲਾਓ。
scale(x,y) تعریف تغییرات 2D بزرگنمایی، تغییر عرض و ارتفاع عنصر.
scaleX(n) تعریف تغییرات 2D بزرگنمایی، تغییر عرض عنصر.
scaleY(n) تعریف تغییرات 2D بزرگنمایی، تغییر ارتفاع عنصر.
rotate(angle) تعریف چرخش 2D، در پارامترها تعیین می‌شود.
skew(x-angle,y-angle) تعریف تغییرات 2D کجی، در طول محور X و Y.
skewX(angle) تعریف تغییرات 2D کجی، در طول محور X.
skewY(angle) تعریف تغییرات 2D کجی، در طول محور Y.