CSS3过渡

浏览器支持情况

CSS3过渡语法:

transition:property duration [ timing-function delay ]
  • 默认值:看每个独立属性
  • 适用于:所有元素,包含伪对象:after和:before
  • 继承性:无
  • 动画性:否
属性说明
transition 简写属性,用于在一个属性中设置四个过渡属性
transition-property 规定应用过渡的 CSS 属性的名称
transition-duration 定义过渡效果花费的时间,默认0
transition-timing-function 规定过渡效果的时间曲线,默认ease
transition-delay 规定过渡效果何时开始,默认0

transition-timing-function:

属性值说明
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
step(num,[end]) 按照规定的步数完成动画
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

建议:http://cubic-bezier.com/ 这个网站可以帮助我们去定义动画,或者是打开控制台去调整

 

案例

<style>
    /*指定宽度、颜色进行过渡*/
    .box{
        width:200px;
        height:200px;
        background:red;
        transition:width 2s;
    }
    .box:hover{
        width:400px;
        background:yellow;
    }
</style>
<body>
    <div class="box"></div>
</body>
注:如果没有指定动画时间,transition将没有任何效果,因为默认值是0。
/* 在一个例子中使用所有过渡属性 */
.box{
      width: 200px;
      height:200px;
      background:red;
      transition-property: width;
      transition-duration: 1s;
      transition-timing-function: linear;
      transition-delay: 2s;
      /* 相应简写 */
      transition: width 1s linear 2s;
      /* 动画属性 时间  动画方式  延迟 */
}
.box:hover{
      width: 300px;
}
/*要添加多个样式的变换效果,添加的属性由逗号隔开*/
.box{
      width: 200px;
      height:200px;
      background:red;
}
.box:hover{
      width: 300px;
      height:400px;
}
.box{
      transition: width 2s, height 1s;
}
原文地址:https://www.cnblogs.com/janewh/p/13891643.html