CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript。CSS3动画的属性主要分为三类:transform、transition以及animation。

1. transform

rotate
设置元素顺时针旋转的角度,用法是:
transform: rotate(x);
参数x必须是以deg结尾的角度数或0,可为负数表示反向。 scale
设置元素放大或缩小的倍数,用法包括:
transform: scale(a); 元素x和y方向均缩放a倍
transform: scale(a, b); 元素x方向缩放a倍,y方向缩放b倍
transform: scaleX(a); 元素x方向缩放a倍,y方向不变
transform: scaleY(b); 元素y方向缩放b倍,x方向不变 translate
设置元素的位移,用法为:
transform: translate(a, b); 元素x方向位移a,y方向位移b
transform: translateX(a); 元素x方向位移a,y方向不变
transform: translateY(b); 元素y方向位移b,x方向不变 skew
设置元素倾斜的角度,用法包括:
transform: skew(a, b); 元素x方向逆时针倾斜角度a,y方向顺时针倾斜角度b
transform: skewX(a); 元素x方向逆时针倾斜角度a,y方向不变
transform: skewY(b); 元素y方向顺时针倾斜角度b,想方向不变
以上的参数均必须是以deg结尾的角度数或0,可为负数表示反向。 matrix
设置元素的变形矩阵,因为矩阵变形过于复杂,暂略。 origin
设置元素的悬挂点,用法包括:
transform-origin: a b; 元素的悬挂点为(a, b)
元素的悬挂点即为它旋转和倾斜时的中心点。取值中的a、b可以是长度值、以%结尾的百分比或者left、top、right、bottom四个值。 2. transition transition-property
指定transition效果作用的CSS属性,其值是CSS属性名。 transition-duration
动画效果持续的时间,其值为以s结尾的秒数。 transition-timing-function
指定元素状态的变化速率函数,其取值基于贝赛尔曲线函数,详情如下所示: transition-delay
动画效果推迟开始执行的时间,其值为以s结尾的秒数。
CSS3动画的生命周期如下图所示,从中可以清楚的看出duration和delay之间的关系: 3. animation CSS3中真正的动画属性是animation,而前面的transform和transition都只是对DOM元素的变形或者是状态的过渡。实际上,CSS3所支持的动画效果只是填充动画,也就是说先设定整个动画生命周期中的几个关键状态(key frame,关键帧),然后动画将自行计算并模拟关键帧之间的过渡。那么在设置animation的属性之前就必须先设定好关键帧了。
关键帧@keyframes的语法结构如下: @keyframesNAME {
a% {
/*CSS属性*/
}
b% {
/*CSS属性*/
}
...
}
NAME表示动画的名字;a%、b%表示以百分号结尾的百分数,用于设定该关键帧在动画生命周期中的位置;百分数后面的{ } 中则需要写成该关键帧状态下CSS属性的值。另外,如果同一个百分数值在@keyframes中出现多次,那么后出现的将覆盖先出现的;并且关键帧在@keyframes中时无序的。
设置完关键帧后就可以继续设定animation了。 animation-name
指定选用的动画的名字,即keyframes中的NAME。
animation-duration
同transition-duration。
animation-timing-function
同transition-timing-function。
animation-delay
同transition-delay。
animation-iteration-count
设定动画执行的次数,其值可以是数字也可以是infinite(循环执行)。
animation-direction
设定动画执行的方向,其值可以是normal(正常顺序播放)或alternate(反向播放)。

欢迎扫描下方二维码,加入群聊,互相交流学习!

PS:欢迎扫描下方二维码或点击链接,加入QQ群

最新文章

  1. iOS 事件处理之UIResponder简介
  2. [转]delete 多表删除的使用
  3. Java学习笔记(六)
  4. 【BZOJ-2502】清理雪道 有上下界的网络流(有下界的最小流)
  5. 【叉积】【sdut 2508 图形密码】
  6. Java中正则表达式及其常用类Math、Calendar、Date、BigDecimal、BigInterger、System、Rondom的使用
  7. top.location.href和localtion.href有什么不同
  8. oracle group by中cube和rollup字句的使用方法及区别
  9. 图形数据库、NOSQL和Neo4j
  10. Android开发中如何调用摄像头的功能
  11. jsp获取服务端的访问信息
  12. bzoj 2631: tree 动态树+常数优化
  13. 基本的 html 代码
  14. openstack私有云布署实践【11.1 计算nova - compute节点配置(科兴环境)】
  15. 从面试小白走向master
  16. 流程控制语句if、else、elif、break、continue
  17. docker容器下mysql更改WordPress的site address和home(URL)------局域网
  18. Spring Cloud Hystrix——熔断器
  19. mongodb的几种启动方法
  20. Attribute2Image --- Conditional Image Generation from Visual Attributes 论文笔记

热门文章

  1. 留存- angularjs 弹出框 $modal
  2. MantisBT 缺陷管理系统
  3. Linux任务前后台的切换(转)
  4. 如何用keytool导入证书
  5. Core Data 入门
  6. spring是什么
  7. 编码总结,以及对BOM的理解
  8. cocos2d-js反射
  9. 监控磁盘IO
  10. 40 Questions to test your skill in Python for Data Science