重新想,重新看——CSS3变形,过渡与动画④
最后,我们来探讨一下CSS3的动画属性。
之前提到过,实际上过渡也算作动画的一种。但过渡作为动画的缺陷在于,只能使元素属性从一个值“过渡”至另一个值,但如果想要使元素的属性值根据需要在时间轴上不断变化,则必须使用到animation属性。
animation属性解决动画问题的思路也很简单,即通过制定关键帧的方式,"切割"时间,使浏览器一段一段的通过"过渡"完成属性值的变化。本质上来看,animation的实现效果实际上是多个transition过渡的叠加。
具体来说,animation的控制要点主要有以下两点:
1.制作关键帧并引用
(1)制作关键帧
关键帧属性的写法为@keyframes,用来制定一次动画中,不同阶段元素的属性变化。举例如下:
@keyframes addWidth{
from {
3 width: 200px;
}
50% {
width: 500px;
}
to {
width: 200px;
}
}
(2)引用关键帧
当需要使用此关键帧时,需要为元素添加这样一条声明:animation:addWidth,2s。像transition属性一样,关键帧名称和动画时间为动画属性的必须值。另外,对于animation而言,可以同时声明多个关键帧,只需将不同关键帧用逗号分隔即可。
2.对动画细节的设定
除了选择好完成动画需要的时间并设定好动画的执行效果之外,我们其实还需要对一次动画进行很多其他方面的操控,例如动画延迟,动画结束后是返回最初状态还是保留结尾状态,动画速率,中止动画等等。在CSS3中,这些控制需求可以通过动画属性下的8个子属性得到满足,下面进行一一介绍:
(1)animation-name 通过关键帧名称调用动画。
其值为已设定的关键帧名称或none,当设置为none时,会立即停止(覆盖)已经设置或正在进行的任何动画。
(2)animation-duration 设定动画的时长。
(3)animation-timing-funciton 主要用来设置动画播放方式,使用方式与transition相同。
(4)animation-delay 设定动画的延迟时间。
(5)animation-iteration-count 设定动画的播放次数,默认值为1,可以通过关键字infinite使动画无限循环播放,也可以写明具体数字控制动画的播放次数。
(6)animation-direction 设置动画的播放方向,其值有normal(默认)与alternate两个,第2个值使动画每次在奇数次时向反方向播放动画。
(7)animation-play-state 控制元素播放状态,值有running与paused两个,选择后者时会暂停动画播放,此时元素的样式将回到最原始设置状态。
(8)animation-fill-mode 这个子属性决定了动画结束后属性值应为初始状态还是结束状态,有四个值:none,forwards,backwards,both。
以上逐一解释了animation动画的八个子属性,通过这些子属性的运用,就可以很好的控制元素的动画效果。
最后,再谈一谈animation属性的浏览器兼容问题,和transform类似,IE10以下的浏览器不支持。
重新想,重新看——CSS3变形,过渡与动画④的更多相关文章
- 重新想,重新看——CSS3变形,过渡与动画①
学习CSS3,觉得最难记忆的部分除了flex特性之外,就要属变形,过渡和动画部分了.作为初学者,总有种犯懒的心理,想着既然IE8浏览器都不完全支持CSS动画属性,还要考虑浏览器兼容问题,那么就不那么着 ...
- 重新想,重新看——CSS3变形,过渡与动画③
这一篇主要谈谈CSS3的过渡属性. 过渡属性被设计的十分通俗易懂,属性写法为transition,有四个子属性: <transition-property> 表示需要过渡的属性[必须](本 ...
- 重新想,重新看——CSS3变形,过渡与动画②
本篇文章主要用来归纳总结CSS3变形属性. CSS3变形属性大致可以分为以下三个部分: 变形控制属性 2D变形函数 3D变形函数 下面将对其一一进行分析: 1.变形控制属性 所谓的变形控制属性主要指“ ...
- css3的过渡、动画、2D、3D效果
浏览器的内核: 谷歌的内核是:webkit 火狐的内核是:gecko Ie的内核是:trident 欧鹏的内核是:presto 国内浏览器的内核:webkit css3针对同一样式在不同的浏览器的兼容 ...
- 前端:css3的过渡与动画
一.css3过渡知识 (一).概述 1.CSS3过渡是元素从一种样式逐渐改变为另一种的效果. 2.实现过渡效果的两个要件: 规定把效果添加到那个css属性上. 规定效果时长 定义 ...
- css3 转换 过渡 及动画
转换transform: 通过 CSS3 转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸.您可以使用 2D 或 3D 转换来转换您的元素 2D转换属性: transform 向元素应用 2D 或 ...
- css3的过渡和动画的属性介绍
一.过渡 什么是过渡? 过渡是指:某元素的css属性值在一段时间内,平滑过渡到另外一个值,过渡主要观察的是过程和结果. 设置能够过渡的属性: 支持过渡的样式属性,颜色的属性,取值为数值,transfo ...
- CSS3 变形记
CSS3 变形 CSS3变形是一些效果的集合,比如平移,旋转,缩放和倾斜效果,每个效果都称为变形函数. transform transform属性向元素应用 2D 或 3D 转换.该属性允许我们对元素 ...
- 常用到用css3实现的转换,过渡和动画
为什么要用css动画替换js动画 导致JavaScript效率低的两大原因:操作DOM和使用页面动画. 通常我们会通过频繁的操作 DOM的CSS来实现视觉上的动画效果,导致js效率低的两个因素都包括在 ...
随机推荐
- Python--进阶处理8
# ====================第八章:类与对象========================= # --------------改变对象的字符串显示------------------ ...
- 几种压缩方式:zlib
zlib:zlib.h http://www.zlib.net/manual.html 编译时加 -lz ZEXTERN int ZEXPORT compress OF((Bytef *dest, u ...
- HDU3231 Box Relations——三维拓扑排序
HDU3231 Box Relations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3231 题目意思:在一个三维空间上有一些棱和坐标轴平行的立方 ...
- php判断密码强度函数
其实就是一些策略正则,写好了就留下来以后用. print_r(getPasswordStrength('s1212adsddfASD;\'g;\'gh.h,h..;')); function getP ...
- add() 方法用于向 <select> 添加一个 <option> 元素。
//add() 方法用于向 <select> 添加一个 <option> 元素. //new Option() 创建一个option标签 school.add(new Opti ...
- Python数据分析(一):工具的简单使用
1.Numpy 安装:pip install numpy [root@kvm work]# cat numpy_test.py #!/usr/bin/env python #coding:utf-8 ...
- 02-django查询
目录 (一)查询 1 .基本查询(等于.大于.包含字符.日期.字段比较.逻辑) 2 .关联查询(即为join查询)(一对多.多对多.一对一) 3 .聚合查询(统计查询) (二)关联对象(已知A表的 ...
- POJ-3131-Cubic Eight-Puzzle(双向BFS+哈希)
Description Let's play a puzzle using eight cubes placed on a 3 × 3 board leaving one empty square. ...
- 1.新建项目出现包名有一道红线The SDK platform-tools version ((23)) is too old to check APIs compiled with API 20
原因分析: 就是platform-tools的版本太低导致的 解决方法: 1.点开SDK Manager,打开SDK Tools面板,将Platform-tools更新 2.更新完之后重启as即可
- PAT 1084 Broken Keyboard[比较]
1084 Broken Keyboard (20 分) On a broken keyboard, some of the keys are worn out. So when you type so ...