你需要知道的CSS3 动画技术[译](5)

作者:神采飞扬 来源:前端观察 时间:2009-12-30 17:02:00 

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{
 /* nav元素将会像右上角倾斜 */
 -moz-transform: matrix(1, -0.2, 0, 1, 0, 0);
 -webkit-transform: matrix(1, -0.2, 0, 1, 0, 0); 
 -o-transform: matrix(1, -0.2, 0, 1, 0, 0); 
}

浏览器支持

可喜的是,IE支持matrix滤镜,虽然它不支持大部分CSS3变形功能,但是使用它的这个滤镜,基本也可以实现相同的效果,不过,你要先搞明白矩阵运算再说。webkit和Firefox(3.5+)、Opera 10.5都支持该功能。

链式变形

变形常常是单独的,但是如果你想同时用到多种变形,代码也是可以快速整合的,特别是使用私有扩展。幸运的是,我们有一些内置的缩写:

浏览器支持
可喜的是,IE支持matrix滤镜,虽然它不支持大部分CSS3变形功能,但是使用它的这个滤镜,基本也可以实现相同的效果,不过,你要先搞明白矩阵运算再说。webkit和Firefox(3.5+)、Opera 10.5都支持该功能。

#nav{
 -moz-transform: translate(10, 25); 
 -webkit-transform: translate(10, 25); 
 -o-transform: translate(10, 25); 
 -moz-transform: rotate(90deg); 
 -webkit-transform: rotate(90deg); 
 -o-transform: rotate(90deg); 
 -moz-transform: scale(2, 1); 
 -webkit-transform: scale(2, 1); 
 -o-transform: scale(2, 1); 
}

这些变形可以被链到一起,从而让你的代码更高效:

#nav{
 -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); 
 }

这些属性的真正的威力是合并到一起。你可以移动、旋转、缩放并控制任何内联元素和块级元素而不使用JavaScript。一旦这些属性的支持变的更加广泛,我们就可以创建更丰富和更轻量的界面和应用。

标签:CSS3,动画,设计师
0
投稿

猜你喜欢

  • 详解python爬虫系列之初识爬虫

    2023-11-21 04:09:41
  • Python selenium文件上传方法汇总

    2022-12-01 04:47:29
  • VS自带的SQL server修改密码并连接使用

    2024-01-27 17:02:12
  • SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现

    2024-01-13 02:40:08
  • Python 实现将某一列设置为str类型

    2022-07-27 03:20:12
  • 使用NumPy读取MNIST数据的实现代码示例

    2021-08-05 19:17:52
  • 利用Python找回微信撤回信息

    2022-11-21 22:34:03
  • ubuntu下在docker中安装mysql5.6 的方法

    2024-01-23 08:35:30
  • python set()去重的底层原理及实例

    2021-08-30 05:04:11
  • php引用和拷贝的区别知识点总结

    2023-11-15 03:39:48
  • Python IDE Pycharm中的快捷键列表用法

    2022-12-12 19:21:12
  • Adobe AIR beta 2震撼发布!

    2007-10-07 11:57:00
  • Web页脚设计的版权格式规范

    2009-07-22 20:52:00
  • True or False,明明白白你的If语句流程

    2008-01-25 19:00:00
  • PHP getallheaders无法获取自定义头(headers)的问题

    2024-04-30 08:47:30
  • python argparse命令行参数解析(推荐)

    2022-06-26 05:47:25
  • 简述:我为什么选择Python而不是Matlab和R语言

    2021-05-13 06:51:27
  • python实现手机通讯录搜索功能

    2023-11-04 08:04:08
  • sql server 复制表从一个数据库到另一个数据库

    2024-01-18 23:51:55
  • python从sqlite读取并显示数据的方法

    2022-08-27 22:46:24
  • asp之家 网络编程 m.aspxhome.com