skew()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
CSS ÑÑнкÑÐ¸Ñ skew() ÑÑанÑÑоÑмиÑÑÐµÑ ÑлеменÑ, наклонÑÑ ÐµÐ³Ð¾ в 2D-пÑоÑÑÑанÑÑве.
ÐнÑеÑакÑивнÑй пÑимеÑ
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>
ÐÐ°Ð½Ð½Ð°Ñ ÑÑанÑÑоÑмаÑÐ¸Ñ ÑвлÑеÑÑÑ Ð»Ð¸Ð½ÐµÐ¹Ð½Ñм пÑеобÑазованием векÑоÑного пÑоÑÑÑанÑÑва (ÑÑанÑвекÑÐ¸Ñ Ð¸Ð»Ð¸ shear mapping), коÑоÑое деÑоÑмиÑÑÐµÑ ÐºÐ°Ð¶Ð´ÑÑ ÑоÑÐºÑ ÑлеменÑа на опÑеделÑннÑй Ñгол по гоÑизонÑали или веÑÑикали. ÐооÑдинаÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑоÑки изменÑÑÑÑÑ Ð½Ð° велиÑинÑ, пÑопоÑÑионалÑнÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ ÑÐ³Ð»Ñ Ð¸ ÑаÑÑÑоÑÐ½Ð¸Ñ Ð´Ð¾ ÑоÑки, оÑноÑиÑелÑно коÑоÑой вÑполнÑеÑÑÑ ÑÑанÑÑоÑмаÑÐ¸Ñ (origin); Ñаким обÑазом, Ñем болÑÑе ÑаÑÑÑоÑние до ÑмеÑаемой ÑоÑки ÑлеменÑа, Ñем болÑÑе она бÑÐ´ÐµÑ ÑмеÑена по гоÑизонÑали или веÑÑикали.
СинÑакÑиÑ
ФÑнкÑÐ¸Ñ skew() задаÑÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ или двÑÐ¼Ñ Ð·Ð½Ð°ÑениÑми коÑоÑÑе оÑобÑажаÑÑ Ð½Ð°ÐºÐ»Ð¾Ð½ в каждом из напÑавлений.
skew(ax) skew(ax, ay)
ÐнаÑениÑ
ax-
УказÑваеÑÑÑ Ð·Ð½Ð°Ñение
<angle>, коÑоÑое ÑвлÑеÑÑÑ Ñглом наклона Ð²Ð´Ð¾Ð»Ñ Ð¾Ñи X. ay-
УказÑваеÑÑÑ Ð·Ð½Ð°Ñение
<angle>, коÑоÑое ÑвлÑеÑÑÑ Ñглом наклона Ð²Ð´Ð¾Ð»Ñ Ð¾Ñи Y. ÐÑли данное знаÑение не задано, Ñо по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½Ð¾ Ñавно0. Ð ÑÑом ÑлÑÑае веÑÑикалÑного наклона не бÑдеÑ, а бÑÐ´ÐµÑ ÑолÑко гоÑизонÑалÑнÑй.
| Cartesian coordinates on â2 | Homogeneous coordinates on ââ2 | Cartesian coordinates on â3 | Homogeneous coordinates on ââ3 |
|---|---|---|---|
[1 tan(ay) tan(ax) 1 0 0] |
ÐÑимеÑÑ
>ÐÑполÑзÑÑ ÑолÑко наклон по оÑи x
HTML
<div>ÐбÑÑнÑй</div>
<div class="skewed">ÐаклонÑннÑй</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg); /* Equal to skewX(10deg) */
background-color: pink;
}
Result
ÐÑполÑзÑÑ Ð´Ð²Ð° Ñгла
HTML
<div>ÐбÑÑнÑй</div>
<div class="skewed">ÐаклонÑннÑй</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg, 10deg);
background-color: pink;
}