div图片旋转,IE支持不好。

来源:互联网 发布:网络侦察技术 编辑:程序博客网 时间:2024/05/17 06:17
目前越来越多的浏览器兼容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:


  <!DOCTYPE html>
  <html lang="en">
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>IE浏览器CSS transform旋转属性的演示</title>
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
      <style type="text/css">
        body { font-family: "Arial", sans-serif; } 
        #ptOfRef { border: #000 solid 3px; background: #6FF; width: 204px; height: 204px; position: absolute; top: 100px; left: 100px; }         #example { position: absolute; top: 100px; left: 100px; border: #09F solid 1px; background: #F90; font-weight: 900; color: #FFF; padding: 10px; display: block; width: 200px; height: 200px; margin-top: -1px; margin-left: -1px; transform: rotate(40deg); -o-transform: rotate(40deg);
        -webkit-transform: rotate(40deg); 
        -moz-transform: rotate(40deg); 
        filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7660444431189777, M12=-0.6427876096865394, M21=0.6427876096865398, M22=0.7660444431189779)"; }
      </style> 
      <!--[if IE]> 
      <style type="text/css">
       #example { top: 50px; left: 50px; } 
      </style> 
      <![endif]--> 
    </head> 
    <body>
      <div id="ptOfRef"></div> 
      <div id="example">这是一个CSS旋转属性的演示</div> 返回文章 
    </body> 
</html>
0 0
原创粉丝点击