此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

skewY()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

skewY() CSS 函数用于定义在二维平面上沿垂直方向倾斜元素的变换。其结果是 <transform-function> 数据类型。

尝试一下

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

此类变换是一种剪切影射,它会将元素内的每个点在垂直方向上按一定的角度进行扭曲。每个点的纵坐标(垂直方向,y 坐标)会根据指定的角度和该点到原点的距离按比例进行调整;因此,离原点越远的点,其被调整的值就越大。

语法

css
skewY(a)

a

一个表示沿纵坐标(垂直方向,y 坐标)扭曲元素的角度的 <angle>

ℝ^2 上的笛卡尔坐标 ℝℙ^2 上的齐次坐标 ℝ^3 上的笛卡尔坐标 ℝℙ^3 上的齐次坐标
(10tan(a)1)\left( \begin{array}{cc} 1 & 0 \\ \tan(a) & 1 \end{array} \right)
(100tan(a)10001)\left( \begin{array}{ccc} 1 & 0 & 0 \\ \tan(a) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
(100tan(a)10001)\left( \begin{array}{ccc} 1 & 0 & 0 \\ \tan(a) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
(1000tan(a)10000100001)\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ \tan(a) & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[1 tan(a) 0 1 0 0]

形式语法

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

示例

HTML

html
<div>正常</div>
<div class="skewed">倾斜</div>

CSS

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

.skewed {
  transform: skewY(40deg);
  background-color: pink;
}

结果

规范

Specification
CSS Transforms Module Level 1
# funcdef-transform-skewy

浏览器兼容性

参见