CSS3 2D Transforms

## CSS Basic

CSS HOME CSS Introduction CSS Syntax CSS Id & Class CSS How To CSS Backgrounds CSS Text CSS Fonts CSS Links CSS Lists CSS Tables

## CSS Box Model

CSS Box Model CSS Border CSS Outline CSS Margin CSS Padding

## CSS Advanced

CSS Grouping/Nesting CSS Dimension CSS Display CSS Positioning CSS Floating CSS Align CSS Pseudo-class CSS Pseudo-element CSS Navigation Bar CSS Image Gallery CSS Image Opacity CSS Image Sprites CSS Media Types CSS Attr Selectors

## CSS3 Tutorial

CSS3 Introduction CSS3 Borders CSS3 Backgrounds CSS3 Gradients CSS3 Text Effects CSS3 Fonts CSS3 2D Transforms CSS3 3D Transforms CSS3 Transitions CSS3 Animations CSS3 Multiple Columns CSS3 User Interface CSS Summary

## CSS Examples

CSS Examples CSS Quiz CSS Certificate

## CSS References

CSS Reference CSS Selectors CSS Reference Aural CSS Web Safe Fonts CSS Units CSS Colors CSS Color Values CSS Color Names CSS Color HEX

# CSS3 2D Transforms

« Previous
Next Chapter »

## CSS3 Transforms

With CSS3 transform, we can move, scale, turn, spin, and stretch elements.

## How Does it Work?

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

You can transform your elements using 2D or 3D transformation.

## Browser Support

Property | Browser Support
--- | ---
transform |  |  |  |  |

Internet Explorer 10, Firefox, and Opera support the transform property.

Chrome and Safari requires the prefix -webkit-.

Note: Internet Explorer 9 requires the prefix -ms-.

## 2D Transforms

In this chapter you will learn about the 2d transform methods:

- translate()
- rotate()
- scale()
- skew()
- matrix()

You will learn about 3D transforms in the next chapter.

## Example

div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
Try it yourself »

## The translate() Method

With the translate() method, the element moves from its current position, depending on the parameters given for the left (X-axis) and the top (Y-axis) position:

## Example

div
{
transform: translate(50px,100px);
-ms-transform: translate(50px,100px); /* IE 9 */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
}
Try it yourself »

The value translate(50px,100px) moves the element 50 pixels from the left, and 100 pixels from the top.

## The rotate() Method

With the rotate() method, the element rotates clockwise at a given degree. Negative values are allowed and rotates the element counter-clockwise.

## Example

div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
Try it yourself »

The value rotate(30deg) rotates the element clockwise 30 degrees.

## The scale() Method

With the scale() method, the element increases or decreases the size, depending on the parameters given for the width (X-axis) and the height (Y-axis):

## Example

div
{
transform: scale(2,4);
-ms-transform: scale(2,4); /* IE 9 */
-webkit-transform: scale(2,4); /* Safari and Chrome */
}
Try it yourself »

The value scale(2,4) transforms the width to be twice its original size, and the height 4 times its original size.

## The skew() Method

With the skew() method, the element turns in a given angle, depending on the parameters given for the horizontal (X-axis) and the vertical (Y-axis) lines:

## Example

div
{
transform: skew(30deg,20deg);
-ms-transform: skew(30deg,20deg); /* IE 9 */
-webkit-transform: skew(30deg,20deg); /* Safari and Chrome */
}
Try it yourself »

The value skew(30deg,20deg) turns the element 30 degrees around the X-axis, and 20 degrees around the Y-axis.

## The matrix() Method

The matrix() method combines all of 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.

## Example

How to rotate a div element 30 degrees, using the matrix method:

div
{
transform:matrix(0.866,0.5,-0.5,0.866,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
}
Try it yourself »

## CSS3 Transform Properties

The following table lists all the transform properties:

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

## 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 Chapter »

## Your suggestion:

Your E-mail (optional):

Page address:

Description:

Close [X]

## Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]
Search w3schools.com:

## WEB HOSTING

Best Web Hosting UK Reseller Hosting Wow! $5 SSD Hosting

## WEB BUILDING

Download XML Editor
FREE Website BUILDER FREE Website Creator

## WEB RESOURCES

Web Statistics Web Validation

## SHARE THIS PAGE