Transition过渡

transition-property 过渡属性 all|[attr]

transition-duration 过渡时间

transition-delay 延迟时间

transition-timing-function 运动类型

  • ease:(逐渐变慢)默认值
  • linear:(匀速)
  • ease-in:(加速)
  • ease-out:(减速)
  • ease-in-out:(先加速后减速)
  • cubic-bezier 贝塞尔曲线( x1, y1, x2, y2 )贝塞尔曲线

webkit内核下:

ele.addEventListener('webkitTransitionEnd',function(){},false);

标准浏览器下:

ele.addEventListener(‘transitionend',function(){},false)

transition 执行次数问题

2D变换

transform

rotate() 旋转函数

  • deg 度数
  • Transform-origin 旋转的基点

skew() 倾斜函数

  • skewX()
  • skewY()

scale() 缩放函数 默认值是1

  • scaleX()
  • scaleY()

translate() 位移函数

  • translateX()
  • translateY()

animation声明关键帧动画

关键帧---@keyframes

  • 类似于flash
  • 定义动画在每个阶段的样式,即帧动画
  • 关键帧的时间单位
  • 数字:0%、25%、100%等(设置某个时间段内的任意时间点的样式)
  • 字符:from(0%)、to(100%)
  • 格式
@keyframes 动画名称
{
动画状态
}

animation调用动画

必要属性

  • animation-name 动画名称(关键帧名称)
  • animation-duration 动画执行时间

    可选属性

    animation-timing-function
  • linear 匀速
  • ease 缓存
  • ease-in 加速
  • ease-out 减速
  • ease-in-out 先加速后减速
  • cubic-bezier(number, number, number, number):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内

可选属性

  • animation-delay 动画延迟
  • animation-iteration-count 重复次数
  • animation-direction 动画运行的方向 normal | reverse | alternate | alternate-reverse
  • animation-play-state 动画状态 running | paused
  • animation-fill-mode 动画结束后的状态 none | forwards| backwards | both

3D变换

transform-style : flat | preserve-3d (3D空间展示)

perspective 透视效果

transform:perspective(800px) 直接作用在子元素上

perspective-origin 透视点位置

transform 新增函数

  • translate3d( tx , ty, tz )

    translateX() translateY() translateZ()
  • rotate3d( rx , ry , rz,a)

    rotateX() rotateY() rotateZ()
  • scale3d( sx , sy , sz)

    scaleX() scaleY() scaleZ()

动画进阶

【timing-function  steps (<number_of_steps>,`<direction>`)】

steps()是一个timing function,允许我们将动画或者过渡分割成段,而不是从一种状态持续到另一种状态的过渡。这个函数有两个参数;

第一个参数是一个正值,指定我们希望动画分割的段数;

第二个参数定义了这个要点 在我们的@keyframes中申明的动作将会发生的关键,这个值是可选的,在没有传递参数时,默认为”end”;

【”start”】表示一个左--持续函数,在动画开始时,动画的第一段将会马上完成。以左侧端点为起点,立即跳到第一个step的结尾处。它会立即跳到第一段的结束并且保持这样的状态直到第一步的持续时间结束。后面的每一帧都将按照此模式来完成动画;

【”end”】表示一个右--持续函数。动画执行时,在每一帧里,动画保持当前状态直到这一段的持续时间完成,才会跳到下一步的起点,后面的每一帧都按照这个模式来进行,在最后一帧的起点,等到这一帧的持续时间结束,整个动画的执行也已经结束,执行动画的元素来不及跳到这一帧的终点,直接回到了整个动画起点,开始了第二次动画。每个选择本质上从一个不同的面移动这个元素并且将产生一个不同的位置在这个相同的动画里;

【Sprites 精灵动画】

原理:使用一张含有多帧静态画面的图片,通过切换 background-position 使其变为连续的动画

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<style>
.box1 {
width: 100px;
height: 100px;
line-height:100px;
text-align: center;
margin:20px 0;
font-size:20px;
color:#fff;
-webkit-animation: animation1 6s steps(3, start) infinite;
}
.box2 {
width: 100px;
height: 100px;
line-height:100px;
text-align: center;
margin:20px 0;
font-size:20px;
color:#fff;
-webkit-animation: animation2 6s steps(3, end) infinite;
}
@-webkit-keyframes animation1{
from {
background-color: red;
}
to {
background-color: blue;
}
}
@keyframes animation1{
from {
background-color: red;
}
to {
background-color: blue;
}
}
@-webkit-keyframes animation2{
from {
background-color: red;
}
to {
background-color: blue;
}
}
@keyframes animation2{
from {
background-color: red;
}
to {
background-color: blue;
}
}
</style>
<body>
<div class="box1">start</div>
<div class="box2">end</div>
</body>
</html>

CSS3基础知识核心动画(二)的更多相关文章

  1. CSS3 基础知识

    CSS3 基础知识1.边框    1.1 圆角  border-radius:5px 0 0 5px;    1.2 阴影  box-shadow:2px 3px 4px 5px rgba(0,0,0 ...

  2. CSS3 基础知识[转载minsong的博客]

    CSS3 基础知识1.边框    1.1 圆角  border-radius:5px 0 0 5px;    1.2 阴影  box-shadow:2px 3px 4px 5px rgba(0,0,0 ...

  3. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  4. Go基础知识梳理(二)

    Go基础知识梳理(二) 简单函数的定义 //有参数有返回值 func sum(a int, b int) int { return a + b } //无返回值 func sum(a int, b i ...

  5. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

  6. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...

  7. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  8. CSS3基础知识

    CSS3基础 1 样式表的使用 1.内联样式表. 只影响单个元素,常用于标签. <p style="color: aqua;font-size: 20px">This ...

  9. canvas 基础知识整理(二)

    html部分: <canvas id="myCanvas" width="800" height="800" ></can ...

随机推荐

  1. linux 读取物理寄存器

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/mman.h ...

  2. pip source

    linux版本 sudo vim .pip/pip.conf[global]index-url = http://pypi.douban.com/simple[install]trusted-host ...

  3. Unity 3D游戏-NPC对话系统With XML

    用XML做的Unity NPC对话系统 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Create X ...

  4. 20155315 2016-2017-2 《Java程序设计》第九周学习总结

    教材学习内容总结 1.JDBC架构 数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网 ...

  5. JavaScript中实现最高效的数组乱序方法

    数组乱序的意思是,把数组内的所有元素排列顺序打乱. 常用的办法是给数组原生的sort方法传入一个函数,此函数随机返回1或-1,达到随机排列数组元素的目的. 复制代码代码如下: arr.sort(fun ...

  6. .NET 中使用 Mutex 进行跨越进程边界的同步

    Mutex 是 Mutual Exclusion 的缩写,是互斥锁,用于防止两个线程同时对计算机上的同一个资源进行访问.不过相比于其他互斥的方式,Mutex 能够跨越线程边界. 本文内容 Mutex ...

  7. (研) int(*p)[10]; int *p[10]; int(*)[10]; 之间的区别

    int *p[10]; 从这个最简单的说起 p先与后面的[4]结合,说明他本质是一个数组 ,“[]”的优先级比“*”要高.p先与“[]”结合,构成一个数组的定义,数组名为p,int *修饰的是数组的内 ...

  8. NTLM 了解

    NTLM是NT LAN Manager的缩写,这也说明了协议的来源.NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容.Windo ...

  9. TensorFlow笔记-04-神经网络的实现过程,前向传播

    TensorFlow笔记-04-神经网络的实现过程,前向传播 基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型 张量(tenso ...

  10. 先进驾驶员辅助系统ADSA

    ADSA(Advanced Driver-Assistance Systems)字面翻译过来是“先进驾驶员辅助系统”,实际上它是一种“辅助驾驶员更便捷更安全使用汽车”的系统. ADAS的研发历史可以追 ...