translate
这个名称“translate(转化)”有点容易误解。它事实上是一种使用X和Y坐标值定位元素的方法。
以下为引用的内容: #nav{ |
浏览器支持
translate属性目前只被Firefox, Safari 和Chrome支持,而且还要使用浏览器的私有前缀-moz- 和-webkit-。
Skew
Skew也是一个很有用的transform功能,它可以将一个对象围绕着x和y轴按照一定的角度倾斜。这和rotate的旋转不一样,rotate只是旋转,而不会让元素的形状改变。skew会让一个元素的形状改变。skew有两个参数,分别代表x和y轴的倾斜度数。
以下为引用的内容: #nav{ |
浏览器支持
Skew属性目前只被Firefox, Safari 和Chrome支持,而且还要使用浏览器的私有前缀-moz- 和-webkit-。
Matrix
没错,Matrix就是矩阵,矩阵是高等数学中非常基础的一个东东,而在CSS 3中确实一个相当高级的功能,CSS 3引入matrix函数,可以非常灵活的实现上述的各种效果。它有6个参数(a,b,c,d,e,f),它事实上是一个3*3矩阵,经过该矩阵将旧的参数转换成新值:
| a b e |
| c d f |
| 0 0 1 |
如果你有兴趣深入研究,可以看一下这里http://www.w3.org/TR/SVG/coords.html#TransformMatrixDefined,这是SVG的一个文档,但是对于matrix变换的原理是通用的。
让我们来看一个例子吧:
以下为引用的内容: #nav{ |
浏览器支持
可喜的是,IE支持matrix滤镜,虽然它不支持大部分CSS3变形功能,但是使用它的这个滤镜,基本也可以实现相同的效果,不过,你要先搞明白矩阵运算再说。webkit和Firefox(3.5+)都支持该功能。
链式变形
变形常常是单独的,但是如果你想同时用到多种变形,代码也是可以快速整合的,特别是使用私有扩展。幸运的是,我们有一些内置的缩写:
以下为引用的内容: #nav{ |
这些变形可以被链到一起,从而让你的代码更高效:
以下为引用的内容: nav{ |
transform-origin
transform-origin不是transform的一个子功能,但是和transform关系非常密切。它可以用来指定transform的起点,比如,rotate变形的默认起点是其中间,你可以将起点设置在左上角,或者左下角,这样rotate变形的结果就可能大不相同了。
transform-origin接受两个参数,它们可以是百分比,em,px等具体的值,也可以是left,center,right,或者 top,middle,bottom等描述性参数。几个例子:
以下为引用的内容: .class1{-moz-transform-origin: 0 0; |
浏览器兼容性
该属性目前也只有webkit和firefox支持,而且需要添加各自的私有前缀。