CSS的transform
属性,是用于对某个元素进行旋转、缩放等动作,它是在给元素添加动画的基本属性。它的基本使用方式是:
tranform: <transfrom-function> <transform-function> ...
<transform-function>
指的则是一个或多个动作,这些动作包括:matrix
、 translate
、 scale
、 rotate
、 perspective
等等。
transform: translate(x,y)
两个参数都是长度:
scale
的作用是进行元素的缩放,使用方式为:
scale(x,y)
x、y表示缩放倍数。需要注意的是:
transform:translate(50px,50px) scale(2px,2px)
会导致整条语句无效,translate
也不会执行。transform-origin
进行自定义。rotate
能够使元素进行旋转,使用方式为
transform:rotate(a)
其中参数a是一个旋转角度。
deg
、grad
、rad
、turn
,具体可见有关MDN<angle>的解释
。transform-origin
进行定义,其默认值为元素的中心点。rotate
会改变元素的轴线方向。比如先rotate(45deg)
,再进行translateX(50px)
,旋转后,元素x方向的轴线变为45度,此时再translate
,就会往45度的方向移动。skew能够使元素倾斜:
skew(x,y)
参数x、y是一个代表倾斜角度的角度值。
transform-origin
来指定元素的倾斜基线。例如,若设置transform-origin:left
,此时y为正会使元素看起来往右下方倒。perspective(800px)
transform-origin
表示的是应用转化的点(转换起点),比如rotate
在进行旋转时旋转围绕的点。
transfrom-origin: x-offset y-offset z-offset
如上所示,transform-origin
的三个值,分别表示x、y、z轴上的偏移量。
transform-origin: 50% 50%;
left
、right
、top
、bottom
)关键词可以看做是百分数值的另外一种写法,其对应关系如下