css3通過scale()、rotate()實現(xiàn)放大、旋轉(zhuǎn)
一、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ù))。
舉例:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<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瀏覽器預覽效果如下:

分析:
從上圖可以看出,元素沿著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)旋轉(zhuǎn)功能
旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)使元素相對原點進行旋轉(zhuǎn)。它主要在二維空間內(nèi)進行操作,設(shè)置一個角度值,用來指定旋轉(zhuǎn)的幅度。如果這個值為正值,元素相對原點中心順時針旋轉(zhuǎn);如果這個值為負值,元素相對原點中心逆時針旋轉(zhuǎn)。如下圖所示:

HTML代碼:
<div class="wrapper"> <div></div> </div>
CSS代碼:
.wrapper {
width: 200px;
height: 200px;
border: 1px dotted red;
margin: 100px auto;
}
.wrapper div {
width: 200px;
height: 200px;
background: orange;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
演示結(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樣式
ul{
margin-top:50px;
list-style:none;
}
ul li{
width:200px;
height:150px;
float:left;
margin-left:10px;
-webkit-transition:all 1s;
-moz-transition:all 1s;
-o-transition:all 1s;
}
ul li:hover{
-webkit-transform:scale(1.5) rotate(10deg);
-moz-transform:scale(1.5) rotate(10deg);
-o-transform:scale(1.5) rotate(10deg);
}
li img{
width:100%;
height:100%;
}
以上就是css3通過scale()、rotate()實現(xiàn)放大、旋轉(zhuǎn)的詳細內(nèi)容,更多關(guān)于css3放大、旋轉(zhuǎn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
- 這篇文章主要介紹了css3的transform中scale縮放的使用方法,需要的朋友可以參考下2014-12-08
css3通過scale()、rotate()實現(xiàn)放大、旋轉(zhuǎn)
css3通過scale()實現(xiàn)放大功能、通過rotate()實現(xiàn)旋轉(zhuǎn)功能,下面有個示例,大家可以參考下2020-03-19

