css3 transform 属性

transition 与 transform 属性、用法、区别

transition:1s;(写在目标元素中)

transition: width 2s linear 200ms,background 2s linear 200ms;那个属性需要过渡写那个
/*代表持续时间为1s,延迟时间为2s*/
    transition: 1s 2s;

通过这四个子属性的配合来完成一个完整的过渡效果

transition-property: 过渡属性(默认值为all)
transition-duration: 过渡持续时间(默认值为0s)
transiton-timing-function: 过渡函数(默认值为ease函数)
transition-delay: 过渡延迟时间(默认值为0s)

例:transition: width 2s linear 200ms,background 2s linear 200ms;

ease: 开始和结束慢,中间快。相当于cubic-bezier(0.25,0.1,0.25,1)
linear: 匀速。相当于cubic-bezier(0,0,1,1)
ease-in: 开始慢。相当于cubic-bezier(0.42,0,1,1)
ease-out: 结束慢。相当于cubic-bezier(0,0,0.58,1)
ease-in-out: 和ease类似,但比ease幅度大。相当于cubic-bezier(0.42,0,0.58,1)
step-start: 直接位于结束处。相当于steps(1,start)
step-end: 位于开始处经过时间间隔后结束。相当于steps(1,end)

transform:

-webkit-transform:rotate(360deg) scale(0.2);两个属性一起写法。

-webkit-transform-origin:right top; /*center left top bottom 围绕的中心点*/

/*alternate倒序 转到偶数为倒*/
/*linear 匀速*/

/*animation-play-state:paused;转态暂停*/

#wrap:hover #list{
animation-play-state:paused;
}  /*鼠标移入暂停滚动*/

-webkit-transform:
scaleX,Y() 不加XY整体缩放 scale(x,y)
rotateX,Y,Z(xyz数值deg) 不加XY整体旋转 
translate(x,y) 位移px X正右负左(从左往右) Y正下负上(从上往下)  translateY()  正到负
skewX,Y(数值deg,数值deg)  斜切 X上下 Y左右
数值为 正 逆时针方向斜切(默认X)

数值为 负 顺时针方向斜切

兼容性解决:

.add_transform{
    -webkit-transition: -webkit-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%);
}
transition: all 0.3s ease-in;


translate(x,y)	定义 2D 转换。
translate3d(x,y,z)	定义 3D 转换。弹出层向上滚出
translateX(x)	定义转换,只是用 X 轴的值。
translateY(y)	定义转换,只是用 Y 轴的值。
translateZ(z)	定义 3D 转换,只是用 Z 轴的值。

matrix(1,0,0,1,0,0) 默认 标准

matrix(a,b,c,d,x,y)

a:x方向水平增加宽度

b:顺时针转最终y方向变横线(顺时针旋转同时增高数值大于1)
c:逆时针转最终x方向变横线(逆时针旋转同时增宽数值大于1)
d:y方向垂直增加高度
x:x方向位移 + 100距离
y:y方向位移 + 100距离

缩放:
x轴缩放:a = x*a;
y轴缩放:d = y*a;

倾斜:
x轴倾斜: c=Math.tan(xDeg/180*Math.PI);
y轴倾斜: b=Math.tan(yDeg/180*Math.PI);

位移:
x:x+距离
y:y+距离

旋转:
a = Math.cos(deg/180*Math.PI)
b = Math.sin(deg/180*Math.PI)
c = -Math.sin(deg/180*Math.PI)
d = Math.cos(deg/180*Math.PI)  deg 度数

a = d , b = (-)c

    alert(Math.cos(度数/180*Math.PI));
 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林中明月间。

分享共赢。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值