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. BZOJ4836: [Lydsy1704月赛]二元运算【分治FFT】【卡常(没卡过)】

    Description 定义二元运算 opt 满足 现在给定一个长为 n 的数列 a 和一个长为 m 的数列 b ,接下来有 q 次询问.每次询问给定一个数字 c 你需要求出有多少对 (i, j) 使 ...

  2. LOJ2538. 「PKUWC2018」Slay the Spire【组合数学】

    LINK 思路 首先因为式子后面把方案数乘上了 所以其实只用输出所有方案的攻击力总和 然后很显然可以用强化牌就尽量用 因为每次强化至少把下面的牌翻一倍,肯定是更优的 然后就只有两种情况 强化牌数量少于 ...

  3. django所遇到问题简单总结

    问题虽小,但却值得深思 一.改mysql密码 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = ...

  4. 【JVM】jvm的jps命令

    jps -- Java Virtual Machine Process Status Tool 可以列出本机所有java进程的pid jps [ options ] [ hostid ] 选项 -q ...

  5. .hex文件和.bin文件的区别

    博客转之于:  http://mini.eastday.com/a/160627003502858.html HEX文件和BIN文件是我们经常碰到的2种文件格式.下面简单介绍一下这2种文件格式的区别: ...

  6. day40 python MySQL【四】 之 【索引】【视图】【触发器】【存储过程】【函数】

    MySQL[四] 之 [索引][视图][触发器][存储过程][函数]   1.索引 索引相当于图书的目录,可以帮助用户快速的找到需要的内容. 数据库利用各种各样的快速定位技术,能够大大提高查询效率.特 ...

  7. JS页面打印预览功能

    点击按钮后就可以直接打印预览,并且隐藏了按钮,如果你不希望按钮显示,可以把那部分代码删除就可以了. <html><head><meta http-equiv=" ...

  8. handler之责任链模式

    https://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html

  9. QString和char字符串数组之间的转换 (转)

    做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString:但是,在对串口设备进行读写时,数据使用的形 ...

  10. bzoj 4772 显而易见的数论——拆分数(五边形数定理)+线性筛

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4772 题解:https://blog.csdn.net/Dream_Lolita/artic ...