# css动画
## transition(过渡)
> 元素从这个属性(color)的某个值(red)过渡到这个属性(color)的另外一个值(green),这是一个状态的转变,需要一种条件来触发这种转变,比如我们平时用到的:hoever、:focus、:checked、媒体查询或者JavaScript。
>
基本语法:transition: property duration timing-function delay;
分别对应属性,持续时间,时间方程,延迟时间(多少秒后开始运行这个变化)。
例如:
~~~
<style>
#box {
height: 100px;
width: 100px;
background: green;
transition: transform 1s ease-in 1s; // 一秒后用ease-in的方式对transform属性产生变化,一秒完成。
}
#box:hover {
transform: rotate(180deg) scale(.5, .5);
}
</style>
~~~
## transform(变形)
常用参数:
1. rotate() 旋转
2. skew() 倾斜
3. scale() 按比例放大
4. translate(,) 变动,位移,分别还有x、y之分,比如:rotatex() 和 rotatey() ,以此类推。
## translate(移动)ranslate只是transform的一个属性值,即移动。
见上面👆
## animation(动画)
语法:animation: name duration timing-function delay iteration-count direction play-state fill-mode;
**name**
用来调用@keyframes定义好的动画,与@keyframes定义的动画名称一致
**duration**
指定元素播放动画所持续的时间
**timing-function**
规定速度效果的速度曲线,是针对每一个小动画所在时间范围的变换速率
**delay**
定义在浏览器开始执行动画之前等待的时间,值整个animation执行之前等待的时间
**iteration-count**
定义动画的播放次数,可选具体次数或者无限(infinite)
**direction**
设置动画播放方向:normal(按时间轴顺序),reverse(时间轴反方向运行),alternate(轮流,即来回往复进行),alternate-reverse(动画先反运行再正方向运行,并持续交替运行)
**play-state**
控制元素动画的播放状态,通过此来控制动画的暂停和继续,两个值:running(继续),paused(暂停)
**fill-mode**
控制动画结束后,元素的样式,有四个值:none(回到动画没开始时的状态),forwards(动画结束后动画停留在结束状态),backwords(动画回到第一帧的状态),both(根据animation-direction轮流应用forwards和backwards规则),注意与iteration-count不要冲突(动画执行无限次)
~~~
div:hover {
animation: 1s rainbow;
}
@keyframes rainbow {
0% { background: #c00; }
50% { background: orange; }
100% { background: yellowgreen; }
}
~~~
通过@keyframes 定义所要使用的动画名称以及其相关效果。
- html
- 冒泡/捕获/委托
- 前端路由
- Dom
- 创建节点API
- 页面修改型API
- 节点查询型API
- 节点关系型API
- 元素属性API
- DOM事件
- classList
- 性能优化
- 节流防抖
- localStorage sessionStorage
- BOM
- meta
- data属性
- js实现拖拽
- html5
- 关于meta
- 轮播图
- js实现拖放
- 电话号inputFormater
- js
- es6
- promise
- iterator
- generator
- async
- proxy
- Set
- Map
- Object的扩展
- String
- Iterator
- Symbol
- 解构赋值
- 函数式编程
- module
- 基本数据类型
- 数组相关codings
- for of/for in
- this
- call bind apply
- 闭包
- 作用域
- prototype与继承
- 深浅拷贝
- setTimeOut/setInterval
- 垃圾处理机制
- 设计模式
- 观察者模式
- 单例模式
- 策略模式
- RegExp
- with
- 其他玩意
- Error/Stack Trace
- 面向对象
- css
- 回流重绘
- %取值
- 属性继承/属性优先级
- flex
- BFC
- 盒模型
- 设置css的方法
- 定位机制
- 块级/行内元素
- hack和一些别的玩意
- css动画
- 几个布局
- 画图形
- css3
- animation对比transform
- 点击不同图片区域跳转不同
- css选择器性能问题
- vh rem em
- css选择器
- 伪类伪元素
- css匹配原理
- 数据结构与算法
- 数据结构
- 树
- 链表
- 栈和队列
- 排序
- 归并排序
- 插入排序
- 选择排序
- 冒泡排序
- 快速排序
- 递归
- 回溯法
- 搜索算法
- 动态规划
- http
- 跨域问题
- CORS
- GET/POST
- ajax
- ajax上传文件
- http缓存
- https
- TCP/UDP
- cookie/session
- http2.0
- spdy
- websocket
- React
- redux
- 生命周期
- 虚拟dom与diff
- 双向数据绑定
- mvvm
- setState
- contextApi props reudx
- 高阶组件
- react-redux
- Fiber
- react-router
- 受控/非受控组件
- 待整理
- webpack
- loader实现
- 前端安全
- 移动端适配
- Vue
- 传值
- 其他