CSS3 转换(transform)
二维坐标 2D转换是改变标签在二维平面上的位置和形状的一种技术,设置属性都是根据自身原本的位置再去向X轴(正数往右平移,负数,往左平移)和Y轴(正数像下平移,负数往上平移)进行改变, 如图所示;
转换(transform)主要分为四种样式, 它可以帮助我们实现元素的移动、旋转、缩放及一些小动画效果;
- 样式:
translate位移;rotate旋转;scale缩放;skew倾斜;
一、 2D转换之移动translate:
语法:
transform: translate(x,y); x和y两个值 中间用逗号隔开; 根据当前的位置为标点再像X轴Y轴进行移动
translateX(n); translateY(n); 也可以单独移动X轴和Y轴,但是后面最后的X或Y需要大写;
注意点:
- 如果参数里的单位是%,那么移动的距离是根据盒子自身的宽度或高度来对比的 如:高为200px的盒子translateY(50%);的话, 那么他们只会根据自身高度的50%向下移动100px;
- 定义转换中的移动: 根据自身的位置沿着Y轴和X轴进行移动元素;
- translate最大的优点:不会影响其他元素的位置;
- 该属性对行内标签没有效果;
二、2D转换之旋转 rotate
旋转是指让元素在2维平面内顺时针或者逆时针旋转;
语法:
transform:rotate(旋转度数);
注意点:
- rotate里面的数值单位是deg, 如: rotate(45deg);
- 里面的数值是正数顺时针旋转, 负数则逆时针旋转;
- 默认转换的中性点是元素的中心点
旋转 transform-origin;
我们可以设置元素转换的中心点;
语法:
transform-origin: (X Y); // 设置旋转的中心点
注意点:
- 注意后面参数X和Y是用空格隔开的;
- X Y默认转换的中性点是元素的中心点 (50% 50%);
- X Y可以设置像素还可以给它设置方位名词(在哪个方位转换) (top right bottom left center);
三、2D转换之缩放 scale
缩放,顾名思义, 可以放大或者缩小. 只要给元素添加了这个属性就可以可以做到;
div{
width: 200px;
height: 200px;
background-color: red;
ansform: scale(1,2); //当前高*2 height=400px;
}
注意点:
1.里面的参数是不跟单位的, 并且使用逗号分隔;
2.里面的参数是倍数,填1的话不会发生变化(1*1=1);
-
如果只写了一个参数,那么第二个参数则默认和第一个参数一样 相当于 scale(2,2);
-
sacle缩放最大的优势就是可以设置中心缩放,而且不影响其他的盒子, (可以用这个属性做一点动画效果配上过渡一起使用效果);