transform 属性:对元素应用 2D 或 3D 转换。该属性容许咱们对元素进行移动、缩放、旋转或倾斜。css
translate 方法用于从当前位置移动一个元素。spa
translateX() 向 x 轴移动元素 translateY() 向 y 轴移动元素 translateZ() 向 z 轴移动元素 translate3d(x, y, z) 简写:translate(x, y) --> translate(x, y)3d
/* 多个属性值之间用“空格”分隔! 负号表示相反方向*/
transform: translateX(100px) translateY(50px);
/* transform: translate(100px, 50px) */
复制代码
rotate 方法经过指定角度参数对元素进行旋转。code
rotateX() rotateY() rotateZ() rotate3d(x,y,z) 简写:rotate() --> rotateZ()orm
/* 向顺时针旋转方向旋转90度,负号表示逆时针方向 */
transform: rotate(90deg)
/* transform: rotateZ(90deg) */
复制代码
scale 方法和 translate 方法类似,都有3个方向的变换。它的缩放基数为1,它的参数大于1就放大,小于1就缩小。cdn
scaleX() scaleY() scaleZ() scale3d(x, y, z) 简写:scale(x, y) | scale(n) --> scale(n, n)blog
/* transform: scaleX(3) scaleY(2); */
transform: scale(3, 2);
复制代码
skew 方法可让元素沿着 x 轴或者 y 轴倾斜变形。it
skewX(ndeg) skewY(ndeg) 简写:skew(x, y)io
/* transform: skewX(30deg) skewY(10deg); */
transform: skew(30deg, 10deg);
复制代码
元素的默认基点就是自身的中心位置,因此在移动、旋转和倾斜时均是以元素自身的中心位置为原点进行的。 那么当咱们想要让元素按照必定的参照点进行形状变换的时候,就要用到 transform-origin 属性了。form
语法: transform-origin: x y z; x: x轴水平方向的取值,能够是 left | center | right | length | % y: y轴垂直方向的取值,能够是 top | center | bottom | length | % z: z轴方向的取值,是length 一、top left | left top 等价于 0 0 | 0% 0%
二、top | top center | center top 等价于 50% 0
三、right top | top right 等价于 100% 0
四、left | left center | center left 等价于 0 50% | 0% 50%
五、center | center center 等价于 50% 50% 0(默认值)
六、right | right center | center right 等价于 100% 50%
七、bottom left | left bottom 等价于 0 100% | 0% 100%
八、bottom | bottom center | center bottom 等价于 50% 100%
九、bottom right | right bottom 等价于 100% 100%
(1) transform-origin: top left;
(2) transform-origin: right;