files/en-us/web/css/reference/values/tan/index.md
The tan() CSS function is a trigonometric function that returns the tangent of a number, which is a value between −infinity and infinity. The function contains a single calculation that must resolve to either a {{cssxref("<number>")}} or an {{cssxref("angle")}} by interpreting the result of the argument as radians.
/* Single <angle> values */
width: calc(100px * tan(45deg));
width: calc(100px * tan(0.125turn));
width: calc(100px * tan(0.785398163rad));
/* Single <number> values */
width: calc(100px * tan(0.5773502));
width: calc(100px * tan(1.732 - 1));
/* Other values */
width: calc(100px * tan(pi / 3));
width: calc(100px * tan(e));
The tan(angle) function accepts only one value as its parameter.
angle
The tangent of an angle will always return a number between −∞ and +∞.
angle is infinity, -infinity, or NaN, the result is NaN.angle is 0⁻, the result is 0⁻.angle is one of the asymptote values (such as 90deg, 270deg, etc.), the result is explicitly undefined. Authors must not rely on tan() returning any particular value for these inputs.{{CSSSyntax}}
The tan() function can be used to draw a parallelogram with a given bounding box.
<div class="parallelogram"></div>
body {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.parallelogram {
--w: 400;
--h: 200;
--angle: 30deg;
position: relative;
width: calc(1px * var(--w));
height: calc(1px * var(--h));
}
.parallelogram::before {
content: "";
position: absolute;
width: calc(100% - 100% * var(--h) / var(--w) * tan(var(--angle)));
height: 100%;
transform-origin: 0 100%;
transform: skewX(calc(0deg - var(--angle)));
background-color: red;
}
{{EmbedLiveSample('Drawing parallelograms', '100%', '250px')}}
{{Specifications}}
{{Compat}}