CSS3 2D 转换【旋转transform:rotate(30deg); 移动transform: translate(50px,100px); 放大缩小transform:scale(2,4)】

CSS3 2D 转换


CSS3 转换

CSS3转换,我们可以移动,比例化,反过来,旋转,和拉伸元素。

它是如何工作?

变换的效果,让某个元素改变形状,大小和位置。

您可以转换您使用2D或3D元素。


浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

Property          
transform 36.0

4.0 -webkit-

10.0

9.0 -ms-

16.0

3.5 -moz-

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-

3.2 -webkit- 23.0

15.0 -webkit-

12.1

10.5 -o-

Internet Explorer 10, Firefox, 和 Opera支持transform 属性.

Chrome 和 Safari 要求前缀 -webkit- 版本.

注意: Internet Explorer 9 要求前缀 -ms- 版本.


2D 转换

在本章您将了解2D变换方法:

  • translate()
  • rotate()
  • scale()
  • skew()
  • matrix()

在下一章中您将了解3D转换。

实例

div

{

transform: rotate(30deg);

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

-webkit-transform: rotate(30deg); /* Safari and Chrome */

}

尝试一下
?


translate() 方法

translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

实例

div

{

transform: translate(50px,100px);

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

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

}

尝试一下
?

translate值(50px,100px)是从左边元素移动50个像素,并从顶部移动100像素。


rotate() 方法

rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

实例

div

{

transform: rotate(30deg);

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

-webkit-transform: rotate(30deg); /* Safari and Chrome */

}

尝试一下
?

rotate值(30deg)元素顺时针旋转30度。


scale() 方法

scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

实例

div

{

transform: scale(2,4);

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

-webkit-transform: scale(2,4); /* Safari and Chrome */

}

尝试一下
?

scale(2,4)转变宽度为原来的大小的2倍,和其原始大小4倍的高度。


skew() 方法

skew()方法,该元素会根据横向(X轴)和垂直(Y轴)线参数给定角度:

实例

div

{

transform: skew(30deg,20deg);

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

-webkit-transform: skew(30deg,20deg); /* Safari and Chrome */

}

尝试一下
?

skew(30deg,20deg)是绕X轴和Y轴周围20度30度的元素。


matrix() 方法

matrix()方法和2D变换方法合并成一个。

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

实例

利用matrix()方法旋转div元素30°

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 */

}

尝试一下
?


新转换属性

以下列出了所有的转换属性:

Property 描述 CSS
transform 适用于2D或3D转换的元素 3
transform-origin 允许您更改转化元素位置 3

2D 转换方法

函数 描述
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
translate(x,y) 定义 2D 转换,沿着 X 和 Y 轴移动元素。
translateX(n) 定义 2D 转换,沿着 X 轴移动元素。
translateY(n) 定义 2D 转换,沿着 Y 轴移动元素。
scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。
scaleX(n) 定义 2D 缩放转换,改变元素的宽度。
scaleY(n) 定义 2D 缩放转换,改变元素的高度。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
skew(x-angle,y-angle) 定义 2D 倾斜转换,沿着 X 和 Y 轴。
skewX(angle) 定义 2D 倾斜转换,沿着 X 轴。
skewY(angle) 定义 2D 倾斜转换,沿着 Y 轴。

图例:倾斜 skew

用法:transform: skew(30deg)  或者 transform: skew(30deg, 30deg);

参数表示倾斜角度,单位deg

  • 一个参数时:表示水平方向的倾斜角度;
  • 两个参数时:第一个参数表示水平方向的倾斜角度,第二个参数表示垂直方向的倾斜角度。

关于skew倾斜角度的计算方式表面上看并不是那么直观,这里借鉴某大拿绘制的图举例说明一下:

首先需要说明的是skew的默认原点transform-origin是这个物件的中心点

skewX(30deg) 如下图:

skewY(10deg) 如下图:

skew(30deg, 10deg) 如下图:

我当初就是看到此图瞬间理解的。

时间: 2024-08-28 01:28:55

CSS3 2D 转换【旋转transform:rotate(30deg); 移动transform: translate(50px,100px); 放大缩小transform:scale(2,4)】的相关文章

css3 2D转换(2D Transform) 动画(Animation)

transform 版本:CSS3 内核类型 写法 Webkit(Chrome/Safari) -webkit-transform Gecko(Firefox) -moz-transform Presto(Opera) -o-transform Trident(IE) -ms-transform W3C transform none:无转换 matrix(<number>,<number>,<number>,<number>,<number>,&

css3 2d转换3d转换以及动画的知识点汇总

css3 2d转换 2d转换的方法: 1.移动 translate(x, y) 可以改变元素的位置,x.y可为负值: 2.缩放 scale(x, y) 可以对元素进行水平和垂直方向的缩放,x.y的取值可为小数,不可为负值: 4.旋转 rotate(deg) 可以对元素进行旋转,正值为顺时针,负值为逆时针: 5.倾斜 skew(deg, deg) 可以使元素按一定的角度进行倾斜 2d转换的属性: transform transform-origin 用法: 例如: div { transform:

【Demo】CSS3 2D转换

2D转换: 2D变换方法: translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动. div { transform: translate(50px,100px); -ms-transform: translate(50px,100px); /* IE 9 */ -webkit-transform: translate(50px,100px); /* Safari and Chrome */ } translate值(50px,100px)是从左边元素移动50个像

CSS3 2D 转换

2D 转换 在本章中,您将学到如下 2D 转换方法: translate() rotate() scale() skew() matrix() 您将在下一章学习 3D 转换. 实例 div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */ -o-transform: rotate(30deg);

css3 2D转换效果

CSS中的2D变形主要用transform属性来实现,其可以用来控制元素的变形,如移动,比例化,反过来,旋转,和拉伸. transform属性的基本语法如下 1.translate() 移动元素,即基于X和Y 坐标重新定义元素位置. 用法如下: transform:translate(300px,200px): 或 transform:translateX(300px): transform:translateY(300px):12342.rotate() 旋转元素,其后括号内写旋转的角度,正值

css3 2d转换

<!DOCTYPE html><html><head> <title>2D转换</title> <style type="text/css"> .box{ width: 400px; height: 400px; margin: 100px auto; position: relative; } img:nth-child(1){ width: 400px; height: 400px; } img:nth-chi

0064 2D转换综合写法以及顺序问题:translate rotate scale

2D 转换综合写法以及顺序问题 知识要点 同时使用多个转换,其格式为 transform: translate() rotate() scale() 顺序会影响到转换的效果(先旋转会改变坐标轴方向) 但我们同时有位置或者其他属性的时候,要将位移放到最前面 代码演示 div:hover { transform: translate(200px, 0) rotate(360deg) scale(1.2) } <!DOCTYPE html> <html lang="en"&

2D 转换

css3提供了2D转换功能,能够对元素进行移动.缩放和转动等功能. 2D转换的属性名为transform,使用方法为transform:method(value). 2D转换方法有 translate()位移 根据给定的left(x坐标)和top(y坐标)位置参数 scale()缩放 scale(2,3)宽度为原来的2倍,高度是原始值的3倍 rotate()旋转 rotate(30deg),给定的度数顺时针旋转,负数就是逆时针 skew()扭曲 kew(30deg,20deg),是绕X轴和Y轴周

0061 CSS3 之 2D 转换 rotate

rotate 旋转 2D 旋转指的是让元素在二维平面内顺时针或者逆时针旋转 rotate 语法.使用步骤: (1)给元素添加转换属性 transform (2)属性值为 rotate(角度), 如 transform:rotate(30deg) 顺时针方向旋转30度 /* 单位是:deg */ transform: rotate(度数) div{ transform: rotate(0deg); } 重点知识点 rotate 里面跟度数,单位是 deg 角度为正时,顺时针,角度为负时,逆时针 默