CSS 2D Transforms

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP




<!--
main_leaderboard, all: [728,90][970,90][320,50][468,60]
-->



CSS 2D Transforms



❮ Previous
Next ❯


CSS Transforms


CSS transforms allow you to translate, rotate, scale, and skew elements.


A transformation is an effect that lets an element change shape, size and position.


CSS supports 2D and 3D transformations.


Mouse over the elements below to see the difference between a 2D and a 3D transformation:



2D rotate

3D rotate



Browser Support for 2D Transforms


The numbers in the table specify the first browser version that fully supports the property.


Numbers followed by -ms-, -webkit-, -moz-, or -o- specify the first version that worked with a prefix.





















Property
transform 36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
9.0
3.2 -webkit-
23.0
15.0 -webkit-
12.1
10.5 -o-
transform-origin
(two-value syntax)
36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
9.0
3.2 -webkit-
23.0
15.0 -webkit-
12.1
10.5 -o-


CSS 2D Transforms


In this chapter you will learn about the following 2D transformation methods:


  • translate()

  • rotate()

  • scale()

  • skewX()

  • skewY()

  • matrix()


Tip: You will learn about 3D transformations in the next chapter.







<!--
mid_content, all: [300,250][336,280][728,90][970,250][970,90][320,50][468,60]
-->




The translate() Method


Translate

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:




Example



div


   
-ms-transform: translate(50px, 100px); /* IE 9 */

   
-webkit-transform: translate(50px, 100px); /* Safari */

   
transform: translate(50px, 100px);

Try it Yourself »


The rotate() Method


Rotate

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:




Example



div


   
-ms-transform: rotate(20deg); /* IE 9 */

   
-webkit-transform: rotate(20deg); /* Safari */

   
transform: rotate(20deg);

Try it Yourself »

Using negative values will rotate the element counter-clockwise.


The following example rotates the <div> element counter-clockwise with 20 degrees:



Example



div


   
-ms-transform: rotate(-20deg); /* IE 9 */

   
-webkit-transform: rotate(-20deg); /* Safari */

   
transform: rotate(-20deg);

Try it Yourself »


The scale() Method


Scale

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 of its original width, and three times of its original height: 




Example



div


   
-ms-transform: scale(2, 3); /* IE 9 */

   
-webkit-transform: scale(2, 3); /* Safari */

   
transform: scale(2, 3);

Try it Yourself »


The following example decreases the <div> element to be half of its original width and height: 




Example



div


   
-ms-transform: scale(0.5, 0.5); /* IE 9 */

   
-webkit-transform: scale(0.5, 0.5); /* Safari */

   
transform: scale(0.5, 0.5);

Try it Yourself »


The skewX() Method


<!--

This div element is skewed 20 degrees along the X-axis.

-->

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:




Example



div


   
-ms-transform: skewX(20deg); /* IE 9 */

   
-webkit-transform: skewX(20deg); /* Safari */

   
transform: skewX(20deg);

Try it Yourself »


The skewY() Method


<!--

This div element is skewed 20 degrees along the X-axis.

-->

The skewY() 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:




Example



div


   
-ms-transform: skewY(20deg); /* IE 9 */

   
-webkit-transform: skewY(20deg); /* Safari */

   
transform: skewY(20deg);

Try it Yourself »


The skew() Method


<!--

This div element is skewed 20 degrees along the X-axis.

-->

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:



Example



div


   
-ms-transform: skew(20deg, 10deg); /* IE 9 */

   
-webkit-transform: skew(20deg, 10deg); /* Safari */

   
transform: skew(20deg, 10deg);

Try it Yourself »

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:



Example



div


   
-ms-transform: skew(20deg); /* IE 9 */

   
-webkit-transform: skew(20deg); /* Safari */

   
transform: skew(20deg);

Try it Yourself »


The matrix() Method


Rotate

The matrix() method combines all the 2D transform methods into one.


The matrix() method take 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())




Example



div


    -ms-transform: matrix(1, -0.3, 0, 1, 0, 0); /* IE 9 */
   
-webkit-transform: matrix(1, -0.3, 0, 1, 0, 0); /* Safari */
   
transform: matrix(1, -0.3, 0, 1, 0, 0);

Try it Yourself »


Test Yourself with Exercises!



Exercise 1 » 
Exercise 2 » 
Exercise 3 » 
Exercise 4 »



CSS Transform Properties


The following table lists all the 2D transform properties:








Property Description
transform Applies a 2D or 3D transformation to an element
transform-origin Allows you to change the position on transformed elements

2D Transform Methods


























Function Description
matrix(n,n,n,n,n,n) Defines a 2D transformation, using a matrix of six values
translate(x,y) Defines a 2D translation, moving the element along the X- and the Y-axis
translateX(n) Defines a 2D translation, moving the element along the X-axis
translateY(n) Defines a 2D translation, moving the element along the Y-axis
scale(x,y) Defines a 2D scale transformation, changing the elements width and height
scaleX(n) Defines a 2D scale transformation, changing the element's width
scaleY(n) Defines a 2D scale transformation, changing the element's height
rotate(angle) Defines a 2D rotation, the angle is specified in the parameter
skew(x-angle,y-angle) Defines a 2D skew transformation along the X- and the Y-axis
skewX(angle) Defines a 2D skew transformation along the X-axis
skewY(angle) Defines a 2D skew transformation along the Y-axis


❮ Previous
Next ❯

Popular posts from this blog

WWE Night of Champions

Poznań

Kaliningrad