本文将介绍样式中的过渡(transition)效果,其功能是元素在转换到某一状态时生成的动画效果。下面先来看几个相关的CSS属性。
transition-property属性,指定过渡的CSS样式属性名,默认值为none,表示所在样式属性不变化。指定多个变化的属性名称时,使用逗号分隔,使用all关键字表示所有样式进行过渡转换。
transition-duration属性,指定过渡完成的时间,如1s表示1秒。
transition-delay属性,指定过渡延迟时间。
transition-timing-function属性,指定动画过程的节奏,其常用属性值包括:
此外,transition-timing-function属性还可以使用函数定义过渡效果,如:
transition属性,组合变换参数。属性值顺序可以使用transition-property、transition-timing-function、transition-delay。
下面来看一些过渡效果的演示,如下面的代码。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> #btn1 { transition-property: all; transition-duration: 0.3s; transition-timing-function: ease-in-out; background-color: gray; padding: 0.5em 1.5em; color: #333; background-image: linear-gradient(#fafafa,orange); border: 1px solid #f3f3f3; border-radius: 1.5em; } #btn1:hover { transition-property: all; transition-duration:0.3s; transition-timing-function:ease-in-out; color:white; background-image:linear-gradient(navy,#fafafa); } </style> </head> <body> <button id="btn1">测试按钮</button> </body> </html>
本例,当鼠标移到到btn1按钮时,其样式会使用0.3秒进行过渡,当鼠标离开btn1按钮时,又会使用0.3秒恢复到默认样式。下图显示了原始样式和转变后的样式对比,过渡时的动画效果需要在浏览器中实际观察。