rotateY()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

rotateY() CSS 函数定义了一个变换,它围绕 y 轴(垂直)旋转一个元素而不使其变形。其结果是 <transform-function> 数据类型。

试一试

transform: rotateY(0);
transform: rotateY(45deg);
transform: rotateY(-0.2turn);
transform: rotateY(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 属性定义。

注意:rotateY(a) 等效于 rotate3d(0, 1, 0, a)

注意:与 2D 平面中的旋转不同,3D 旋转的组合通常不可交换。换句话说,应用旋转的顺序会影响结果。

语法

css
rotateY(a)

a

表示旋转角度的<angle>。正角度表示顺时针旋转,负角度表示逆时针旋转。

笛卡尔坐标,在 ℝ^2 齐次坐标,在 ℝℙ^2 笛卡尔坐标,在 ℝ^3 齐次坐标,在 ℝℙ^3
此变换适用于 3D 空间,无法在平面上表示。
(cos(a)0sin(a)010-sin(a)0cos(a))\left( \begin{array}{ccc} \cos(a) & 0 & \sin(a) \\ 0 & 1 & 0 \\ -\sin(a) & 0 & \cos(a) \end{array} \right)
(cos(a)0sin(a)00100-sin(a)0cos(a)00001)\left( \begin{array}{cccc} \cos(a) & 0 & \sin(a) & 0 \\ 0 & 1 & 0 & 0 \\ -\sin(a) & 0 & \cos(a) & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)

正式语法

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

示例

HTML

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

CSS

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

.rotated {
  transform: rotateY(60deg);
  background-color: pink;
}

结果

规范

规范
CSS 变换模块级别 2
# funcdef-rotatey

浏览器兼容性

另见