CSS3 transform旋转属性在IE中的实现

网络整理 - 07-29
  目前越来越多的浏览器兼容CSS3标准了,就连IE浏览器老大哥也开始向CSS3低头,微软宣布IE9浏览器支持更多的CSS3属性,IE9更注重HTML5标准。不过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:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7660444431189777, M12=-0.6427876096865394, M21=0.6427876096865398, M22=0.7660444431189779)";



  大家可以看这个DEMO:


        



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

  文章引用地址:,作者:iefans。