CSS3 transform旋转属性

目前越来越多的浏览器兼容CSS3标准了,CSS3里有一个使对象旋转的属性transform rotate,号称兼容CSS3的浏览器对它的支持也不算好,好在Firefox、Webkit和Opera这些浏览器都已经提供了官方的hack去支持这个属性。唯独在IE浏览器里对这个transform属性无法通过一般的CSS写法去实现。

在W3C官方的标准里,通过transform属性使对象旋转的写法如下:

 transform: rotate(40deg); /* 其中40是旋转的角度 */

可是由于目前几乎所有的浏览器对这个属性的渲染效率都很低,所以我们可以用下面的hack去提高渲染效率:
 -o-transform: rotate(40deg); /* Opera浏览器 */
-webkit-transform: rotate(40deg); /* Webkit内核浏览器 */
-moz-transform: rotate(40deg); /* Firefox浏览器 */

由于目前所有版本的IE都不兼容CSS3,所以我们只能通过IE的CSS滤镜来实现,写法如下:

filter: progid :D XImageTransform.Microsoft.Matrix(sizingMethod='auto expand',
M11=0.7660444431189777, M12=-0.6427876096865394, M21=0.6427876096865398,
M22=0.7660444431189779)";

这个一个相当复杂的滤镜,详细的参数大家可以看看这个网页。

关于这篇文章的演示,大家可以看这个DEMO: IE浏览器css-Transforms演示

PS:大家可以下载本文提供的DEMO,然后把代码里 transform 属性放在三个浏览器的hack 面,刷新一下页面看看会有什么现象。我在Firefox里看到的是中间那个旋转的DIV会跳动一下。

Tip:transform 一个相当复杂的属性,目前可以实现旋转和动画效果,我认为这个属性在CSS3标准完全确定下来以后会变得更加强大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值