CSS3 动画 cheatsheet
Transition
实例
.box {
height: 100px;
width: 100px;
background: #212121;
transition: width 1s ease, height 2s ease 1s;
}
.box:hover {
height: 200px;
width: 200px;
}
参数
- transition-property
- transition-duration
- transition-timing-function(可以 定制)
- transition-delay
js 触发
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.box {
height: 100px;
width: 100px;
background: #212121;
transition: width 1s ease, height 2s ease 1s;
}
.larger {
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<div class="box"></div>
<script type="text/javascript">
setTimeout(() => {
document.querySelector('.box').classList.add('larger')
}, 500)
</script>
</body>
</html>
使用注意和局限
- 不是所有的 CSS 属性都支持 transition,完整列表 & 具体效果
- transition 需要明确知道开始状态和结束状态的具体数值
- transition 需要事件触发(上面例子中的 hover 或者动态添加 class),其实质是元素属性的改变,而该属性定义过 transition
- transition 是一次性的,不能重复发生,除非一再触发
- transition 只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态
Animation
实例
.box {
height: 100px;
width: 100px;
background: #212121;
}
@keyframes larger {
50% {
height: 200px;
width: 100px;
}
100% {
height: 200px;
width: 200px;
}
}
.box:hover {
/* CSS Animation 需要指定动画一个周期持续的时间,以及动画效果的名称 */
animation: 2s larger;
}
参数
- animation-iteration-count(动画播放次数,可以取值 1, 2, 3... 或者 infinite)
- animation-fill-mode(动画结束,会立即从结束状态跳回到开始状态,可以取值 forwards 使之保留在结束状态)
- animation-name
- animation-duration
- animation-timing-function
- animation-delay
- animation-direction(规定动画是否在下一周期逆向地播放。默认是 "normal"。)
- animation-play-state(如果想让动画保持突然终止时的状态,就要使用 animation-play-state 属性。)
js 触发
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.box {
height: 100px;
width: 100px;
background: #212121;
}
@keyframes larger {
50% {
height: 200px;
width: 100px;
}
100% {
height: 200px;
width: 200px;
}
}
.larger {
animation: 2s larger forwards;
}
</style>
</head>
<body>
<div class="box"></div>
<script type="text/javascript">
setTimeout(() => {
document.querySelector('.box').classList.add('larger')
}, 1000)
</script>
</body>
</html>
连续的动画
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.box {
height: 100px;
width: 100px;
background: #212121;
animation:
1s higher forwards,
1s 1s wider forwards;
}
@keyframes higher {
50% {
height: 100px;
}
100% {
height: 200px;
}
}
@keyframes wider {
50% {
width: 100px;
}
100% {
width: 200px;
}
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
如果连续的动画是作用在同一个元素上,其实完全可以写在一个 animation 里。
CSS3 动画 cheatsheet的更多相关文章
- css3动画第一式--简单翻滚
在w3cschool上面查阅css3的动画语法手册时,发现“css3 动画”栏目首页放了一个翻滚的div动画案例,觉得挺好看的,于是就自己模仿着写了一下,感觉还行O(∩_∩)O哈哈~ 查看原地址 下面 ...
- CSS3动画制作
CSS3动画制作 rotate 绕中心旋转 fadeInPendingFadeOutUp 先渐现,停留2s,再向上滑动并逐渐消失 fadeInUp2D 向上滑动并渐现, 因Animate.css的fa ...
- 学习CSS3动画(animation)
CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...
- 用CSS3动画,让页面动起来
以前就听说过有个库,叫animate.css,但是自己并没有在实际项目中使用过,这次正好要做个招聘页面,得以利用一下这个库,在经常会卡顿的UC浏览器中也能流畅执行. 扫描下面的二维码,可以看到在线的d ...
- CSS3动画几个平时没注意的属性
一.timing-function: steps() 一开始在使用CSS3的时候并没有太注意这个timing-function,只是注意到自定义贝塞尔曲线. 1)一个项目中的实例 先来看看左边加了st ...
- 用CSS3动画特效实现弹窗效果
提示:如果大家觉得本篇实现的弹窗效果有用,可持续关注.接下会添加更多效果并且封装成插件,这样使用就方便了.效果查看: https://heavis.github.io/hidialog/index.h ...
- JavaScript - 基于CSS3动画的实现
在痛苦的IE8时代,所有的动画都只能基于自己计算相关动画属性,开定时器setTimeout/setInterval轮询动画任务. 而肩负重任的HTML5,早已注意到了日益增强的动画,随着HTML5的降 ...
- CSS3动画事件
CSS3 的动画效果强大,在移动端使用广泛,动画执行开始和结束都可以使用JS来监听其事件. animationstart animationend 以下是一个示例 <!DOCTYPE html& ...
- css3动画简介以及动画库animate.css的使用
在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...
随机推荐
- 【SqlServer】【问题收集】必须声明标量变量
1 问题概述 在DAL层,通过标量给变量赋值时,出现如下异常 我们来看看在数据访问层的SQL语句: //根据EmployeeName条件获取数据 public DataTable GetEmplo ...
- 自学Zabbix3.7-事件Event
配置item.trigger.都是为发送报警做准备的,什么是事件通知呢?简单的说故障发生了,zabbix会发邮件或者短信给你,告诉你服务器的一些状况. 1. 通知条件 发送通知,需要有如下步骤 定义一 ...
- Python爬虫(二十二)_selenium案例:模拟登陆豆瓣
本篇博客主要用于介绍如何使用selenium+phantomJS模拟登陆豆瓣,没有考虑验证码的问题,更多内容,请参考:Python学习指南 #-*- coding:utf-8 -*- from sel ...
- MyBatis:lazy loading
懒加载的原理 mybatis 会循环处理结果集中返回的每行数据的,在处理之前首先会通过反射调用构造方法来创建 result 对象,结果集中的一行数据最终会映射为一个 result 对象(严格的来说是不 ...
- idea svn 的使用----转载,挺好的
Intellij IDEA svn的使用记录 这里的忽略一直灰色的,可以进入 这里的版本控制里进行忽略选择 或者 这里进行添加 这里有三个选择 按照顺序 1.忽略指定的文件 2.忽略文件夹下所有文件 ...
- presto
presto中文站:http://prestodb-china.com/ 进入hadoop机器,进入presto所在bin目录:presto --server localhost:9090 --cat ...
- postgresql 导出函数的方法
先放一条mysql的导出语句 /usr/bin/mysqldump -h127.30.100.33 -P3388 -uname -ppassword --databases databasename ...
- [编织消息框架][传输协议]sctp
OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型. 该体系结构标准定义了网络互连的七 ...
- Mysql的硬件优化和配置优化
mysql数据库的优化,算是一个老生常谈的问题了,网上也有很多关于各方面性能优化的例子,今天我们要谈的是MySQL硬件优化和系统参数的优化-即优化my.cnf文件 MySQL的优化我分为两个部分,一是 ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...