目前越來越多的瀏覽器兼容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>