如下兩行語句有什麼區別?css
<div id="animateTest" style="-webkit-transform: perspective(400px) rotateY(40deg);"> |
<div id="animateTest" style="-webkit-transform: rotateY(40deg) perspective(400px);"> |
若是你們不清楚,請聽我娓娓道來。web
CCS3中的Transform是設置界面樣式和動畫的一大利器。並且在Chrome和FF中還支持3D變換。IE9不支持,IE10支持。chrome
只要是3D場景都會涉及視角問題和透視的問題。在Transform中的設置方法比較簡單:ide
下面用一個正方體(或者說骰子)向你們演示視角不一樣視角(perspective 以及 )的差異。動畫
鏡頭距離z=0平面的不一樣距離的效果。spa
鏡頭在z座標固定時,x和y座標(perspective-origin)變化時的差異。設計
例如:讓一個Div沿Y軸旋轉一個角度:3d
上面的原始的Div和圖片,下面是旋轉後的效果。orm
<div id="animateTest" > <img src=http://www.webjx.com/css/"http://imgcache.qq.com/ptlogin/head/1_100.gif" width="100" height="100"> </div> <div id="animateTest" style="-webkit-transform: rotateY(40deg);"> <img src=http://www.webjx.com/css/"http://imgcache.qq.com/ptlogin/head/1_100.gif" width="100" height="100"> </div>
第一張圖是原始狀態的DIV,第二張圖是旋轉後的效果。blog
是否是效果不明顯?這是由於鏡頭離平面太遠了,因此旋轉效果不明顯。如今咱們試試perspective屬性。咱們設置perspect=400px。
<div id="animateTest" style="-webkit-transform: perspective(400px) rotateY(40deg);"> <img src=http://www.webjx.com/css/"http://imgcache.qq.com/ptlogin/head/1_100.gif" width="100" height="100"> </div>
怎麼樣如今效果明顯了吧。這就是perspective的用途。
不過在chrome中發現一個問題,那就是perspective必定要在rotateY(或rotateX)的前面。若是代碼寫成下面的狀況,perspective的設置會無效。
<div id="animateTest" style="-webkit-transform: rotateY(40deg) perspective(400px);">
在FireFox中也是這種狀況。
在mozilla的文檔上也沒有說明這個狀況。如今還不肯定是設計如此仍是Bug。總之你們用的時候就將prespective放在前面好了。