css3—實現3D特效

rotate實例
translate實例
正方體實例
這裏寫圖片描述

實現3d效果,我們理所應當的在三維的座標下實現

1.perspective屬性:透視, 沒有透視 哪裏來的3dm呢.當爲元素定義 perspective 屬性時,其子元素會獲得透視效果,而不是元素本身。

2.perspective-origin:定義我們看向屏幕的視點

perspective-origin: x-axis y-axis;

x-axis定義該視圖在 x 軸上的位置。默認值:50%。
y-axis定義該視圖在 y 軸上的位置。默認值:50%。

3.transform-style: preserve-3d
transform-style屬性也是3D效果中經常使用的,其兩個參數,flat|preserve-3d. 前者flat爲默認值,表示平面的;後者preserve-3d表示3D透視

這裏寫圖片描述

4.通過transition / transform 來體現3d效果


Transitions

具體屬性:

transition-property:用於指定過渡的性質,比如 transition-property:backgrond 就是指 backgound 參與這個過渡

transition-duration:用於指定這個過渡的持續時間

transition-delay:用於制定延遲過渡的時間

transition-timing-function:用於指定過渡類型,有 ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier


Transform

再來看看 Transform,其實就是指拉伸,壓縮,旋轉,偏移等等一些圖形學裏面的基本變換。
首先我們要知道transform-origin屬性
這裏用rotate屬性來說明:如下繞紅點旋轉
這裏寫圖片描述

這裏寫圖片描述
rotate:指定對象的2D rotateing(2D旋轉),第一個參數對應X軸,第二的參數對應Y軸,如果第二個參數未提供,則默認爲0.

.rotate { 
 -webkit-transform: rotate(30deg); 
 } 

skew:指定對象skew transforma(斜切扭曲)
第一個參數對應X軸,第二的參數對應Y軸,如果第二個參數未提供,則默認爲0.

 .skew { 
 -webkit-transform: skew(50deg); //chrome爲例
 } 

這裏寫圖片描述

scale:指定對象的2D scale(2D縮放),第一個參數對應X軸,第二的參數對應Y軸,如果第二個參數未提供,則默認取第一個參數的值.

 .scale { 
 -webkit-transform: scale(0.5, 0.5); 
 } 

這裏寫圖片描述

translate:指定對象的2Dtranslate(2D平移),第一個參數對應X軸,第二的參數對應Y軸,如果第二個參數未提供,則默認爲0.

 .translate { 
 -webkit-transform: translate(50px, 50px); 
 } 

這裏寫圖片描述

發佈了40 篇原創文章 · 獲贊 15 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章