前情提要:这是一些有关过渡和动画的基础知识,一定能帮助平时懒得梳理的你。
一、css3过渡知识
(一)、概述
1、CSS3过渡是元素从一种样式逐渐改变为另一种的效果。
2、实现过渡效果的两个要件:
规定把效果添加到那个css属性上。
规定效果时长
定义动画的规则: 过渡transition (作用) 将元素的某个属性从“一个值”在指定的时间内过渡到“另一个值”
(二)、transform转化有以下几种:
translate():移动,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
rotate():旋转,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
scale():缩放,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:
skew():倾斜,包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
matrix():混合,matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。
每种转化都还有对应的3d版本
注意:闭合的内联元素不支持转化,过渡和动画:如<span>、<small>、<i>等。可以通过添加样式 display: inline-block 或 display: block 来转化成块级元素。
(三)、transition属性
语法 : {transition: 属性名 持续时间 过渡方法}
transition-property 属性的名字(如果是一个属性就带有这个属性的名字;如果是多个属性,属性名之间用逗号隔开;如果是所有属性,用all表示即可。)表示对哪个属性进行变化。
二、css3动画基础知识
(一)、CSS3中的动画实现的是什么效果
动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。动画效果是通过animation属性来完成的。
用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,应该始终定义 0% 和 100% 选择器。
实现动画效果两要件:
1、首先要定义一个动画 ,定义一个@keyframes 规则(关键帧)
2、调用动画 动画定义好之后,使用animation 属性调用动画
(二)、animation属性设置动画效果
-
-
- @keyframes 规定动画
- animation-name 规定@keyframes 动画名称
- animation-duration 规定一个动画完成的周期所花费的秒或毫秒。默认值为0。
- animation-timing-function 规定动画的速度曲线。默认值为ease
- animation-delay 动画开始前等待的时间。取值可为负(-2s 动画跳过 2 秒进入动画周期)
- animation-iteration-count 规定动画播放的次数。默认值为1
- animation-direction 规定动画是否在下一周期逆向地播放。默认值是normal
- animation-play-state 规定动画是否正在运行或暂停。默认值是running
- animation-fill-mode 规定对象动画时间之外的状态
-
animation-timing-function 属性值如下:
- linear 匀速(线型过渡)
- ease 先慢后快再慢
- ease-in 先慢后快
- ease-out 先快后慢
- ease-in-out 开头慢结尾慢,中间快
1 动画制作过程
2 1.通过@keyframes规则创建动画
3
4 /*创建动画,字体颜色由红变蓝 */
5 @keyframes changeColor {
6 from { color: red; }
7 to { color: blue; }
8 }
9 2.元素绑定动画
10
11 span {
12 display: inline-block; /*内联元素要转成block元素 */
13 animation: changeColor 1s linear; /*绑定动画,并设置动画时间和执行曲线 */
14 }
15 3.动画还可以使用百分比来更加精细的控制动画流程:
16
17 @keyframes changeColor {
18 0% {color: red;}
19 25% {color: yellow;}
20 50% {color: green;}
21 75% {color: pickle;}
22 100% {color: blue;}
23 }