1. 程式人生 > >CSS3: perspective 3D屬性

CSS3: perspective 3D屬性

ie10 blank ext AI 視角 分享 情況下 .net 放置

本文引自:http://blog.csdn.net/cddcj/article/details/52956540

perspective 屬性指定了觀察者與z=0平面的距離,使具有三維位置變換的元素產生透視效果。z>0的三維元素比正常大,而z<0時則比正常小,大小程度由該屬性的值決定。

三維元素在觀察者後面的部分不會繪制出來,即z軸坐標值大於perspective屬性值的部分。

默認情況下,消失點位於元素的中心,但是可以通過設置perspective-origin屬性來改變其位置。

屬性值為0或負值或none(none是默認值)時,沒有透視效果。

----------------------------------------------------------------------------------------------------------------------------

CCS3中的Transform是設置界面樣式和動畫的一大利器。而且在Chrome和FF中還支持3D變換。IE9不支持,IE10支持。

只要是3D場景都會涉及視角問題和透視的問題。在Transform中的設置方法比較簡單:

  1. 只能選擇透視方式,也就是近大遠小的顯示方式。
  2. 鏡頭方向只能是平行Z軸向屏幕內,也就是從屏幕正前方向裏看。
  3. 可以調整鏡頭與平面位置:
  • a) perspective屬性設置鏡頭到元素平面的距離。所有元素都是放置在z=0的平面上。比如perspective(300px)表示,鏡頭距離元素表面的位置是300像素。

  • b) perspective-origin屬性規定了鏡頭在平面上的位置。默認是放在元素的中心。

下面用一個正方體(或者說骰子)向大家演示視角不同視角(perspective 以及 )的差別。

鏡頭距離z=0平面的不同距離的效果。

技術分享圖片 鏡頭在z坐標固定時,x和y坐標(perspective-origin)變化時的差別。 技術分享圖片 總結:perspective的意義在於設置遠近點大小的比例,讓它產生3D感,但是並不改變物體在transform-origin處的大小。

CSS3: perspective 3D屬性