rotate
rotateX
rotateY
rotateZ
rotate3d
rotate:
旋转该元素,配合着transform-origin属性,transform-origin 是设置旋转点的。(没有设置transform-origin 属性也可以,只不过是根据该元素的中心点旋转,也就是center center)
加上 transform-origin 设置旋转点。transform-origin 是根据自己而定位的,所以 0px 0px 就是左上角那个点。
rotateX:
讲这个之前呢, 先普及一个知识, 在transform里面,x y z 轴,分别是什么样子的,他跟我们平常的 x 和 y 不太一样,因为, 他是倒着的。 Z轴呢,在0 那个位置,因为他是3D的,看下面的图,转个身就知道在那里了。
接下来,看看 所谓的 Z 轴是什么
rotateX 的X呢,可以写成大写的,也可以写成小写的x, 没有影响,这个属性呢,你加上rotateX 之后,这个元素,就会以 X 轴 旋转,里面填的是角度。
这样看起来,好像不是那么直观,毕竟是2D 的图, 来给他加了3D 的效果看看,(由于设置了 transform-origin:0 0,所以并不会在元素的中间旋转,而是以 0 0 点的那条x 轴旋转)
上面两个图,第一个图是在 2d的 情况下观看的,第二个图是 3d的时候, 是不是 3d 看起来比较直观。
那么,接下来,加上Y 一起使用,rotateX(45deg) rotateY(45deg),这两个合在一起什么意思呢, 这个元素,先按照 X轴,旋转45度,然后再按照Y轴,旋转45度,那么接下来的结果会是怎么样呢?
由于我设置的 transform-origin:center center ;定的点在中心,那么两条轴,是会成这样子的。
然后,看下,结果,是不是如我们所示?
最后,加上rotateZ
rotate3D:
设置一条主轴,然后根据这条轴旋转
这个呢,可以设置4个参数, 前三个是,x y z 最后一个是 角度deg 但是,此 x y z ,可不是上面那几个,不一样的。这三个值,设置的是矢量的方向,填什么无所谓,主要是比值很重要。举个例子 1,1,0,0deg那么就是 1:1:0 = 100:100:0 对吧,拿这个值来图解比较好。
①:用css3rotate旋转的话,可以随时修改动画的背景色和旋转速度等,而gif只能重新修改图片再导出,但是有个缺点就是只有safari可以很好地支持,chrome下支持不是很好;②:在比较复杂的动画,css3rotate需要通过控制多张图片,此时的代码量会很大,而是用gif图的话则不需要过多的代码;
③:在兼容性方面:css3只有高级版本的浏览器才兼容,而gif几乎所有浏览器都能够兼容。
css3 翻转和旋转的区别如下:概述:css3中的transform中有旋转,放缩,倾斜,平移的功能,分别对应的属性是:rotate,scale,skew,translate
1、旋转,利用rotate来实现,代码如下:
-webkit-transform:rotate(10deg)指定浏览器内核为webkit的翻转方式
-moz-transform:rotate(10deg)指定firefox浏览器私有属性
transform:rotate(10deg)一般浏览器翻转的角度为10弧度
2、 翻转,利用scale来实现,代码如下:
scale本来是放缩的意思,原来括弧里面(1,1)前者表示X轴,后者表示Y轴,当数字大于1时放大,大于0并小于1时缩小,负数代表翻转
水平翻转:
-webkit-transform:scale(-1,1)水平轴为-1,代表水平翻转
-moz-transform:scale(-1,1)水平轴为-1,代表水平翻转
transform:scale(-1,1)水平轴为-1,代表水平翻转
垂直翻转:
-webkit-transform:scale(1,-1)垂直轴为-1,代表垂直翻转
-moz-transform:scale(1,-1)垂直轴为-1,代表垂直翻转
transform:scale(1,-1)垂直轴为-1,代表垂直翻转