transform

實例1:transform:rotate()旋轉變換

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:rotate()</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			width:100px;
			height:100px;
			background:red;
			margin:100px auto 0;
			transition: 2s;
		}
		body:hover .box{
			-Webkit-transform:rotate(30deg);/*順時針旋轉30度*/
		}
	</style>
</head>
<body>
	<div class="box">111</div><!-- 文字一同旋轉 -->
</body>
</html>
實例2:transform:skew()斜切變換
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:skewX()</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			width:100px;
			height:100px;
			background:red;
			margin:100px auto 0;
			transition: 2s;
		}
		body:hover .box{
			-Webkit-transform:skewX(15deg);/*底邊水平向右移動,改變左邊與Y軸夾角15deg*/	
		}
	</style>
</head>
<body>
	<div class="box">
		skew()
	</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:skewY()</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			width:100px;
			height:100px;
			background:red;
			margin:100px auto 0;
			transition: 2s;
		}
		body:hover .box{
			-Webkit-transform:skewY(15deg);/*左邊水平向上移動,改變底邊與X軸夾角15deg*/	
		}
	</style>
</head>
<body>
	<div class="box">
		skew()
	</div>
</body>
</html>	
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:skew(X,Y)</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			width:100px;
			height:100px;
			background:red;
			margin:100px auto 0;
			transition: 2s;
		}
		body:hover .box{
			-Webkit-transform:skew(15deg,30deg);/*左邊與Y軸夾角15deg,底邊與X軸夾角30deg*/	

		}
	</style>
</head>
<body>
	<div class="box">
		skew()
	</div>
</body>
</html>	
實例3:transform:scale()縮放變換

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:scale(X,Y)</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		div[class^='box']{
			width:100px;
			height:100px;
			background:red;
			margin:100px ;
			transition: 2s;
			float: left;
			font:50px/100px "宋體";
			text-align:center;
			
		}
		body:hover .box1{
			-Webkit-transform:scale(0.5);/*小於1縮小*/
		}
		body:hover .box2{
			-Webkit-transform:scale(2);/*大於1放大*/
		}
		div:nth-child(even){
			color:rgba(255,255,255,1);
		}
		div:nth-child(odd){
			color:rgba(0,0,0,1);
		}
	</style>
</head>
<body>
	<div class="box1">
		縮小
	</div>
	<div class="box2">
		放大
	</div>
	<div class="box1">
		縮小
	</div>
	<div class="box2">
		放大
	</div>
</body>
</html>	
實例4:transform:translate()位移變換

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform:translate(X,Y)</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			width:100px;
			height:100px;
			background:red;
			margin:100px auto 0;
			transition: 2s;
			font:50px/100px "宋體";
			color:#fff;
			text-align:center;
		}
		body:hover .box{
			-Webkit-transform:translate(100px);
			/*transform:translateX(正數爲從左往右 負數爲從右往左);
			transform:translateY(正數爲從上往下 負數爲從下往上);*/
		}
	</style>
</head>
<body>
	<div class="box">
		位移
	</div>
</body>
</html>	
實例5:transform-origin(X,Y) 旋轉的基點

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transform-origin:</title>
	<style>
		body{
			height:400px;
			border:solid 1px #000;
		}
		.box{
			height:100px;
			width: 100px;
			background:red;
			margin:100px auto;
			transition:5s;
			-Webkit-transform-origin:right bottom;/*如果設置的兩個值都是0,則圍繞左上角旋轉*/
		}
		body:hover .box{
			-Webkit-transform:rotate(360deg) scale(0);
		}
	</style>
</head>
<body>
	<div class="box">
		轉呀轉
	</div>
</body>
</html>

總結:

transform:rotate(角度)順時針  單位deg

transform:skew(斜切X,斜切Y)單位deg

:skewX(斜切X

:skewY(斜切Y

transform:scale(縮放X,縮放Y)無單位(>1放大/<1縮小)

:scaleX(縮放X)

:scaleY(縮放Y)

transform:translate(位移X,位移Y)單位px  若只寫一個值谷歌瀏覽器默認爲水平移動,豎直方向不動

:translateX(位移X)

:translateY(位移Y)

X正值:從左至右,負值:從右至左

Y正值:從上至下,負值:從下至上

transform-origin(X,Y) 單位em、px、%、left、center......

 1、top left | left top 等價於 0 0 | 0% 0%

2、top | top center | center top 等價於 50% 0

3、right top | top right 等價於 100% 0

4、left | left center | center left 等價於 0 50% | 0% 50%

5、center | center center 等價於 50% 50%(默認值)

6、right | right center | center right 等價於 100% 50%

7、bottom left | left bottom 等價於 0 100% | 0% 100%

8、bottom | bottom center | center bottom 等價於 50% 100%

9、bottom right | right bottom 等價於 100% 100%

transform:rotate(角度)skew(斜切X,斜切Y)scale(縮放X,縮放Y)translate(位移X,位移Y);取值從從面的屬性開始計算。

實例1:
發佈了37 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章