skewX()

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.

The skewX() CSS function defines a transformation that skews an element in the horizontal direction on the 2D plane. Its result is a <transform-function> data type.

Try it

This transformation is a shear mapping (transvection) that distorts each point within an element by a certain angle in the horizontal direction. The abscissa (horizontal, x-coordinate) of each point is modified by a value proportionate to the specified angle and the distance to the origin; thus, the farther from the origin a point is, the greater will be the value added it.

Note: skewX(a) is equivalent to skew(a).

Syntax

css
skewX(a)

Values

a

Is an <angle> representing the angle to use to distort the element along the abscissa (horizontal, x-coordinate).

Cartesian coordinates on ℝ^2 Homogeneous coordinates on ℝℙ^2 Cartesian coordinates on ℝ^3 Homogeneous coordinates on ℝℙ^3
( 1 tan ( a ) 0 1 ) \left( \begin{array}{cc} 1 & \tan(a) \\ 0 & 1 \end{array} \right) ( 1 tan ( a ) 0 0 1 0 0 0 1 ) \left( \begin{array}{ccc} 1 & \tan(a) & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right) ( 1 tan ( a ) 0 0 1 0 0 0 1 ) \left( \begin{array}{ccc} 1 & \tan(a) & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right) ( 1 tan ( a ) 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ) \left( \begin{array}{cccc} 1 & \tan(a) & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[1 0 tan(a) 1 0 0]

Examples

HTML

html
<div>Normal</div>
<div class="skewed">Skewed</div>

CSS

css
div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.skewed {
  transform: skewX(10deg); /* Equal to skew(10deg) */
  background-color: pink;
}

Result

Specifications

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

Browser compatibility

BCD tables only load in the browser

See also