(画廊 模仿的这个地址的东西)
后续在加些demo
CSS 变形(Transformation)
transform属性实现了一些可用SVG实现的同样的功能。它可用于内联(inline)元素和块级(block)元素。它允许我们旋转、缩放和移动元素,并且该元素 下的所有子元素 随着参数的设置 旋转、缩放 和移动。它有以下的一些参数
-
rotate
rotate(旋转)允许你通过传递一个度数值来转动一个对象。rotate(numdeg)
num为数字 正数为顺时针旋转,负数逆时针
-
scale
Scale是一个缩放功能 scale(num1,num2)
num为数字 num1为x方向缩放,num2为y方向缩放,如果只有一个参数想,x,y轴同时缩放
如果num为负数,则元素会转向
-
translate
translate就是基于X和Y 坐标重新定位元素 translate(num1px,num2px)
num为数字 num1为x方向,num2为y方向
-
skew
skew倾斜
-
matrix
这是个麻烦的东西,但是学会真就很好用了。一篇别人写的blog很好呀!
ransform-origin
ransform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作用。 transform-origin:xx yy
xx,yy表示原点的坐标,相对于元素,可以px em, 也可以是left center right top center bottom
浏览器支持
ie6-9全部不支持 (ps 但是可以用滤镜实现)
Firefox Chrome Safari Opera (我主要看这几个 其他的浏览器不知道,且是高版本支持,底版本也不知道)
Rotate
rotate demo
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
}
ie rotate demo
Scale
-webkit-transform: scale(2, 2);
-moz-transform: scale(2, 2);
-o-transform: scale(2, 2);
}
Translate
-moz-transform: translate(10px, 20px);
-webkit-transform: translate(10px, 20px);
-o-transform: translate(10px, 20px);
}
Skew
-moz-transform: skew(30deg, -10deg);
-webkit-transform: skew(30deg, -10deg);
-o-transform: skew(30deg, -10deg);
}
Matrix
Rotate Scale Translate Skew可以合起来写成链式
位置可以随便排,但是格式要正确,该加px的加px,该加deg的加deg.
写在样式里面的链式结构 读出来就变成了matrix() 所以还是要实现matrix 和 链式的互换才行
transform-origin
-moz-transform: translate(10, 25) rotate(90deg) scale(2, 1);
-webkit-transform: translate(10, 25) rotate(90deg) scale(2, 1);
-o-transform: translate(10, 25) rotate(90deg) scale(2, 1);
}
transition(转换)
即当元素在大小、颜色、布局、透明度等数值改变时(请注意是数值的改变),可以使其产生过渡的动画效果. 推荐看这篇文章
他有以下的对应的属性列表
-
transition-property
指定转换的CSS属性名称,也可以为all(表示所有的样式都会转换),也可以为none(为none的时候会停止动画)
-
transition-duration
指转化样式所需要的时间
-
transition-timing-function
指定“转换”过程中可用的效果,预设的有:ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(x1, y1, x2, y2),默认值时easy
-
transition-delay
延迟执行
-
这些属性都可以连写
demo1
-moz-transition: color .5s ease-in;
-o-transition: color .5s ease-in;
-webkit-transition: color .5s ease-in;
}