Функция CSS `skew()`
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
skew() CSS функция определяет преобразование, которое наклоняет элемент на двумерной плоскости. Результатом является тип данных <transform-function>.
Попробуйте
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>
Это преобразование представляет собой сдвиговое отображение (сдвиг), которое искажает каждую точку элемента на определённый угол в горизонтальном и вертикальном направлениях. Эффект напоминает ситуацию, когда вы берётесь за каждый угол элемента и тянете его под определённым углом.
Координаты каждой точки изменяются на величину, пропорциональную заданному углу и расстоянию до начала координат. Поэтому чем дальше точка находится от начала координат, тем большее значение к ней добавляется.
Синтаксис
skew(ax) skew(ax, ay)
Значения
-
ax - Представляет собой
<angle>, задающий угол, на который нужно исказить элемент вдоль оси x. -
ayНеобязательно - Представляет собой
<angle>, задающий угол, на который нужно исказить элемент вдоль оси y. Если значение не задано, по умолчанию используется0, что приводит к наклону только по горизонтали.
| Декартовы координаты в ℝ^2 | Однородные координаты в ℝℙ^2 | Декартовы координаты в ℝ^3 | Однородные координаты в ℝℙ^3 |
|---|---|---|---|
[1 tan(ay) tan(ax) 1 0 0] |
Формальный синтаксис
<skew()> =
skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )
Примеры
Наклон только по оси x
HTML
<div>Normal</div> <div class="skewed">Skewed</div>
CSS
body {
margin: 20px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg); /* Equal to skewX(10deg) */
background-color: pink;
}
Результат
Наклон по обеим осям
HTML
<div>Normal</div> <div class="skewed">Skewed</div>
CSS
body {
margin: 20px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.skewed {
transform: skew(10deg, 10deg);
background-color: pink;
}
Результат
Спецификации
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
skew |
1 |
12 |
3.5Firefox 14 удалил экспериментальную поддержкуskew(), но она была возвращена в Firefox 15. |
10.5 |
3.1 |
18 |
4 |
11 |
3.2 |
1.0 |
2 |
3.2 |
См. также
transform<transform-function>- skewX()
- skewY()
- Отдельные свойства преобразования:
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/skew