1,使用調速函數控制過渡效果的速度曲線(加速,減速等) css
(1)CSS3定義了以下的調速函數:html
(2)調速函數的使用
使用時只須要把調速函數跟在過渡屬性的時間參數後面。若是不填的話則使用默認調速函數(ease)web
1
|
transition: opacity
10
s ease-in-out;
|
(3)使用樣例1:
下面經過樣例演示各類調速函數的效果區別。鼠標移入方框,方框內的方塊會向右移動,同時方塊會旋轉,邊角變圓角,背景色和文字顏色也在改變。這些樣式的改變都會有過渡效果,同時因爲使用不一樣的調速函數,過渡的快慢也是有區別的。函數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<!doctype html>
<
html
lang
=
"en"
>
<
head
>
<
title
>hangge.com</
title
>
<
style
>
.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);
}
</
style
>
</
head
>
<
div
id
=
"transBox"
class
=
"trans_box"
>
<
div
class
=
"trans_list ease"
>ease<
br
>(default)</
div
>
<
div
class
=
"trans_list ease_in"
>ease-in</
div
>
<
div
class
=
"trans_list ease_out"
>ease-out</
div
>
<
div
class
=
"trans_list ease_in_out"
>ease-in-out</
div
>
<
div
class
=
"trans_list linear"
>linear</
div
>
</
div
>
</
html
>
|
(4)使用樣例2:
下面經過對柱狀圖的寬度改變過渡,演示不一樣調速函數的效果區別。spa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<!DOCTYPE html>
<
html
>
<
head
>
<
style
>
div
{
margin:10px 0;
width:100px;
height:50px;
background:#2D9900;
color:white;
font-weight:bold;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}
#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;}
/* Firefox 4: */
#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;}
/* Safari and Chrome: */
#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;}
/* Opera: */
#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;
}
</
style
>
</
head
>
<
body
>
<
div
id
=
"transBox"
class
=
"trans_box"
>
<
div
id
=
"div2"
style
=
"top:150px"
>ease<
br
>(default)</
div
>
<
div
id
=
"div3"
style
=
"top:200px"
>ease-in</
div
>
<
div
id
=
"div4"
style
=
"top:250px"
>ease-out</
div
>
<
div
id
=
"div5"
style
=
"top:300px"
>ease-in-out</
div
>
<
div
id
=
"div1"
style
=
"top:100px"
>linear</
div
>
</
div
>
</
body
>
</
html
>
|
2,爲過渡增長延時code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<!doctype html>
<
html
lang
=
"en"
>
<
head
>
<
title
>hangge.com</
title
>
<
style
>
.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;
}
</
style
>
</
head
>
<
div
class
=
"trans_box3"
>
<
div
>延時1秒</
div
>
</
div
>
</
html
>
|
原文出自:www.hangge.com 轉載請保留原文連接:https://www.hangge.com/blog/cache/detail_988.htmlorm