Spec-Zone.ru › CSS

Функция 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
(1tan(ax)tan(ay)1)\left( \begin{array}{cc} 1 & \tan(ax) \\ \tan(ay) & 1 \end{array} \right) (1tan(ax)0tan(ay)10001)\left( \begin{array}{ccc} 1 & \tan(ax) & 0 \\ \tan(ay) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right) (1tan(ax)0tan(ay)10001)\left( \begin{array}{ccc} 1 & \tan(ax) & 0 \\ \tan(ay) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right) (1tan(ax)00tan(ay)10000100001)\left( \begin{array}{cccc} 1 & \tan(ax) & 0 & 0 \\ \tan(ay) & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[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;
}

Результат

Спецификации

Спецификация
Модуль CSS Transforms, уровень 1
# funcdef-transform-skew

Совместимость с браузерами

Настольные устройства Мобильные устройства
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()
  • Отдельные свойства преобразования:
    • translate
    • scale
    • rotate
    • Примечание: свойства skew не существует

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API