rotateZ()

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

rotateZ() CSS 函式定義了一個圍繞 z 軸旋轉元素而不使其變形的變換。其結果是 <transform-function> 資料型別。

試一試

transform: rotateZ(0);
transform: rotateZ(90deg);
transform: rotateZ(-0.25turn);
transform: rotateZ(3.142rad);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

旋轉軸穿過一個原點,該原點由 transform-origin CSS 屬性定義。

注意: rotateZ(a) 等同於 rotate(a)rotate3d(0, 0, 1, a)

注意:與 2D 平面中的旋轉不同,3D 旋轉的組合通常不可交換。換句話說,應用旋轉的順序會影響結果。

語法

css
rotateZ(a)

a

表示旋轉角度的<angle>。正角度表示順時針旋轉,負角度表示逆時針旋轉。

笛卡爾座標,在 ℝ^2 齊次座標,在 ℝℙ^2 笛卡爾座標,在 ℝ^3 齊次座標,在 ℝℙ^3
此變換適用於 3D 空間,無法在平面上表示。
(cos(a)-sin(a)0sin(a)cos(a)0001)\left( \begin{array}{ccc} \cos(a) & -\sin(a) & 0 \\ \sin(a) & \cos(a) & 0 \\ 0 & 0 & 1 \end{array} \right)
(cos(a)-sin(a)00sin(a)cos(a)0000100001)\left( \begin{array}{cccc} \cos(a) & -\sin(a) & 0 & 0 \\ \sin(a) & \cos(a) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)

正式語法

<rotateZ()> = 
rotateZ( [ <angle> | <zero> ] )

示例

HTML

html
<div>Normal</div>
<div class="rotated">Rotated</div>

CSS

css
div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.rotated {
  transform: rotateZ(45deg);
  background-color: pink;
}

結果

規範

規範
CSS 變換模組級別 2
# funcdef-rotatez

瀏覽器相容性

另見