注意:行内元素添加转换无效;
注意:加了转换的盒子层级会提高,很像加了相对定位;
注意:绝对定位的盒子父元素有了转换,盒子偏移参考父元素;
有X,Y,Z三个值表示,用大写表示;
总写: transform: translate3d(X,Y,Z,60deg),调用哪个就把轴写成1,然后后边写数值 ;
@keyframes tf { /* 百分比动画,复杂动画(多状态动画),百分比分配时间*/ 0% { transform: translate(0, 0); } 5% { transform: translate(500px, 0); } 50% { transform: translate(500px, 200px); } 75% { transform: translate(0, 200px); } 100% { transform: translate(0, 0); }
.box { width: 200px; height: 200px; background-color: #ccc; border-radius: 50%; /* 属性值,播放时长,循环播放 */ /* animation: tf 2s infinite; */ /* 调用动画的名称*/ animation-name: tf; /* 动画执行的时间 */ animation-duration: 2s; /* 动画播放的次数 默认一次 */ /* animation-iteration-count:infinite ; */ /* 动画执行的方向 alternate逆播 */ animation-direction: alternate; /* 动画延迟 要多久才开始*/ animation-delay: 2s; /* 动画速度曲线 linear匀速*/ animation-timing-function: linear; /* 动画停在那个状态 forwards停在结束状态*/ animation-fill-mode: forwards; /* infinite循环播放和forwards停在结束状态有冲突,连写的时候写一个就可以*/ /* 第一个时间是动画播放的时间,第二个是延迟的时间 */ animation:tf 2s alternate 2s linear infinite forwards ; }