一、CSS3 过渡

  • transition-property

   规定过渡效果的 CSS 属性名

   -webkit-transition-property: none / all / property;
-moz-transition-property: none / all / property;
-ms-transition-property: none / all / property;
-o-transition-property: none / all / property;
transition-property: none / all / property;
/*参数说明
- none
- all,默认值
- property(CSS属性名) 例如color、opacity...*/
  • transition-duration

   规定完成过渡效果需要多少时间

transition-duration: time;
/*参数说明
- 规定完成过渡效果需要花费的时间(以秒或毫秒计)
- 默认值是 0*/
  • transition-timing-function

   规定速度效果的速度曲线

transition-timing-function: ease / linear / ease-in / ease-out / ease-in-out
step-start / step-end / steps(<integer>, [ start / end ])
cubic-bezier(<number>, <number>, <number>, <number>);
/*参数说明
− linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
− ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
− ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
− ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0) − ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)(最佳效果) − step-start:等同于 steps(1, start)
− step-end:等同于 steps(1, end)
− steps(<integer>[, [ start | end ] ]?):接受两个参数的步进函数
第一个参数:必须为正整数,指定函数的步数
第二个参数:取值可是start或end,指定每一步的值发生变化的时间点
第二个参数:可选,默认值为end
− cubic-bezier(<number>, <number>, <number>, <number>):
特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内*/
  • transition-delay

   定义过渡效果何时开始

transition-delay: time;
/*参数说明
- 指定秒或毫秒数之前要等待切换效果开始
- 默认值是 0*/
  • transition复合写法

transition: property duration timing-function delay;
  • 实际应用

div
{
width:100px;
height:75px;
background:#0b2632;
transition-property:width;
transition-duration:1s;
transition-timing-function:ease-in-out;
transition-delay:0.5s;
/* Safari */
-webkit-transition-property:width;
-webkit-transition-duration:1s;
-webkit-transition-timing-function:ease-in-out;
-webkit-transition-delay:0.5s;
} div:hover
{
width:200px;
}

二、CSS3 动画

  • Keyframes

   关键帧,可以指定任何顺序排列来决定Animation动画变化的关键位置

@keyframes animationname {
keyframes-selector {
css-styles;
}
} /*参数说明
animationname:必写项,定义animation的名称
keyframes-selector:必写项,动画持续时间的百分比,0-100%、from (0%)、to (100%)
css-styles:必写项,一个或多个合法的CSS样式属性
@keyframes animationname在style中单独写入
*/
  • animation-name

   规定需要绑定到选择器的 keyframe 名称

animation-name: keyframename / none;

/*参数说明
keyframename:指定要绑定到选择器的关键帧的名称;
none:指定有没有动画(可用于覆盖从级联的动画)
*/
  • animation-duration

   规定完成动画所花费的时间,以秒或毫秒计

animation-duration: time;

/*参数说明
time指定动画播放完成花费的时间。默认值为 0,意味着没有动画效果
*/
  • animation-timing-function

   规定动画的速度曲线

animation-timing-function: ease / linear / ease-in / ease-out / ease-in-out
step-start / step-end / steps(<integer>, [ start / end ])
cubic-bezier(<number>, <number>, <number>, <number>);
/*参数说明
− linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
− ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
− ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
− ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0) − ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)(最佳效果) − step-start:等同于 steps(1, start)
− step-end:等同于 steps(1, end)
− steps(<integer>[, [ start | end ] ]?):接受两个参数的步进函数
第一个参数:必须为正整数,指定函数的步数
第二个参数:取值可是start或end,指定每一步的值发生变化的时间点
第二个参数:可选,默认值为end
− cubic-bezier(<number>, <number>, <number>, <number>):
特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内*/
  • animation-delay

   规定在动画开始之前的延迟

animation-delay: time;

/*参数说明
可选。定义动画开始前等待的时间,以秒或毫秒计。默认值为0
如果值为负,则动画马上开始,但会跳过相应的时间进入动画
*/
  • animation-iteration-count

   规定动画应该播放的次数

animation-iteration-count: infinite / <number>;

/*参数说明
<number>为数字,其默认值为“1”;infinite为无限次数循环
*/
  • animation-direction

   规定是否应该轮流反向播放动画

animation-direction: normal / reverse / alternate / alternate-reverse / initial / inherit;

/*参数说明
normal:正常方向
reverse:反方向运行
alternate:先正后反,并持续交替运行(需依赖infinite)
alternate-reverse:先反后正,并持续交替运行(需依赖infinite)
*/
  • animation-fill-mode

   规定当动画完成或当动画有延迟未开始播放时,要应用到元素的样式

animation-fill-mode: none / forwards / backwards / both / initial / inherit;

/*参数说明
none:默认值。不设置对象动画之外的状态
forwards:设置对象状态为动画结束时的状态
backwards:设置对象状态为动画开始时的状态
both:设置对象状态为动画结束或开始的状态
*/
  • animation-play-state

   规定动画运行或暂停

animation-play-state: paused / running;

/*参数说明
paused:指定暂停动画
running:默认值,指定正在运行的动画
*/
  • animation

   复合写法

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

/*参数说明
默认写在前面的时间为duration
*/
  • will-change

   增强页面渲染性能,提前通知浏览器元素将要做什么动画,让浏览器提前准备合适的优化设置

will-change: auto / scroll-position / contents / <custom-ident> / <animateable-feature>;

/*参数说明
auto:此关键字表示没有特定的意图,适用于它通常所做的任何启发式和优化
scroll-position:表示将要改变元素的滚动位置
contents:表示将要改变元素的内容
<custom-ident>:明确指定将要改变的属性与给定的名称
<animateable-feature>:可动画的一些特征值,比如left、top、margin等
*/ 兼容性:IE13+、FireFox47+、Chrome49+、Safari9.1+、Opera39+、IOS9.3+、Android52+
  • 实际应用

div
{
width:100px;
height:100px;
background:black;
} div:hover
{
animation:myfirst 5s;
-o-animation:myfirst 5s; /* Opera */
-moz-animation:myfirst 5s; /* Firefox */
-webkit-animation:myfirst 5s; /* Safari and Chrome */
} @keyframes myfirst
{
0% {background:black;}
25% {background:blue;}
50% {background:red;}
100% {background:white;}
} @-moz-keyframes myfirst /* Firefox */
{
0% {background:red;}
25% {background:yellow;}
50% {background:blue;}
100% {background:green;}
} @-webkit-keyframes myfirst /* Safari and Chrome */
{
0% {background:red;}
25% {background:yellow;}
50% {background:blue;}
100% {background:green;}
} @-o-keyframes myfirst /* Opera */
{
0% {background:red;}
25% {background:yellow;}
50% {background:blue;}
100% {background:green;}
}

CSS3过渡与动画的更多相关文章

  1. CSS3 过渡、动画、多列、用户界面

    CSS3 过渡.动画.多列.用户界面 transition过渡 transition: transition-property transition-duration transition-timin ...

  2. 从零开始学习前端开发 — 15、CSS3过渡、动画

    一.css3过渡 语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式; 1.过渡属性(transition-property) 取值:all 所有发生变化的css属性都添加过渡 e ...

  3. css3 -- 过渡与动画

    1.注意使用前缀 2.属性: transition-property:none/all/属性 3.持续时间: transition-duration:默认值是0,即使是负值,按照0进行处理 4.tra ...

  4. 重新想,重新看——CSS3变形,过渡与动画①

    学习CSS3,觉得最难记忆的部分除了flex特性之外,就要属变形,过渡和动画部分了.作为初学者,总有种犯懒的心理,想着既然IE8浏览器都不完全支持CSS动画属性,还要考虑浏览器兼容问题,那么就不那么着 ...

  5. CSS3过渡、变形和动画

    1.CSS3过渡 所谓CSS3过渡,就是使用CSS3让元素从一种状态慢慢转换到另一种状态.如鼠标的悬停状态就是一种过渡.如下例子: #content a{     text-decoration: n ...

  6. CSS3学习(CSS3过渡、CSS3动画)

    CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加 ...

  7. 重新想,重新看——CSS3变形,过渡与动画④

    最后,我们来探讨一下CSS3的动画属性. 之前提到过,实际上过渡也算作动画的一种.但过渡作为动画的缺陷在于,只能使元素属性从一个值“过渡”至另一个值,但如果想要使元素的属性值根据需要在时间轴上不断变化 ...

  8. css3的过渡、动画、2D、3D效果

    浏览器的内核: 谷歌的内核是:webkit 火狐的内核是:gecko Ie的内核是:trident 欧鹏的内核是:presto 国内浏览器的内核:webkit css3针对同一样式在不同的浏览器的兼容 ...

  9. css3过渡动画 transition

    transition CSS3 过渡是元素从一种样式逐渐改变为另一种的效果. 要实现这一点,必须规定两项内容: 指定要添加效果的CSS属性 指定效果的持续时间 例如 这是下面代码的预览界面预览界面 & ...

随机推荐

  1. FastDFS是纯C语言实现,只支持Linux,适合以中小文件为载体的在线服务,还可以冗余备份和负载均衡

    一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...

  2. Qt父窗口设置为桌面

    #include "widget.h"#include <QApplication>#include"windows.h"int main(int ...

  3. .Net 开源服务 and Net站点

    小泥鳅博客系统也是一个.NET平台的开源免费博客系统,创建于2008年夏天,基于.Net平台开发,拥有完整的文章发布,评论,订阅,标签等功能,满足个人/团队信息发布需求,可作为Blog,CMS,甚至建 ...

  4. 增加收入的 6 种方式(很多公司的模型是:一份时间卖多次。比如网易、腾讯。个人赚取收入的本质是:出售时间)good

    个人赚取收入的本质是:出售时间.从这个角度出发,下面的公式可以描述个人收入: 个人收入 = 每天可售时间数量 * 单位时间价格 * 单位时间出售次数 在这个公式里,有三个要素: 每天可出售的时间数量 ...

  5. GIS基础软件及操作(十一)

    原文 GIS基础软件及操作(十一) 练习十一.3D 可视分析 1.对地理数据进行透视观察.三维浏览:2.制作飞行动画 GIS数据三维显示 (1) 运行程序:[开始菜单]>>[所有程序]&g ...

  6. mysql三种修改密码的方式

    [root@MySQL ~]# mysqladmin -uroot -proot -S /data/3307/mysql.sock password '123'; 其中-p是现在的密码,passwor ...

  7. Tensorflow数据读取机制

    展示如何将数据输入到计算图中 Dataset可以看作是相同类型"元素"的有序列表,在实际使用时,单个元素可以是向量.字符串.图片甚至是tuple或dict. 数据集对象实例化: d ...

  8. 在Windows IoT上生成和识别二维码

    在Windows IoT生成和识别二维码,实际上由于是UWP上实现,所以,理论上,这些生成和识别二维码的方法也可以在其它平台上运行. 关于二维码的生成有很多库可以实现,比如QRCoder,这个库可以在 ...

  9. 使用Disk2VHD进行P2V转换需要知道的一些事

    据不可靠统计,有「无数」工具可以实现物理机到虚拟机的(P2V)转换,虽然有很多此类工具都被开发商帖上了高价标签,但至少来自微软 Sysinternals 工具集中的 Disk2VHD 还是可以免费使用 ...

  10. 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示

    1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为企业解决那些问题呢? 我们经常看到微信公众号定制开发.微信公众平台定制开发,都不知道这些能给 ...