transform让css3可以做很优质的特效,transform的意思是:改变,使…变形,转换。
在css3中transform的作用也是改变,让元素倾斜,旋转,缩放,位移。
下面来一一分解transform的作用,最后有一段小应用。
1)transform:rotate(); 元素旋转
value(值)为旋转度数,例:20deg。
默认顺时针旋转。
value若为负值则逆时针旋转。
.box{ width:100px;height:100px;margin:20px auto;background-color:#75C934; text-align:center;line-height:100px;font-size:18px; /*过渡效果*/ -webkit-transition: transform 0.8s; } .box:hover{ /*旋转80°*/ transform:rotate(80deg); }
2)transform:skew();元素倾斜
value(值)为倾斜度数,例:30deg。
value只有一个值,横向默认向左倾斜;有两个值,第二个值纵向默认向上倾斜。
value若为负值则反方向倾斜。
.box{ /*样式代码同上就不写了*/ -webkit-transition: transform 0.8s,border-radius 0.8s; border-radius:30px; } .box:hover{ transform:skew(20deg,20deg); border-radius:0px; }
3)transform:scale();元素缩放
value(值)为缩放倍数,例:2。
value只有一个值,默认整体缩放;有两个值,第一个值横向缩放,第二个值纵向缩放。
value值大于1放大,小于1大于0缩小,负值则反向缩放(元素呈镜像)
.box{ -webkit-transition: transform 0.8s,border-radius 0.8s; } .box:hover{ transform:scale(2,0.8); border-radius:40px; }
.box{ -webkit-transition: transform 0.8s,border-radius 0.8s; } .box:hover{ transform:scale(2,-0.8); border-radius:40px; }
4)transform:translate();元素位移
value(值)为位移像素,例:5px。
value只有一个值,横向默认向右移动;有两个值,第二个值纵向默认向下移动。
value若为负值则反方向移动。
.box{ -webkit-transition: transform 0.3s,box-shadow 0.3s; } .box:hover{ transform:translate(-3px,-3px); box-shadow:3px 3px 5px 0px #000; }
总结:利用transform+transition可以做很多炫酷的页面特效。