当前位置: 首页 > news >正文

CSS3之过渡Transition

  CSS3也有着非常强大的属性,那就是过渡——Transition。过渡——Transition在W3C的描述:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。”既然CSS3的过渡这么强大,下面我们就一点一点掌握它吧。

  CSS3中的过渡Transition有四个中心属性:transition-property、transition-duration、transition-delay和transition-timing-function。


  一、transition-property——指定要运动的样式


  1、transition-property的语法

transition-property :all(所有属性改变) || [attr] (指定要运动的样式)|| none(没有属性改变)

  2、transition-property的属性值

  (1)none:transition马上停止执行

  (2)all:元素产生任何属性值变化时都将执行transition效果

  (3)attr:指定要运动的样式


  二、transition-duration

  transition-duration是指定元素转换过程的持续时间,单位为秒(s)。transition-duration可以作用于所有元素,包括:before和:after伪元素。其默认值是0,也就是变换时是即时的。


  三、transition-delay—— 延迟时间

  transition-delay是用来指定一个动画开始执行的时间,也就是说当改变元素属性值后多长时间开始执行transition效果,单位为s(秒),其使用和transition-duration极其相似,也可以作用于所有元素,包括:before和:after伪元素。 默认大小是"0",也就是变换立即执行,没有延迟。


  四、transition-timing-function——指定运动形式

  transition-timing-function : ease(逐渐变慢) | linear(匀速) | ease-in(加速) | ease-out(减速) | ease-in-out(先加速然后减速) | cubic-bezier(该值允许你去自定义一个时间曲线)(number, number, number, number>)


  五、transition的综合写法

元素选择器{transition:运动的样式 持续时间 运动形式 延迟时间;}

  六、transition的综合兼容写法


  1、Mozilla内核

元素选择器{-moz-transition:运动的样式 持续时间 运动形式 延迟时间;}

  2、Webkit内核

元素选择器{-webkit-transition:运动的样式 持续时间 运动形式 延迟时间;}

  3、Opera内核

元素选择器{-o-transition:运动的样式 持续时间 运动形式 延迟时间;}

  4、W3C 标准

元素选择器{transition:运动的样式 持续时间 运动形式 延迟时间;}

  七、transition的小实例

  

  CSS代码:

#timings-demo {border: 1px solid #ccc;padding: 10px;height: 400px;width: 400px;}
.box {width: 100px;height: 50px;line-height: 50px;text-align: center;color: #fff;margin-bottom: 10px;
	-webkit-border-radius: 5px;
	-webkit-box-shadow: inset 0 0 5px rgba(102, 153, 0,0.5);
}
/*逐渐变慢效果:*/        
#ease {background: #f36;
	-webkit-transition: all 5s ease 0.3s;
}
/*加速效果:*/
#ease-in {background: #369;
     -webkit-transition: all 3s ease-in 0.5s;
}
/*减速效果:*/
#ease-out {background: #636; 
	-webkit-transition: all 5s ease-out 0s;
}
/*先加速然后减速效果:*/
#ease-in-out {background: #3e6;
	-webkit-transition: all 1s ease-in-out 2s;
}
/*匀速效果:*/
#linear { background: #999;
	-webkit-transition: all 6s linear 0s;
}
/*该值允许你去自定义一个时间曲线效果:*/
#cubic-bezier {background: #6d6;
	-webkit-transition: all 4s cubic-bezier 1s;
}
/*hover状态下或单击click按钮后box产生属性变化*/
#timings-demo:hover .box {
	-webkit-transform: rotate(360deg) scale(1.2);
	-webkit-border-radius: 25px;
}

  HTML代码:

<div id="timings-demo">
	<div id="ease" class="box">Ease</div>
	<div id="ease-in" class="box">Ease-in</div>
	<div id="ease-out" class="box">Ease-out</div>
	<div id="ease-in-out" class="box">Ease-in-out</div>
	<div id="linear" class="box">Linear</div>
	<div id="cubic-bezier" class="box">Cubic-bezier</div>
</div>

  预览地址:http://www.leemagnum.com/gdsl.html


  CSS3之过渡Transition就为大家介绍到这里了,CSS3之过渡Transition的神奇之处远不止上面这些,还可以做很多好玩的小东东。在今后,想必CSS3之过渡Transition的应用会很广泛,掌握CSS3之过渡Transition可谓是当务之急呀。更多关于CSS3的东东还望关注本blog有关CSS3的更新哟。感谢大家长期以来对本blog的支持与厚爱。




相关文章:

  • 小智慧59
  • Webservice-DTD和Schema(四)
  • 个人学习QT问题收集整理稿
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • SICP 习题 (1.13) 解题总结
  • 小智慧60
  • java中正则表达式中的非字符串处理
  • 小智慧61
  • IOS 开发之 CocoaPods讲解
  • eclipse安装插件checkstyle
  • 制作网站以及发布的流程
  • checkstyle之如何配置
  • c#中datetime类型与SqlServer中datetime格式的区别
  • 在git的Bash下进行复制粘贴
  • 小智慧62
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Android系统模拟器绘制实现概述
  • C++类中的特殊成员函数
  • codis proxy处理流程
  • Docker容器管理
  • dva中组件的懒加载
  • ECS应用管理最佳实践
  • github指令
  • TCP拥塞控制
  • WePY 在小程序性能调优上做出的探究
  • 对象管理器(defineProperty)学习笔记
  • 聊聊sentinel的DegradeSlot
  • 前端知识点整理(待续)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 移动端 h5开发相关内容总结(三)
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $L^p$ 调和函数恒为零
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (七)理解angular中的module和injector,即依赖注入
  • (转载)Google Chrome调试JS
  • .net 7 上传文件踩坑
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net的DataSet直接与SQL2005交互
  • .NET的数据绑定
  • .Net中的设计模式——Factory Method模式
  • @RequestBody的使用
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BZOJ1008][HNOI2008]越狱
  • [C++]指针与结构体
  • [CC-FNCS]Chef and Churu
  • [Java] IDEA Scala环境搭建
  • [javaSE] 数据结构(二叉查找树-插入节点)
  • [JavaWeb]—前端篇
  • [JDBC-1] JDBC Base Template
  • [JS] node.js 入门
  • [JS7] 显示从0到99的100个数字