一、scale()方法
縮放,指的是“縮小”和“放大”。在CSS3中,我們可以使用scale()方法來將元素根據中心原點進行縮放。
跟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軸)縮放的倍數,如果大于1就代表放大;如果小于1就代表縮小。
大家想想倍數是怎樣一個概念就很好理解了。
2、scaleY(y)
語法:
transform:scaleY(y)
說明:
y表示元素沿著垂直方向(Y軸)縮放的倍數,如果大于1就代表放大;如果小于1就代表縮小。
3、scale(x,y)
語法:
transform:scale(x,y)
說明:
x表示元素沿著水平方向(X軸)縮放的倍數,y表示元素沿著垂直方向(Y軸)縮放的倍數。
注意,Y是一個可選參數,如果沒有設置Y值,則表示X、Y兩個方向的縮放倍數是一樣的(同時放大相同倍數)。
舉例:
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" >
/*設置原始元素樣式*/
.main
{
margin:100px auto;/*水平居中*/
width:300px;
height:200px;
border:1px dashed gray;
}
/*設置當前元素樣式*/
#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瀏覽器預覽效果如下:
分析:
從上圖可以看出,元素沿著X軸方向放大了1.5倍(兩個方向同時延伸,整體放大1.5倍)。
transform:scaleY (1.5);
-webkit-transform:scaleY(1.5); /*兼容-webkit-引擎瀏覽器*/
-moz-transform:scaleY(1.5); /*兼容-moz-引擎瀏覽器*/
當使用上面代碼時,在瀏覽器預覽效果如下:
css3通過scale()實現(xiàn)放大功能
通過rotate()實現(xiàn)旋轉功能
旋轉rotate()函數通過指定的角度參數使元素相對原點進行旋轉。它主要在二維空間內進行操作,設置一個角度值,用來指定旋轉的幅度。如果這個值為正值,元素相對原點中心順時針旋轉;如果這個值為負值,元素相對原點中心逆時針旋轉。如下圖所示:
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);
}
|
演示結果
而transition則可設置元素變化所需的時間
html中的結構代碼
<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)放大、旋轉的詳細內容,更多關于css3放大、旋轉的資料請關注腳本之家其它相關文章!