transform,translate,transition的区别
⼀.
transform是变形,css 2D转换,包含以下⼏种⽅法:旋转rotate,扭曲skew,缩放scale,移动translate和矩阵变形matrix。
translate():根据x、y轴位置给定的参数,从当前元素位置移动
div
{
transform: translate(50px,100px);
-ms-transform: translate(50px,100px); /* IE 9 */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
rotate属性}
rotate():在⼀个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
scale():该元素增加或减少的⼤⼩,取决于宽度(X轴)和⾼度(Y轴)的参数:scale(2,4)转变宽度为原来的⼤⼩的2倍,和其原始⼤⼩4倍的⾼度。
skew():该元素会根据横向(X轴)和垂直(Y轴)线参数给定⾓度:skew(30deg,20deg)是绕X轴和Y轴周围20度30度的元素。
matrix():和2D变换⽅法合并成⼀个。
matrix ⽅法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。
div
{
transform:matrix(0.866,0.5,-0.5,0.866,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
}
3D位移:CSS3中的3D位移主要包括translateZ()和translate3d()两个功能函数;
3D旋转:CSS3中的3D旋转主要包括rotateX()、rotateY()、rotateZ()和rotate3d()四个功能函数;
3D缩放:CSS3中的3D缩放主要包括scaleZ()和scale3d()两个功能函数;
3D矩阵:CSS3中3D变形中和2D变形⼀样也有⼀个3D矩阵功能函数matrix3d()。
⼆.
transition:css3过渡;
⽤法:div{ transition:要添加效果的属性指定效果的持续时间 }
要添加多个样式的变换效果,添加的属性由逗号分隔:
div
{
transition: width 2s, height 2s, transform 2s;
-webkit-transition: width 2s, height 2s, -webkit-transform 2s;
}
栗⼦(典型的例⼦是结合hover属性):
div
{
width:100px;
height:100px;
background:red;
transition:width 1s linear 2s;
/* Safari */
-webkit-transition:width 1s linear 2s; }
div:hover
{
width:200px;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论