We can use the CSS3 transform property for 2D-Transformation.
Here are properties used in 2D-Transformation.
translate(), rotate(), scaleX(), scaleY(), scale(), skewX(), skewY(), skew(), matrix()
Rotating a block at 20deg in a clockwise direction.
The translate() method moves an element from its current position (according to the parameters given for the X-axis and the Y-axis). The following example moves the <div> element 50 pixels to the right, and 100 pixels down from its current position:
<style>
div {transform: translate(50px, 100px);
}
</style>
The rotate() method rotates an element clockwise or counter-clockwise according to a given degree. The following example rotates the <div> element clockwise with 20 degrees:
<style>
div {transform: rotate(20deg);
}
</style>
Using negative values will rotate the element counter-clockwise.
The following example rotates the <div> element counter-clockwise with 20 degrees:
<style>
div {
transform: rotate(-20deg);
}
</style>
The scale() method increases or decreases the size of an element (according to the parameters given for the width and height).
The following example increases the <div> element to be two times its original width, and three times its original height:
<style>
div {
transform: scale(2, 3);
}
</style>
The following example decreases the <div> element to behalf of its original width and height:
<style>
div {
transform: scale(0.5, 0.5);
}
</style>
The scaleX() method increases or decreases the width of an element.
The following example increases the <div> element to be two times its original width:
<style>
div {
transform: scaleX(2);
}
</style>
The following example decreases the <div> element to behalf of its original width:
<style>
div {
transform: scaleX(0.5);
}
</style>
The scaleY() method increases or decreases the height of an element.
The following example increases the <div> element to be three times its original height:
<style>
div {
transform: scaleY(3);
}
</style>
The following example decreases the <div> element to behalf of its original height:
<style>
div {
transform: scaleY(0.5);
}
</style>
The skewX() method skews an element along the X-axis by the given angle.
The following example skews the <div> element 20 degrees along the X-axis:
<style>
div {
transform: skewX(20deg);
}
</style>
The skew() method skews an element along the Y-axis by the given angle.
The following example skews the <div> element 20 degrees along the Y-axis
<style>
div {
transform: skewY(20deg);
}
</style>
The skew() method skews an element along the X and Y-axis by the given angles. The following example skews the <div> element 20 degrees along the X-axis, and 10 degrees along the Y-axis:
<style>
div {
transform: skew(20deg, 10deg);
}
</style>
If the second parameter is not specified, it has a zero value. So, the following example skews the <div> element 20 degrees along the X-axis:
<style>
div {
transform: skew(20deg);
}
</style>
Rotate The matrix() method combines all the 2D transform methods into one.
The matrix() method takes six parameters, containing mathematic functions, which allows you to rotate, scale, move (translate), and skew elements.
The parameters are as follow: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())
<style>
div {
transform: matrix(1, -0.3, 0, 1, 0, 0);
}
</style>
<!DOCTYPE html>
<html>
<head>
<title>Button</title>
<style>
p{transform: matrix(1, -0.3, 0, 1, 0, 0);
}
</style>
</head>
<body>
<p type="submit" style="color:red;">
TDB Tutorials
</p>
</body>
</html>