CSS 2D transformasjoner
- Forrige side CSS nettverksfont
- Neste side CSS 3D transformasjoner
CSS 2D transformasjoner
CSS 转换(transforms)允许您移动、旋转、缩放和倾斜元素。
把鼠标悬停在下面的元素上,可以查看 2D 转换:
在本章中,您将学习如下 CSS 属性:
transform
浏览器支持
表格中的数字指注明了完全支持该属性的首个浏览器版本。
Egenskab | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
transform | 36.0 | 10.0 | 16.0 | 9.0 | 23.0 |
CSS 2D-omregningsmetoder
通过使用 CSS transform
属性,您可以利用以下 2D 转换方法:
translate()
rotate()
scaleX()
scaleY()
scale()
skewX()
skewY()
skew()
matrix()
提示:您将在下一章中学习 3D 转换。
translate() 方法

translate()
方法从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。
下面的例子把 <div> 元素从其当前位置向右移动 50 个像素,并向下移动 100 个像素:
Eksempel
div { transform: translate(50px, 100px); }
rotate() 方法

rotate()
方法根据给定的角度顺时针或逆时针旋转元素。
下面的例子把 <div> 元素顺时针旋转 20 度:
Eksempel
div { transform: rotate(20deg); }
使用负值将逆时针旋转元素。
下面的例子把 <div> 元素逆时针旋转 20 度:
Eksempel
div { transform: rotate(-20deg); }
scale() 方法

scale()
方法增加或减少元素的大小(根据给定的宽度和高度参数)。
下面的例子把 <div> 元素增大为其原始宽度的两倍和其原始高度的三倍:
Eksempel
div { transform: scale(2, 3); }
下面的例子把 <div> 元素减小为其原始宽度和高度的一半:
Eksempel
div { transform: scale(0.5, 0.5); }
scaleX() 方法
scaleX()
方法增加或减少元素的宽度。
下面的例子把 <div> 元素增大为其原始宽度的两倍:
Eksempel
div { transform: scaleX(2); }
以下例子把 <div> 元素缩减为其原始宽度的一半:
Eksempel
div { transform: scaleX(0.5); }
scaleY() metode
scaleY()
Metoden øger eller reducerer elementets højde.
Følgende eksempel forøger <div>-elementets højde til tre gange dens oprindelige højde:
Eksempel
div { transform: scaleY(3); }
Følgende eksempel reducerer <div>-elementets højde til halvdelen af dens oprindelige højde:
Eksempel
div { transform: scaleY(0.5); }
skewX() metode
skewX()
Metoden gør elementet skævt langs X-aksen med den angivne vinkel.
Følgende eksempel gør <div>-elementet skævt langs X-aksen med 20 grader:
Eksempel
div { transform: skewX(20deg); }
skewY() metode
skewY()
Metoden gør elementet skævt langs Y-aksen med den angivne vinkel.
Følgende eksempel gør <div>-elementet skævt langs Y-aksen med 20 grader:
Eksempel
div { transform: skewY(20deg); }
skew() metode
skew()
Metoden gør elementet skævt langs X og Y-aksen med den angivne vinkel.
Følgende eksempel gør <div>-elementet skævt langs X-aksen med 20 grader, samtidig som det skæves langs Y-aksen med 10 grader:
Eksempel
div { transform: skew(20deg, 10deg); }
Hvis den anden parameter ikke er specificeret, er værdien nul. Derfor gør følgende eksempel <div>-elementet skævt langs X-aksen med 20 grader:
Eksempel
div { transform: skew(20deg); }
matrix() metode

matrix()
Metoden kombinerer alle 2D-omregningsmetoder i én.
matrix()
Metoden accepterer seks parametre, herunder matematikfunktioner, som gør det muligt at rotere, skalere, flytte (translere) og skæve elementet.
Parameterne er som følger: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
Eksempel
div { transform: matrix(1, -0.3, 0, 1, 0, 0); }
CSS omregningsegenskaber
Følgende tabel viser alle 2D-omregningsegenskaber:
Egenskab | Beskrivelse |
---|---|
transform | Anvend 2D eller 3D-omregning på elementet. |
transform-origin | Lad dig ændre placeringen af det omregnede element. |
CSS 2D-omregningsmetoder
Funktion | Beskrivelse |
---|---|
matrix(n,n,n,n,n,n) | Definér 2D-omregning ved hjælp af en seks værdier matrix. |
translate(x,y) | Definér 2D-omregning, flyt elementet langs X og Y-aksen. |
translateX(n) | Definér 2D-omregning, flyt elementet langs X-aksen. |
translateY(n) | Definér 2D-omregning, flyt elementet langs Y-aksen. |
scale(x,y) | Definerer en 2D skaleringstransformasjon, endrer elementets bredde og høyde. |
scaleX(n) | Definerer en 2D skaleringstransformasjon, endrer elementets bredde. |
scaleY(n) | Definerer en 2D skaleringstransformasjon, endrer elementets høyde. |
rotate(vinkel) | Definerer en 2D rotasjon, i parameteren spesifiserer vinkelen. |
skew(x-vinkel,y-vinkel) | Definerer en 2D skjevhetstransformasjon, langs både X og Y aksene. |
skewX(vinkel) | Definerer en 2D skjevhetstransformasjon, langs X-aksen. |
skewY(vinkel) | Definerer en 2D skjevhetstransformasjon, langs Y-aksen. |
- Forrige side CSS nettverksfont
- Neste side CSS 3D transformasjoner