试一试
transform: skew(0);
transform: skew(15deg, 15deg);
transform: skew(-0.06turn, 18deg);
transform: skew(0.312rad);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
此变换是一种剪切映射(transvection),它通过水平和垂直方向上的特定角度扭曲元素内的每个点。效果就像你抓住元素的每个角并沿特定角度拉动它们一样。
每个点的坐标都会根据指定角度和到原点的距离按比例修改。因此,离原点越远的点,增加的值越大。
语法
css
skew(ax)
skew(ax, ay)
值
正式语法
<skew()> =
skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )
示例
仅沿 x 轴倾斜
HTML
html
<div>Normal</div>
<div class="skewed">Skewed</div>
CSS
css
body {
margin: 20px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg); /* Equal to skewX(10deg) */
background-color: pink;
}
结果
沿两个轴倾斜
HTML
html
<div>Normal</div>
<div class="skewed">Skewed</div>
CSS
css
body {
margin: 20px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg, 10deg);
background-color: pink;
}
结果
规范
| 规范 |
|---|
| CSS 变换模块级别 1 # funcdef-transform-skew |
浏览器兼容性
加载中…