CSS3的transition和animation的用法实例介绍


Posted in HTML / CSS onAugust 20, 2014

transition

transition 属性是
transition-property,
transition-duration,
transition-timing-function,
transition-delay
的简称,用于设定一个元素的两个状态,不同的状态可以用伪类,比如:hover, :active 或者是通过 javascript 动态设定。IE10+支持。

所以 transition 的初始值为:

transition-delay: 0s;
transition-duration: 0s;
transition-property: all;
transition-timing-function: ease;

用法

div {
transition: <property> <duration> <timing-function> <delay>;
}

并且有事件可以监测 transition 结束

el.addEventListener("transitionend",updateTransition,true);

//in webkit
el.addEventListener("webkitTransitionEnd",updateTransition,true);

实例

HTML

复制代码
代码如下:

<!-- DEMO 1: Fade Block -->
<div id="fade">
move here !
</div>
<div id="nudge">
mouse on me
</div>
<div id="bounce">Place mouse on me i will bounce!</div>
<div id="spin">Place mouse on me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i will spin</div>
<div id="accordion" class="accordion">
<a href="#first">This is first tab</a>
<div id="first"><p>Lorem ipsum </p> </div>
<a href="#second">This is second tab</a>
<div id="second"><p>Lorem ipsum </p> </div>
<a href="#third">This is third tab</a>
<div id="third"><p>Lorem ipsum </p> </div>
</div>

CSS
复制代码
代码如下:

/*
DEMO 1: Fade Block
*/
div {
margin-bottom: 50px;
}
#fade {
/*opacity:1;
-webkit-transition: opacity 10s liner 10s;*/
position: relative;
transition-property: font-size;
transition-duration: 0.5s;
transition-delay: 0;
font-size: 14px;
}
#fade:hover {
font-size: 36px;
}

/* DEMO2 */
#nudge{
-webkit-transition-property: color,
background-color,padding-left;
-webkit-transition-duration: 500ms,500ms, 500ms;
}
#nudge:hover{
background-color: #efefef;
color: #333;
padding-left: 50px;
}
#bounce:hover {
-webkit-animation-name:bounce;
-webkit-animation-duration:1s;
-webkit-animation-iteration-count:2;
-webkit-animation-direction:alternate
}
@-webkit-keyframes bounce {
from{margin-left:0;}
to{margin-left:250px;}
}
#spin{
-webkit-transition: -webkit-transform 10s ease-in;
}
#spin:hover{
-webkit-transform: rotate(36000deg);
}
.accordion a{
display: block;
padding:5px 10px;
background-color:#ccc;
color:#000;
/*可以去掉链接的下划线等修饰效果*/
text-decoration:none;
}
.accordion a:hover{
background-color:#999;
}
.accordion div{
background-color:#cda;
color:#222;
}
.accordion div p{
padding:20px
}
#accordion div{
/*先隐藏起来*/
height:0;
overflow:hidden;
-webkit-transition:height 600ms ease;
}
#accordion div:target{
height:110px;
}


animation

animation 属性是如下这些属性的简写
animation-name: none
animation-duration: 0s
animation-timing-function: ease
animation-delay: 0s
animation-iteration-count: 1
animation-direction: normal
animation-fill-mode: none

用法

animation:
animation-name
time(duration)
timing-function
time(delay)
animation-iteration-count( 结束之前的循环次数)
single-animation-direction
/*{
animation-direction: normal (每次从正方向开始)
animation-direction: reverse (每次从反方向开始)
animation-direction: alternate (正反往复)
}*/
single-animation-fill-mode

实例

复制代码
代码如下:

<div class="view_port">
<div class="polling_message">
Listener for dispatches
</div>
<div class="cylon_eye">
</div>
</div>
.polling_message {
color: white;
float: left;
margin-right:2%;
}
.view_port {
background-color: black;
height: 50px;
width: 100%;
overflow: hidden;
}
.cylon_eye {
color: white;
height: 100%;
width: 80%;
background-color: red;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 25%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.9) 75%);
-webkit-animation: move_eye 4s linear 0s infinite alternate;
-moz-animation: move_eye 4s linear 0s infinite alternate;
-o-animation: move_eye 4s linear 0s infinite alternate;
animation: move_eye 4s linear 0s infinite alternate;
}
@-webkit-keyframes move_eye {
from {
margin-left:-20%;
}
to {
margin-left:100%;
}
}
@-moz-keyframes move_eye {
from {
margin-left:-20%;
}
to {
margin-left:100%;
}
}
@-o-keyframes move_eye {
from {
margin-left:-20%;
}
to {
margin-left:100%;
}
}
@keyframes move_eye {
from {
margin-left:-20%;
}
to {
margin-left:100%;
}
}
HTML / CSS 相关文章推荐
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
css3实现3D色子翻转特效
Dec 23 HTML / CSS
一款基于css3麻将筛子3D翻转特效的实例教程
Dec 31 HTML / CSS
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
Aug 18 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
Sep 25 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
Nov 21 HTML / CSS
CSS3+JavaScript实现炫酷呼吸效果的示例代码
Jun 15 HTML / CSS
HTML5移动端开发遇见的东西
Oct 11 HTML / CSS
HTML5微信播放全屏问题的解决方法
Mar 09 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
CSS3 天气图标动画效果
Apr 06 HTML / CSS
sass 常用备忘案例详解
Sep 15 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
Aug 19 #HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 #HTML / CSS
css3 position fixed固定居中问题解决方案
Aug 19 #HTML / CSS
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 #HTML / CSS
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
Aug 08 #HTML / CSS
CSS3制作文字半透明倒影效果的两种实现方式
Aug 08 #HTML / CSS
CSS3 transform的skew属性值图文详解
Jul 21 #HTML / CSS
You might like
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
php strftime函数的详细用法
2018/06/21 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
py-charm延长试用期限实例
2019/12/22 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
python装饰器代码解析
2022/03/23 Python
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android