重新想,重新看——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效率低的两个因素都包括在 ...
随机推荐
- js i++ 与 ++i 的区别
转载:http://blog.csdn.net/hjb2722404/article/details/50423804 在javascript中,我们常常搞不懂i++与++i的区别,今天我们就来简单说 ...
- spring-boot 打包成 war包发布
1.用maven打包成war包 2.将war包用zip方式打开,删除里面的tomcat-embed相关的4个包,删除spring-boot-tomcat包 3.将删除了tomcat相关嵌入包后的war ...
- 与python的第一次邂逅
python简介 一.什么是python python是一种面向对象.直译式的计算机程序语言,所以有了武老师的那句名言:一切皆为对象 python的设计哲学是:“优雅”,“明确”,“简单” pytho ...
- 并发编程 - io模型 - 总结
1.提交任务得方式: 同步:提交完任务,等结果,执行下一个任务 异步:提交完,接着执行,异步 + 回调 异步不等结果,提交完任务,任务执行完后,会自动触发回调函数2.同步不等于阻塞: 阻塞:遇到io, ...
- Django接收自定义http header(转)
add by zhj: Django将所有http header(包括你自定义的http header)都放在了HttpRequest.META这个Python标准字典中,当然HttpRequest. ...
- VMware 虚拟机 Ubuntu 不能全屏问题
在刚安装完ubuntu后,屏幕不能全屏显示,此时: 1.安装VMware Tools 步骤: 1.1 进入ubuntu系统后,点击虚拟机上的[虚拟机]->[安装 vmware tools ...
- 网络爬虫Java实现抓取网页内容
package 抓取网页; import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream; ...
- PKU 1208 The Blocks Problem(模拟+list应用)
题目大意:原题链接 关键是正确理解题目意思 首先:介绍一下list容器的一些操作:参考链接 list<int> c1; c1.unique(); 去重. c1.r ...
- Java设计原则—开闭原则(转)
原文出自:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...
- SHUOJ - 算法题1 矩阵连乘问题(区间dp)
链接:http://acmoj.shu.edu.cn/problem/24/ 分析:设\(dp[i][j]\)为矩阵\(A[i:j]\)所需的最少乘法次数,则有dp方程:\(dp[i][j]=min\ ...