skew()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Die skew() CSS Funktion definiert eine Transformation, die ein Element in der 2D-Ebene schiefstellt. Ihr Ergebnis ist ein <transform-function> Datentyp.

Probieren Sie es aus

Diese Transformation ist eine Scherung (Transvektion), die jeden Punkt innerhalb eines Elements um einen bestimmten Winkel in den horizontalen und vertikalen Richtungen verzerrt. Der Effekt ist, als ob Sie jede Ecke des Elements greifen und sie entlang eines bestimmten Winkels ziehen würden.

Die Koordinaten jedes Punktes werden durch einen Wert modifiziert, der proportional zu dem spezifizierten Winkel und der Entfernung zum Ursprung ist. Je weiter ein Punkt vom Ursprung entfernt ist, desto größer ist der hinzugefügte Wert.

Syntax

Die skew()-Funktion wird entweder mit einem oder zwei Werten angegeben, die die Menge der Schiefe angeben, die in jeder Richtung angewendet werden soll. Wenn Sie nur einen Wert angeben, wird dieser für die x-Achse verwendet und es erfolgt keine Schiefe auf der y-Achse.

css
skew(ax)

skew(ax, ay)

Werte

ax

Ist ein <angle>, der den Winkel darstellt, der verwendet wird, um das Element entlang der x-Achse zu verzerren.

ay

Ist ein <angle>, der den Winkel darstellt, der verwendet wird, um das Element entlang der y-Achse zu verzerren. Wenn nicht definiert, ist der Standardwert 0, was zu einer rein horizontalen Schiefe führt.

Kartesische Koordinaten auf ℝ^2 Homogene Koordinaten auf ℝℙ^2 Kartesische Koordinaten auf ℝ^3 Homogene Koordinaten auf ℝℙ^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]

Beispiele

Schiefe nur auf der x-Achse

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;
}

Ergebnis

Schiefe auf beiden Achsen

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;
}

Ergebnis

Spezifikationen

Specification
CSS Transforms Module Level 1
# funcdef-transform-skew

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch