Spec-Zone.ru › CSS

skew()

Базовая поддержка Широко доступно

Эта функция хорошо поддерживается и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Функция skew() CSS функция определяет преобразование, которое наклоняет элемент на 2D плоскости. Ее результатом является тип данных <transform-function>.

Попробовать

Это преобразование является сдвигом (трансвекцией), который искажает каждую точку внутри элемента на определенный угол в горизонтальном и вертикальном направлениях. Эффект такой, как будто вы взяли каждый угол элемента и потянули их под определённым углом.

Координаты каждой точки изменяются на значение, пропорциональное заданному углу и расстоянию до начала координат. Таким образом, чем дальше от начала координат находится точка, тем больше значение к ней добавляется.

Синтаксис

Функция skew() задается одним или двумя значениями, которые представляют собой величину наклона, применяемую в каждом направлении. Если вы укажете только одно значение, оно будет использоваться для оси x, и наклона по оси y не будет.

skew(ax)

skew(ax, ay)

Значения

ax

Представляет собой <angle>, определяющий угол искажения элемента по оси x.

ay

Представляет собой <angle>, определяющий угол искажения элемента по оси y. Если не определён, его значение по умолчанию равно 0, что приводит к чистому горизонтальному искажению.

Декартовы координаты на ℝ^2 Однородные координаты на ℝℙ^2 Декартовы координаты на ℝ^3 Однородные координаты на ℝℙ^3
( 1 tan ( ax ) tan ( ay ) 1 ) \left( \begin{array}{cc} 1 & \tan(ax) \\ \tan(ay) & 1 \end{array} \right)
( 1 tan ( ax ) 0 tan ( ay ) 1 0 0 0 1 ) \left( \begin{array}{ccc} 1 & \tan(ax) & 0 \\ \tan(ay) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
( 1 tan ( ax ) 0 tan ( ay ) 1 0 0 0 1 ) \left( \begin{array}{ccc} 1 & \tan(ax) & 0 \\ \tan(ay) & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
( 1 tan ( ax ) 0 0 tan ( ay ) 1 0 0 0 0 1 0 0 0 0 1 ) \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]

Примеры

Искажение только по оси 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
skew 1 12
3.5Firefox 14 удалил экспериментальную поддержку skew(), но она была вновь добавлена в Firefox 15.
10.5 3.1 18 4 11 3.2 1.0 2

См. также

  • transform
  • <transform-function>
  • skewX()
  • skewY()
  • Отдельные свойства преобразования:
    • translate
    • scale
    • rotate
    • Примечание: свойства skew нет

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew

Spec-Zone.ru

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