在逆战班的学习中,这个我周学会了CSS3中的transform变形操作。首先,什么是CSS3呢?CSS3是CSS的最新版本,它会保留之前CSS2.1的内容,只是添加了一些新的语法。利用CSS3中的变形,就可以做出一些特效。
transform变形中呢,常用到的属性值有translate(位移)、scale(缩放)、rotate(旋转)、skew(斜切)。下面简单介绍一下,它们的属性值:
(1)translate : 位移
transform:translate(100px,100px); : 两个值 分别对应x和y。
transform:translateX(100px);
transform:translateY(100px);
transform:translateZ(100px); ( 3d )
(2)scale : 缩放
transform:scale(num);num是一个比例值,正常比例是1,大于1的数为放大,0就没有了。
transform:scale(num1 , num2);两个值 分别对应宽和高
transform:scaleX()
transform:scaleY()
transform:scaleZ() ( 3d )
注:scale()中的值可以为-1,当值为-1的时候,实现翻转的效果。
(3)rotate : 旋转
transform:rotate(num);num是旋转的角度 30deg
正值:顺时针旋转
负值:逆时针旋转
表示一个角:角度deg 或 弧度rad
rotateX() ( 3d )
rotateY() ( 3d )
rotateZ()
注 : rotate()跟rotateZ()是等价关系。
(4)skew : 斜切
transform:skew(num1,num2) : num1和num2都是角度,针对的是x 和 y;
transform:skewX()
transform:skewY()
注:skew没有3d写法。
transform变形中所有的变形操作,都不会影响到其他元素。(类似于相对定位);变形操作对inline(内联元素)不起作用的;transform可以同时设置多个值,当设置多个值的时候先执行后面的操作,在执行前面的操作;但是,位移会受到后面要执行的缩放、旋转和斜切的影响。
例如:(1)transform:scale(0.5) translate(100px);此句实现过程,先执行后边的,在执行前边的位移,但是后边操作为位移的操作,所以相当于先位移移动50px,然后缩放一半,位移受到了缩放的影响。
(2)transform:rotate(45deg) translate(100px); 此句实现过程,先执行后边的,在执行前边的位移,但是后边操作为位移的操作,所以最后的效果就成了,原图旋转了45度并向原位置的45度方向移动了100px。