中软大前端0323-动画

2D转换

transform 2D转换

  • translate(px,px) 平移
  • rotate(deg) 角度旋转
  • scale(1,1)放大倍数
  • skew(x-deg,y-deg)旋转 沿坐标轴旋转

transition过度效果

  • transition:all 2s ease 2s
    (变化样式,持续时间,速度,延迟)
  • 速度
    linear 匀速
    ease 变慢
    ease-in 加速
    ease-out 减速
    cubic-bezier(n,n,n,n) 贝塞尔曲线

3D转换

  • rotateX(90deg);
  • rotateY(90deg);
  • rotateZ(90deg);

动画

声明动画

1
2
3
4
5
6
7
8
9
10
@keyframes name{
from{background:red};
to{background:blue};
}
@keyframes name{
0%Q{background:red};
50%{background:blue};
100%{background:yellow};
}

使用动画animation:

  • animation: name 2s esae-in infinite alternate
    (name 持续时间 速度 延迟 次数-无限次 反向)
    1、页面加载时,自动执行
    2、执行次数可自定义
    3、可重复调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.dh{
width: 200px;
height: 200px;
background-color: #FFA500;
animation: mydh 3s infinite alternate;
position: absolute;
top: 0;
left: 20px;
}
@keyframes mydh{
0%{background-color: #CD5C5C;
top: 0;
left: 120px;}
25%{background-image: url(img/gf2.jpg);
background-size: 100% 100%;
top: 100px;
left: 120px;}
50%{background-image: url(img/li.png);
background-size: 100% 100%;
top: 100px;
left: 20px;}
75%{background-color:#F5DEB3;
top: 0;
left: 20px;}
100%{background-color: chocolate;}
}

按键动画

按钮按下弹起效果,通过设置阴影实现
按下时让阴影面积缩小,按钮向下移动5px

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*按键动画*/
#btn1{
width: 200px;
height: 100px;
font-size: 30px;
background-color: mediumseagreen;
border-radius: 10px;
border: 0px;
box-shadow: 0 9px 2px darkgrey;
color: white;
}
#btn1:active{
border: 0px;
box-shadow: 0 3px 2px darkgrey;
transform: translateY(5px);
}

照片墙

  • transform-origin: right;
    位置,以哪个边或哪个角旋转
  • transform: rotate(-30deg);
    旋转