css3通過scale()、rotate()實(shí)現(xiàn)放大、旋轉(zhuǎn)

一、scale()方法
縮放,指的是“縮小”和“放大”。在CSS3中,我們可以使用scale()方法來將元素根據(jù)中心原點(diǎn)進(jìn)行縮放。
跟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è)置當(dāng)前元素樣式*/ #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-引擎瀏覽器*/
當(dāng)使用上面代碼時,在瀏覽器預(yù)覽效果如下:
css3通過scale()實(shí)現(xiàn)放大功能
通過rotate()實(shí)現(xiàn)旋轉(zhuǎn)功能
旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)使元素相對原點(diǎn)進(jìn)行旋轉(zhuǎn)。它主要在二維空間內(nèi)進(jìn)行操作,設(shè)置一個角度值,用來指定旋轉(zhuǎn)的幅度。如果這個值為正值,元素相對原點(diǎn)中心順時針旋轉(zhuǎn);如果這個值為負(fù)值,元素相對原點(diǎ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()實(shí)現(xiàn)放大、旋轉(zhuǎn)的詳細(xì)內(nèi)容,更多關(guān)于css3放大、旋轉(zhuǎn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
- 這篇文章主要介紹了css3的transform中scale縮放的使用方法,需要的朋友可以參考下2014-12-08
css3通過scale()、rotate()實(shí)現(xiàn)放大、旋轉(zhuǎn)
css3通過scale()實(shí)現(xiàn)放大功能、通過rotate()實(shí)現(xiàn)旋轉(zhuǎn)功能,下面有個示例,大家可以參考下2020-03-19