武林網(wǎng)(www.survivalescaperooms.com)文章簡(jiǎn)介:CSS3 Transform的perspective屬性.
以下兩行語(yǔ)句有什么區(qū)別?
Css<div id="animateTest"
style="-webkit-transform: perspective(400px) rotateY(40deg);">
Css<div id="animateTest"
style="-webkit-transform: rotateY(40deg) perspective(400px);">
如果大家不清楚,請(qǐng)聽(tīng)我娓娓道來(lái)。
CCS3中的Transform是設(shè)置界面樣式和動(dòng)畫(huà)的一大利器。而且在Chrome和FF中還支持3D變換。IE9不支持,IE10支持。
只要是3D場(chǎng)景都會(huì)涉及視角問(wèn)題和透視的問(wèn)題。在Transform中的設(shè)置方法比較簡(jiǎn)單:
下面用一個(gè)正方體(或者說(shuō)骰子)向大家演示視角不同視角(perspective 以及 )的差別。
鏡頭距離z=0平面的不同距離的效果。
鏡頭在z坐標(biāo)固定時(shí),x和y坐標(biāo)(perspective-origin)變化時(shí)的差別。
例如:讓一個(gè)Div沿Y軸旋轉(zhuǎn)一個(gè)角度:
上面的原始的Div和圖片,下面是旋轉(zhuǎn)后的效果。
<div id="animateTest" ><img src=""width="100" height="100"></div><div id="animateTest"style="-webkit-transform: rotateY(40deg);"><img src=""width="100" height="100"></div>第一張圖是原始狀態(tài)的DIV,第二張圖是旋轉(zhuǎn)后的效果。
是不是效果不明顯?這是因?yàn)殓R頭離平面太遠(yuǎn)了,所以旋轉(zhuǎn)效果不明顯。現(xiàn)在我們?cè)囋噋erspective屬性。我們?cè)O(shè)置perspect=400px。
<div id="animateTest"style="-webkit-transform: perspective(400px) rotateY(40deg);"><img src=""width="100" height="100"></div>怎么樣現(xiàn)在效果明顯了吧。這就是perspective的用途。
不過(guò)在chrome中發(fā)現(xiàn)一個(gè)問(wèn)題,那就是perspective一定要在rotateY(或rotateX)的前面。如果代碼寫(xiě)成下面的情況,perspective的設(shè)置會(huì)無(wú)效。
<div id="animateTest"style="-webkit-transform: rotateY(40deg) perspective(400px);">在FireFox中也是這種情況。
在mozilla的文檔上也沒(méi)有說(shuō)明這個(gè)情況。現(xiàn)在還不確定是設(shè)計(jì)如此還是Bug。總之大家用的時(shí)候就將prespective放在前面好了。
新聞熱點(diǎn)
疑難解答
圖片精選