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

View in English Always switch to English

skewY()

基线 广泛可用

自 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;
}

结果

规范

规范
CSS Transforms Module Level 1
# funcdef-transform-skewy

浏览器兼容性

参见