CSS3中Transition动画属性用法详解


Posted in HTML / CSS onJuly 04, 2016

W3C标准中对css3的transition这是样描述的:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。”

transition属性的值包括以下四个:

 •transition-property: 指定对HTML元素的哪个css属性进行过渡渐变处理,这个属性可以是color、width、height等各种标准的css属性。
 •transition-duration:指定属性过渡的持续时间
 •transition-timing-function:指定渐变的速度:
1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0);
2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0);
3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0);
4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0);
5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0);
6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
 •transition-delay:指定延迟时间,也就是经过多长时间才开始执行过渡过程。
 
浏览器兼容性

Internet Explorer 9 以及更早的版本,不支持 transition 属性。

Internet Explorer 10, Firefox, Opera 和 Chrome支持transition 属性。Chrome 25 以及更早的版本以及Safari 需要前缀 -webkit-。

下面还是以实例来说明transition的用法

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>transition演示1</title>  
  6.     <style type="text/css">  
  7.         .animated_div {   
  8.             margin: 100px auto;   
  9.             width:100px;   
  10.             height:60px;   
  11.             background:#92B901;   
  12.             /*简写属性*/   
  13.             -webkit-transition:-webkit-transform 1s,opacity 1s,background 1s,width 1s,height 1s,font-size 1s; /* Safari */   
  14.             /*每个属性分开写*/   
  15.             transition-property:width,height,transform,background,opacity;   
  16.             transition-duration:1s,1s,1s,1s,1s,1s;   
  17.             -webkit-border-radius:5px;   
  18.             border-radius:5px;   
  19.             opacity:0.4;   
  20.         }   
  21.         .animated_div:hover {   
  22.             -moz-transform: rotate(360deg);   
  23.             -webkit-transform: rotate(360deg);   
  24.             -o-transform: rotate(360deg);   
  25.             transform: rotate(360deg);   
  26.             opacity:1;   
  27.             background:#1ec7e6;   
  28.             width:200px;   
  29.             height:120px;   
  30.         }   
  31.     </style>  
  32. </head>  
  33. <body>  
  34. <div class="animated_div"></div>  
  35. </body>  
  36. </html>  

上述代码当鼠标移到div上时,CSS属性:width,height,transform,background,opacity都发生渐变过渡效果。最终css样式变成.animated_div里定义的样式,过渡过程大致如下:

CSS3中Transition动画属性用法详解

再给一个网上的嫦娥奔月的示例,要求:当鼠标移到图片上时,嫦娥出现,移开时嫦娥消失

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <meta charset="utf-8">  
  5.     <title>transition演示2</title>  
  6.     <style type="text/css">  
  7.         body{   
  8.           color: #fff;   
  9.           background:#000;   
  10.         }   
  11.         .change{   
  12.           display:block;   
  13.           width:400px;   
  14.           height:400px;   
  15.           background:url(http://p3.qhimg.com/t0134c65e59012a1257.png) no-repeat center;   
  16.           background-size:cover;   
  17.           border:1em solid rgba(255,255,255,.8);   
  18.           margin:50px auto;   
  19.         }   
  20.         .change img{   
  21.           display:block;   
  22.           width:300px;   
  23.           height:284px;   
  24.           opacity:0;   
  25.           -webkit-transform:translate(-100px,-100px);   
  26.           transform:translate(-100px,-100px);   
  27.           -webkit-transition:opacity 1s ease-in-out 0.5s,-webkit-transform 1s ease-in-out;   
  28.           transition: opacity 1s ease-in-out 0.5s,transform 1s ease-in-out;   
  29.         }   
  30.         .change:hover img{   
  31.           -webkit-transform:translate(0px,0px);   
  32.           transform:translate(0px,0px);   
  33.           opacity:1;   
  34.         }   
  35.     </style>  
  36. </head>  
  37. <body>  
  38.     <a href="http://image.haosou.com/i?q=%E5%AB%A6%E5%A8%A5png&src=tab_www" class="change " target="_blank">  
  39.         <img src="http://p4.qhimg.com/t0160e6a92121691e22.png" alt="" />  
  40.     </a>  
  41. </body>  
  42. </html>  

为了使嫦娥有飘入飘出的效果,设置了transform属性,配合opacity属性,加入过渡效果就能达到效果:

CSS3中Transition动画属性用法详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
超酷炫 CSS3垂直手风琴菜单
Jun 28 HTML / CSS
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
Aug 18 HTML / CSS
CSS3教程(10):CSS3 HSL声明设置颜色
Apr 02 HTML / CSS
css3.0 图形构成实例练习一
Mar 19 HTML / CSS
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
Jan 03 HTML / CSS
html5拍照功能实现代码(htm5上传文件)
Dec 11 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
May 12 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
Mar 21 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
使用canvas仿Echarts实现金字塔图的实例代码
Nov 11 HTML / CSS
CSS3中Animation动画属性用法详解
Jul 04 #HTML / CSS
CSS3圆角边框和边界图片效果实例
Jul 01 #HTML / CSS
CSS3制作酷炫的三维相册效果
Jul 01 #HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 #HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 #HTML / CSS
老生常谈CSS中的长度单位
Jun 27 #HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 #HTML / CSS
You might like
用 PHP5 轻松解析 XML
2006/12/04 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
事件绑定之小测试  onclick &amp;&amp; addEventListener
2011/07/31 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
jQuery实现列表的增加和删除功能
2018/06/14 jQuery
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
TensorFlow实现模型评估
2018/09/07 Python
wxpython绘制圆角窗体
2019/11/18 Python
python 实现生成均匀分布的点
2019/12/05 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
经典的班主任推荐信
2013/10/28 职场文书
质检员的岗位职责
2013/11/15 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
总经理聘用协议书
2015/09/21 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书