天天看點

css3 立方體3d旋轉效果立方體3d旋轉效果

立方體3d旋轉效果

通過上面的主題,我們就應該要知道今天我們需要那些東西來完成主題所說的立方體3d旋轉特效。

我們需要立方體、旋轉屬性、動畫這三個知識點。

第一步

我們要在網頁中搭建立方體。

(分析:網頁中是二維畫面,我們需要三維畫面)

是以我們需要一個屬性:

transform-style: preserve-3d;

。這個屬性,來改變網頁中立方體所在的父元素為三維。

transform-style: preserve-3d;

讓目前元素形成一個3D舞台,讓其子元素在3D空間裡面進行一個變換。

第二部

我們要了解網頁中是怎麼實作立方體的。

css3 立方體3d旋轉效果立方體3d旋轉效果
方法一
css3 立方體3d旋轉效果立方體3d旋轉效果
方法二

上面是兩種立方體實作方法的過程。

(分析:通過gif圖檔動态示範,做出這樣的立方體,我們需要那些屬性)

通過分析後,我們應該需要以下屬性:

3d平移:

transform:translate3D(X,Y,Z);

3d平移

transform:translate3D(X,Y,Z);

定義3d移動

transform:translateX();

定義3d移動中,隻用X軸的值

transform:translateY();

定義3d移動中,隻用Y軸的值

transform:translateZ();

(值不能為百分比)定義3d移動中,隻用Z軸的值

3d旋轉:

transform:rotate3D(X,Y,Z,a);

3d旋轉

transform:rotateX();

定義沿着X軸進行3d旋轉

transform:rotateY();

定義沿着Y軸進行3d旋轉

transform:rotateZ();

定義沿着Z軸進行3d旋轉

transform:rotate3D(X,Y,Z,a);

定義3d旋轉

x:是一個0到1之間的數值,主要用來描述元素圍繞X軸旋轉的矢量值;

y:是一個0到1之間的數值,主要用來描述元素圍繞Y軸旋轉的矢量值;

z:是一個0到1之間的數值,主要用來描述元素圍繞Z軸旋轉的矢量值;

a:是一個角度值,主要用來指定元素在3D空間旋轉的角度,如果其值為正值,元素順時針旋轉,反之元素逆時針旋轉。

改變原點

transform-origin:水準方向 垂直方向;

.

通過上面的屬性我們京可以實作基本的立方體了。

代碼如下:

css3 立方體3d旋轉效果立方體3d旋轉效果
css3 立方體3d旋轉效果立方體3d旋轉效果

第三部

旋轉動畫,在上面立方體的實作中,就用到了這個屬性。而這裡是對整個立方體進行3d的旋轉。

我們先來看看兩種不同方法做出來的立方體的3d旋轉是有什麼差別。

css3 立方體3d旋轉效果立方體3d旋轉效果

方法一

做出來的立方體正義旋轉

css3 立方體3d旋轉效果立方體3d旋轉效果

方法二

做出來的立方體正義旋轉

其實他們都是用了一樣的關鍵幀動畫屬性。

關鍵幀動畫

動畫 :

animation:關鍵幀名稱 動畫持續時間 動畫類型 動畫延遲 動畫次數;

animation: 複合屬性

animation-name :    ;關鍵幀的名稱

animation-duration :    ;(動畫的持續的時間)

animation-timing-function:   ; 動畫運用的類型(勻速linear、加速度、減速度、貝塞爾曲線)

animation-delay:   ; (動畫的延遲)

animation-iteration-count:  ; 動畫運動的次數(預設情況下運動1次) infinite(無限循環)

animation-direction (運動的方向)

                               屬性值:

                                - reverse:反方向運作 ( 讓關鍵幀從後往前執行 )

                                - alternate:動畫先正常運作再反方向運作,并持續交替運作

                                - alternate-reverse:動畫先反運作再正方向運作,并持續交替運作

制定關鍵幀:

@keyframes 關鍵幀名稱{ 0%{開始狀态} 25%{} 50%{} 75%{} 100%{結束狀态}}

下面是兩種關鍵幀的用法

@keyframes 關鍵幀的名稱{

0%{

//開始狀态

}

25%{

}

50%{

}

......

100%{

//結束狀态

}

}

@keyframes 關鍵幀的名稱{

from{}

to{}

}

通下面的代碼,我們就可以實作上面的立方體3d旋轉效果了。

代碼如下:

css3 立方體3d旋轉效果立方體3d旋轉效果

繼續閱讀