一、scale()方法
縮放,指的是“縮小”和“放大”。在CSS3中,我們可以使用scale()方法來將元素根據(jù)中心原點進行縮放。
跟translate()方法一樣,縮放scale()方法也有3種情況:
(1)scaleX(x):元素僅水平方向縮放(X軸縮放);
(2)scaleY(y):元素僅垂直方向縮放(Y軸縮放);
(3)scale(x,y):元素水平方向和垂直方向同時縮放(X軸和Y軸同時縮放);
1、scaleX(x)
語法:
transform:scaleX(x)
說明:
x表示元素沿著水平方向(X軸)縮放的倍數(shù),如果大于1就代表放大;如果小于1就代表縮小。
大家想想倍數(shù)是怎樣一個概念就很好理解了。
2、scaleY(y)
語法:
transform:scaleY(y)
說明:
y表示元素沿著垂直方向(Y軸)縮放的倍數(shù),如果大于1就代表放大;如果小于1就代表縮小。
3、scale(x,y)
語法:
transform:scale(x,y)
說明:
x表示元素沿著水平方向(X軸)縮放的倍數(shù),y表示元素沿著垂直方向(Y軸)縮放的倍數(shù)。
注意,Y是一個可選參數(shù),如果沒有設(shè)置Y值,則表示X、Y兩個方向的縮放倍數(shù)是一樣的(同時放大相同倍數(shù))。
舉例:
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
|
<!DOCTYPE html>
< head >
< title >CSS3縮放scale()用法</ title >
< style type = "text/css" >
/*設(shè)置原始元素樣式*/
.main
{
margin:100px auto;/*水平居中*/
width:300px;
height:200px;
border:1px dashed gray;
}
/*設(shè)置當前元素樣式*/
#jb51
{
width:300px;
height:200px;
color:white;
background-color: #3EDFF4;
text-align:center;
transform:scaleX(1.5);
-webkit-transform:scaleX(1.5); /*兼容-webkit-引擎瀏覽器*/
-moz-transform:scaleX(1.5); /*兼容-moz-引擎瀏覽器*/
}
/*普通方便對比*/
#jbzj
{
width:300px;
height:200px;
color:white;
background-color: #3EDFF4;
text-align:center;
}
</ style >
</ head >
< body >
< div class = "main" >
< div id = "jb51" >腳本之家1</ div >
</ div >
< div class = "main" >
< div id = "jbzj" >腳本之家2</ div >
</ div >
</ body >
</ html >
|
在chrome瀏覽器預(yù)覽效果如下:
分析:
從上圖可以看出,元素沿著X軸方向放大了1.5倍(兩個方向同時延伸,整體放大1.5倍)。
transform:scaleY (1.5);
-webkit-transform:scaleY(1.5); /*兼容-webkit-引擎瀏覽器*/
-moz-transform:scaleY(1.5); /*兼容-moz-引擎瀏覽器*/
當使用上面代碼時,在瀏覽器預(yù)覽效果如下:
css3通過scale()實現(xiàn)放大功能
通過rotate()實現(xiàn)旋轉(zhuǎn)功能
旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)使元素相對原點進行旋轉(zhuǎn)。它主要在二維空間內(nèi)進行操作,設(shè)置一個角度值,用來指定旋轉(zhuǎn)的幅度。如果這個值為正值,元素相對原點中心順時針旋轉(zhuǎn);如果這個值為負值,元素相對原點中心逆時針旋轉(zhuǎn)。如下圖所示:
HTML代碼:
1
2
3
|
< div class = "wrapper" >
< div ></ div >
</ div >
|
CSS代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
.wrapper {
width : 200px ;
height : 200px ;
border : 1px dotted red ;
margin : 100px auto ;
}
.wrapper div {
width : 200px ;
height : 200px ;
background : orange;
-webkit-transform: rotate( 45 deg);
transform: rotate( 45 deg);
}
|
演示結(jié)果
而transition則可設(shè)置元素變化所需的時間
html中的結(jié)構(gòu)代碼
<ul>
<li><img src="image/1.jpg" ></li>
<li><img src="image/2.jpg" ></li>
<li><img src="image/3.jpg" ></li>
</ul>
css3樣式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
ul{
margin-top : 50px ;
list-style : none ;
}
ul li{
width : 200px ;
height : 150px ;
float : left ;
margin-left : 10px ;
-webkit-transition: all 1 s;
-moz-transition: all 1 s;
-o-transition: all 1 s;
}
ul li:hover{
-webkit-transform:scale( 1.5 ) rotate( 10 deg);
-moz-transform:scale( 1.5 ) rotate( 10 deg);
-o-transform:scale( 1.5 ) rotate( 10 deg);
}
li img{
width : 100% ;
height : 100% ;
}
|
以上就是css3通過scale()、rotate()實現(xiàn)放大、旋轉(zhuǎn)的詳細內(nèi)容,更多關(guān)于css3放大、旋轉(zhuǎn)的資料請關(guān)注腳本之家其它相關(guān)文章!