本篇文章给大家谈谈rotate,以及rotate的缩写对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
css3 rotate 可以反方向旋转吗
css3新增的一个控制元素旋转属性的函数是rotate()[不要怀疑,它的确是一个隐形的函数,他的使用很类似与js中的函数]。
同之前所讲过的translate和scale,他也分为2D和3D的旋转,差别就是Z轴的旋转。
现在我们来看实例,代码如下:
.demo{ margin:100px auto; width:300px; height:300px; background:#ededed; border:1px dotted#ff0000; position:relative;}
.fl{ width:300px; height:145px; background:#00cb99;}
.fr{ width:300px; height:145px; margin-top:10px; background:#0093b4;}
.pa{ position:absolute; top:75px; left:75px; width:150px; height:150px; background-color:#f2f2f2;}
demo的div里面有三个div,最终实现的效果如下图:
现在我们对其应用rotate,假设不知道里面可以传入几个值,那我们可以分别试试传入不同数量的值对比效果,给demo加上:
transform:rotate(45deg)(旋转45度,deg是degree的缩写,意为角度;当然这只是一个单位,还有别的单位,但不常用;你也可以直接采用数字而不用单位,这个数字会被自动转换为角度)
效果如下图:
我们再给demo加上:
transform:rotate(45deg,45deg);
会发现没有变化,查看代码知道原来这个属性浏览器没有识别出来,这是为什么呢?
这是因为默认的rotate()只能传入一个旋转角度值,而且默认的角度是以电脑屏幕的基准面,以自己的中心为基准点进行旋转的。说白了他是一个二维的旋转。
那,我么应该怎么rotate进行三维的旋转呢?
很简单我之前又讲到过translate的translate3d这一属性;同样rotate也有rotate3d的旋转属性。
既然是3d,那我们就很自然的知道他有rotateX()/rotateY()/rotateZ(),这三个分支的旋转属性。
现在我们给demo加上
transform:rotate3d(45deg,45deg,0deg);
在浏览器当中我们同样会发现不起效果,原因还是不识别。
其实这就是rotate3d和translate3d,不同的地方,translate3d传入的三个值分别会被解析为XYZ的位移距离,二translate则不会这么解析,官方给出的解析方法是rotate3d(X?,Y?,Z?,angle);也就是你需要对你需要旋转的轴进行判断,如果你要沿着该轴转动那就将该轴的值设置为1,否则为0;然后在后面的angle中设置旋转的角度,需要注意的是,angle只有一个角度值。
所以上面正确的写法是:
transform:rotate3d(1,1,0,45deg);
效果如下图:
分析:
上图画的坐标轴没画好,见谅哈。
横的是X轴,竖的是Y轴,斜线是Z轴(也就是你盯着电脑看视线到电脑这个轴)
rotate的转动基准是以轴来转动的,当多个轴交叠旋转才会形成围绕某个点旋转的效果。
元素默认情况下,他所在的面是Z轴与Y轴所形成的面(或平行面)。当谈围绕X轴转,若传入的为正值,则元素上面会向屏幕里面转动,下面回向屏幕外面转动,也就是向用户转动。其他的几个面也是同样的道理。
现在我们来看沿着单个轴转动的情况,这样会帮助你理解上面这段话。
现在我给demo加上
transform:rotateX(45deg);
有没有发现图象显得没有原来的高了,对比下两边的图象。
其实元素的高度并没有变,而是透视导致。
现象一张纸看他的侧面和看他的正面,所得到的宽度是不一样的。
rotateY()/rotateZ()
这里我就不做介绍了。因为它们的使用和rotateX一样,只是转的角度不同罢了。
好了rotate的初级使用就介绍到这里了。
Rotate是什么意思
(使)旋转,转动;(工作)由?轮值;(人员)轮换,轮值。
读音:英 [rəʊˈteɪt]美 [ˈroʊteɪt]
记忆技巧:rot轮子;转+ ate使?→旋转
例句:Rotatetheheadclockwiseandcounterclockwise.
译文:按顺时针方向转动头部,然后再逆时针旋转。
扩展资料:
Rotate的其它形式:
1、第三人称单数:rotates
读音:英 [rəʊˈteɪts]美 [ˈroʊteɪts]
意思:(使)旋转,转动;(工作)由?轮值;(人员)轮换,轮值。
例句:Itwhipsandmixesthefreshairandcrankcasefumesasitrotates.
译文:它旋转时,把新鲜空气和曲柄轴箱气体搅混在一起。
2、现在分词:rotating
读音:英 [rəʊˈteɪtɪŋ]美 [ˈroʊteɪtɪŋ]
意思:(使)旋转,转动;(工作)由?轮值;(人员)轮换,轮值。
例句:Thatcorrespondstothefactthatwearerotating.
译文:这就和旋转的事实对应上了。
CSS3函数rotate()怎么使用
我们都知道,在css3里rotate()函数是能够旋转元素的,他主要是在二维空间内进行旋转操作,那么今天我们就给大家带来实例,看一下这个rotate()函数怎么使用。
如果对元素本身或者元素设置了perspective值,那么rotate3d()函数可以实现一个3维空间内的旋转。
关联属性:transform-origin。
取值
rotate(
rotateX(angele),相当于rotate3d(1,0,0,angle)指定在3维空间内的X轴旋转
rotateY(angele),相当于rotate3d(0,1,0,angle)指定在3维空间内的Y轴旋转
rotateZ(angele),相当于rotate3d(0,0,1,angle)指定在3维空间内的Z轴旋转
语法
t
ransform:rotate(
CSS
.rotate_clockwise{
-webkit-transform:rotate(45deg);
-moz-transform:rotate(45deg);
position:absolute;
left:10px;
top:80px;
}
.rotate_anticlockwise{
-webkit-transform:rotate(-45deg);
-moz-transform:rotate(-45deg);
position:absolute;
left:200px;
top:80px;
}
.rotateX{
-webkit-transform:perspective(800px) rotateX(60deg);
-moz-transform:perspective(800px) rotateX(60deg);
position:absolute;
left:400px;
top:80px;
}
.rotateY{
-webkit-transform:perspective(800px) rotateY(60deg);
-moz-transform:perspective(800px) rotateY(60deg);
position:absolute;
left:600px;
top:80px;
}
.rotateZ{
-webkit-transform:perspective(800px) rotateZ(60deg);
-moz-transform:perspective(800px) rotateZ(60deg);
position:absolute;
left:800px;
top:80px;
}
HTML