一、CSS3转换
通过转换实现对对元素进行旋转、缩放、移动、拉伸的效果;这种原来必须要通过JS或者图片处理才可以实现的效果,现在都可以通过CSS3来完成。 2D转换采用transform属性来实现效果。
二、transform属性的取值
- rotate()函数 是可以进行旋转的函数
- scale()函数 可以进行缩放的函数
三、函数的用法
transform:rotate( deg);旋转
- 将transform属性的取值设置为rotate函数,在括号里的是旋转的角度,其单位是deg(degree程度),所需要设置角度的值可以是正值,也可以是负值。
- 正值按照顺时针进行旋转(向左);负值按照逆时针进行旋转(向右)
- 在我们编辑代码的时候可以使用 trsf 扩展 前缀也会随之被扩展出来(随机,输入trsf不一定出现的是transform:rotate()属性值)
实例一:
构建一个div盒子,实现鼠标悬停时盒子顺时针旋转30deg的效果。(如果我们将角度设置为负值,则会向左侧倾斜)
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>2D转换</title> 6 <style> 7 body{ 8 position: relative; 9 width: 400px; 10 height: 400px; 11 /*top: 100px;*/ 12 /*left: 100px;*/ 13 /*border:2px solid red;*/ 14 15 } 16 div{ 17 width: 100px; 18 height: 75px; 19 background-color: #939; 20 border:2px solid blue; 21 position: absolute; 22 } 23 #rotateDiv{ 24 top:300px; 25 left:100px; 26 } 27 #rotateDiv:hover{ 28 transform:rotate(30deg); 29 ;} 30 </style> 31 </head> 32 <body> 33 <div id="rotateDiv">transform2</div> 34 </body> 35 </html>
表现效果:
transform:scale(x,y); 缩放
- 将transform属性的取值设置为scale函数时,则可以设置水平方向和垂直方向上的缩放比例。
- x:水平方向(横向的)缩放的倍数。y:垂直方向(高度)上的缩放的倍数,若省略,同x的取值(如transform:scale(1.3)表示水平和垂直都是1.3倍数)
- x和y的取值设置在(0~1)之间表示缩小,(>1)表示放大
实例二:
实现盒子鼠标悬停上时,盒子放大1.3倍的效果。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>2D转换</title> 6 <style> 7 body{ 8 position: relative; 9 width: 400px; 10 height: 400px; 11 /*top: 100px;*/ 12 /*left: 100px;*/ 13 /*border:2px solid red;*/ 14 } 15 div{ 16 width: 100px; 17 height: 75px; 18 background-color: #939; 19 border:2px solid blue; 20 position: absolute; 21 } 22 #box1:hover{transform:scale(1.3)} 23 </style> 24 </head> 25 <body> 26 <div id="box1">transform1</div> 27 </body> 28 </html>
表现效果: