栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

CSS3 对过渡(transition)进行调速以及延时

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CSS3 对过渡(transition)进行调速以及延时

1,使用调速函数控制过渡效果的速度曲线(加速,减速等)

使用调速函数可以设置过渡效果的速度曲线,从而实现过渡效果随着时间来改变其速度。比如:开始很慢然后加速或者开始很快然后减速。

(1)CSS3定义了如下的调速函数:

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))。
cubic-bezier(n,n,n,n)    在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

(2)调速函数的使用
使用时只需要把调速函数跟在过渡属性的时间参数后面。如果不填的话则使用默认调速函数(ease)

transition: opacity 10s ease-in-out;

(3)使用样例1:
下面通过样例演示各种调速函数的效果区别。鼠标移入方框,方框内的方块会向右移动,同时方块会旋转,边角变圆角,背景色和文字颜色也在改变。这些样式的改变都会有过渡效果,同时由于使用不同的调速函数,过渡的快慢也是有区别的。



    
    hangge.com
    
 .trans_box {
     padding: 20px;
     
     *zoom:1;
 }
 
 .trans_list {
     width: 10%;
     height: 64px;
     margin:10px 0;
     
     color:#fff;
     text-align:center;
 }
 
 .linear {
     -webkit-transition: all 4s linear;
     -moz-transition: all 4s linear;
     -o-transition: all 4s linear;
     transition: all 4s linear;
 }
 
 .ease {
     -webkit-transition: all 4s ease;
     -moz-transition: all 4s ease;
     -o-transition: all 4s ease;
     transition: all 4s ease;
 }
 
 .ease_in {
     -webkit-transition: all 4s ease-in;
     -moz-transition: all 4s ease-in;
     -o-transition: all 4s ease-in;
     transition: all 4s ease-in;
 }
 
 .ease_out {
     -webkit-transition: all 4s ease-out;
     -moz-transition: all 4s ease-out;
     -o-transition: all 4s ease-out;
     transition: all 4s ease-out;
 }
 
 .ease_in_out {
     -webkit-transition: all 4s ease-in-out;
     -moz-transition: all 4s ease-in-out;
     -o-transition: all 4s ease-in-out;
     transition: all 4s ease-in-out;
 }
 
 .trans_box:hover .trans_list, .trans_box_hover .trans_list {
     margin-left:89%;
     
     color:#333;
     -webkit-border-radius:25px;
     -moz-border-radius:25px;
     -o-border-radius:25px;
     border-radius:25px;    
     -webkit-transform: rotate(360deg);
     -moz-transform: rotate(360deg);
     -o-transform: rotate(360deg);
     transform: rotate(360deg);      
 }
    


    ease
(default) ease-in ease-out ease-in-out linear

(4)使用样例2:

下面通过对柱状图的宽度改变过渡,演示不同调速函数的效果区别。





div
{
margin:10px 0;
width:100px;
height:50px;
background:#2D9900;
color:white;
font-weight:bold;
transition:width 2s;
-moz-transition:width 2s; 
-webkit-transition:width 2s; 
-o-transition:width 2s; 
}
 
#div1 {transition-timing-function: linear;}
#div2 {transition-timing-function: ease;}
#div3 {transition-timing-function: ease-in;}
#div4 {transition-timing-function: ease-out;}
#div5 {transition-timing-function: ease-in-out;}
 

#div1 {-moz-transition-timing-function: linear;}
#div2 {-moz-transition-timing-function: ease;}
#div3 {-moz-transition-timing-function: ease-in;}
#div4 {-moz-transition-timing-function: ease-out;}
#div5 {-moz-transition-timing-function: ease-in-out;}
 

#div1 {-webkit-transition-timing-function: linear;}
#div2 {-webkit-transition-timing-function: ease;}
#div3 {-webkit-transition-timing-function: ease-in;}
#div4 {-webkit-transition-timing-function: ease-out;}
#div5 {-webkit-transition-timing-function: ease-in-out;}
 

#div1 {-o-transition-timing-function: linear;}
#div2 {-o-transition-timing-function: ease;}
#div3 {-o-transition-timing-function: ease-in;}
#div4 {-o-transition-timing-function: ease-out;}
#div5 {-o-transition-timing-function: ease-in-out;}
 
.trans_box:hover div
{
width:500px;
}



    
    ease
(default) ease-in ease-out ease-in-out linear

2,为过渡增加延时

过渡属性还可以添加一个可选的延时,用以将过渡的开始推迟一段时间。下面是一个等待1秒的例子。
延时1秒



    
    hangge.com
    
 .trans_box3 {
     padding: 20px;
     
     *zoom:1;
 }
 
 .trans_box3 div{
     width:100px;
     height:50px;
     background:#2D9900;
     color:white;
     font-weight:bold;
 
     -webkit-transition: all 2s ease-out 1s;
     -moz-transition: all 2s ease-out 1s;
     -o-transition: all 2s ease-out 1s;
     transition: all 2s ease-out 1s;
 }
 
 .trans_box3:hover div
 {
     width:500px;
 }
    

 
    延时1秒


到此这篇关于CSS3 对过渡(transition)进行调速以及延时的文章就介绍到这了,更多相关CSS3 过渡调速及延时内容请搜索考高分网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/214562.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号