css3實(shí)現(xiàn)3d旋轉(zhuǎn)動(dòng)畫(huà)特效

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>css3 3d動(dòng)畫(huà) keyframes</title>
</head>
<body>
<style>/*************** ANIMATIONS ***************/
@-webkit-keyframes spin {
from { -webkit-transform: rotateY(0); }
to { -webkit-transform: rotateY(360deg); }
}
@-ms-keyframes spin {
from { ms-transform: rotateY(0); }
to { ms-transform: rotateY(360deg); }
}
@keyframes spin {
from { transform: rotateY(0); }
to { transform: rotateY(360deg); }
}
@-webkit-keyframes spin-vertical {
from { -webkit-transform: rotateX(0); }
to { -webkit-transform: rotateX(-360deg); }
}
@-ms-keyframes spin-vertical {
from { ms-transform: rotateX(0); }
to { ms-transform: rotateX(-360deg); }
}
@keyframes spin-vertical {
from { transform: rotateX(0); }
to { transform: rotateX(-360deg); }
}
/*************** STANDARD CUBE ***************/
.cube-wrap {
-webkit-perspective: 800px;
-webkit-perspective-origin: 50% 100px;
-moz-perspective: 800px;
-moz-perspective-origin: 50% 100px;
-ms-perspective: 800px;
-ms-perspective-origin: 50% 100px;
perspective: 800px;
perspective-origin: 50% 100px;
}
.cube {
position: relative;
width: 200px;
margin: 0 auto;
-webkit-transform-style: preserve-3d;
-webkit-animation: spin 5s infinite linear;
-moz-transform-style: preserve-3d;
-moz-animation: spin 5s infinite linear;
-ms-transform-style: preserve-3d;
-ms-animation: spin 5s infinite linear;
transform-style: preserve-3d;
animation: spin 5s infinite linear;
}
.cube div {
position: absolute;
width: 200px;
height: 200px;
background: rgba(255,255,255,0.1);
box-shadow: inset 0 0 30px rgba(125,125,125,0.8);
font-size: 20px;
text-align: center;
line-height: 200px;
color: rgba(0,0,0,0.5);
font-family: sans-serif;
text-transform: uppercase;
}
/*************** DEPTH CUBE ***************/
.depth div.back-pane {
-webkit-transform: translateZ(-100px) rotateY(180deg);
-moz-transform: translateZ(-100px) rotateY(180deg);
-ms-transform: translateZ(-100px) rotateY(180deg);
transform: translateZ(-100px) rotateY(180deg);
}
.depth div.right-pane {
-webkit-transform:rotateY(-270deg) translateX(100px);
-webkit-transform-origin: top right;
-moz-transform:rotateY(-270deg) translateX(100px);
-moz-transform-origin: top right;
-ms-transform:rotateY(-270deg) translateX(100px);
-ms-transform-origin: top right;
transform:rotateY(-270deg) translateX(100px);
transform-origin: top right;
}
.depth div.left-pane {
-webkit-transform:rotateY(270deg) translateX(-100px);
-webkit-transform-origin: center left;
-moz-transform:rotateY(270deg) translateX(-100px);
-moz-transform-origin: center left;
-ms-transform:rotateY(270deg) translateX(-100px);
-ms-transform-origin: center left;
transform:rotateY(270deg) translateX(-100px);
transform-origin: center left;
}
.depth div.top-pane {
-webkit-transform:rotateX(-90deg) translateY(-100px);
-webkit-transform-origin: top center;
-moz-transform:rotateX(-90deg) translateY(-100px);
-moz-transform-origin: top center;
-ms-transform:rotateX(-90deg) translateY(-100px);
-ms-transform-origin: top center;
transform:rotateX(-90deg) translateY(-100px);
transform-origin: top center;
}
.depth div.bottom-pane {
-webkit-transform:rotateX(90deg) translateY(100px);
-webkit-transform-origin: bottom center;
-moz-transform:rotateX(90deg) translateY(100px);
-moz-transform-origin: bottom center;
-ms-transform:rotateX(90deg) translateY(100px);
-ms-transform-origin: bottom center;
transform:rotateX(90deg) translateY(100px);
transform-origin: bottom center;
}
.depth div.front-pane {
-webkit-transform: translateZ(100px);
-moz-transform: translateZ(100px);
-ms-transform: translateZ(100px);
transform: translateZ(100px);
}
/*************** VERTICAL SPINNING CUBE ***************/
.cube-wrap.vertical .cube {
-webkit-transform-origin: 0 100px;
-moz-transform-origin: 0 100px;
-ms-transform-origin: 0 100px;
transform-origin: 0 100px;
-webkit-animation: spin-vertical 5s infinite linear;
-moz-animation: spin-vertical 5s infinite linear;
-ms-animation: spin-vertical 5s infinite linear;
animation: spin-vertical 5s infinite linear;
}
.cube-wrap.vertical .depth div.top-pane {
-webkit-transform:rotateX(-270deg) translateY(-100px);
-moz-transform:rotateX(-270deg) translateY(-100px);
-ms-transform:rotateX(-270deg) translateY(-100px);
transform:rotateX(-270deg) translateY(-100px);
}
.cube-wrap.vertical .depth div.back-pane {
-webkit-transform: translateZ(-100px) rotateX(180deg);
-moz-transform: translateZ(-100px) rotateX(180deg);
-ms-transform: translateZ(-100px) rotateX(180deg);
transform: translateZ(-100px) rotateX(180deg);
}
.cube-wrap.vertical .depth div.bottom-pane {
-webkit-transform: rotateX(-90deg) translateY(100px);
-moz-transform: rotateX(-90deg) translateY(100px);
-ms-transform: rotateX(-90deg) translateY(100px);
transform: rotateX(-90deg) translateY(100px);
}
/*************** FLAT SPINNING CUBE ***************/
.cube-wrap.flat {
-webkit-perspective: none;
-webkit-perspective-origin: 0 0;
-moz-perspective: none;
-moz-perspective-origin: 0 0;
-ms-perspective: none;
-ms-perspective-origin: 0 0;
perspective: none;
perspective-origin: 0 0;
}</style>
<div style="height: 300px; margin-top: 45px; float:left; width:400px;">
<div class="cube-wrap">
<div class="cube depth">
<div class="front-pane">前</div>
<div class="back-pane">后</div>
<div class="top-pane">上</div>
<div class="bottom-pane">bottom</div>
<div class="left-pane">左</div>
<div class="right-pane">右</div>
</div>
</div>
</div>
<div style="height: 300px; margin-top: 60px;float:left;width:400px;">
<div class="cube-wrap vertical">
<div class="cube depth">
<div class="front-pane">前</div>
<div class="back-pane">后</div>
<div class="top-pane">上</div>
<div class="bottom-pane">bottom</div>
<div class="left-pane">左</div>
<div class="right-pane">右</div>
</div>
</div>
</div>
<div style="height: 300px; margin-top: 60px;float:left;width:400px;">
<div class="cube-wrap flat">
<div class="cube depth">
<div class="front-pane">前</div>
<div class="back-pane">后</div>
<div class="top-pane">上</div>
<div class="bottom-pane">bottom</div>
<div class="left-pane">左</div>
<div class="right-pane">右</div>
</div>
</div>
</div>
</body>
</html>
本CSS3特效主要使用的是Transform屬性實(shí)現(xiàn),它是“變型”的意思,值主要包括:旋轉(zhuǎn)rotate,扭曲skew,縮放scale,移動(dòng)translate以及矩陣變形matrix 。通過(guò)這個(gè)實(shí)例,你將會(huì)學(xué)會(huì)如何使用它實(shí)現(xiàn)css3 3D動(dòng)畫(huà)。希望大家能夠喜歡。
相關(guān)文章
純CSS3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)動(dòng)畫(huà)特效源碼
CSS3實(shí)現(xiàn)3D立方體旋轉(zhuǎn)動(dòng)畫(huà)特效是一款純CSS3制作的3d旋轉(zhuǎn)動(dòng)畫(huà)效果2015-01-09純CSS3實(shí)現(xiàn)的3D旋轉(zhuǎn)下拉菜單效果源碼
這是一款帶有3D動(dòng)畫(huà)特效的CSS3菜單,該菜單有以下幾個(gè)特點(diǎn):首先是菜單時(shí)基于CSS3的,因此瀏覽器兼容性都還可以2015-01-05HTML5+CSS3實(shí)現(xiàn)3D旋轉(zhuǎn)陀螺動(dòng)畫(huà)特效源碼
這次我要向大家分享一款很有創(chuàng)意的HTML5/CSS3動(dòng)畫(huà)特效,它是一個(gè)可以旋轉(zhuǎn)的3D陀螺動(dòng)畫(huà)。這個(gè)動(dòng)畫(huà)和之前分享的HTML5動(dòng)畫(huà)類(lèi)似,主要也是利用了CSS3的transform屬性,讓物體旋2014-11-22HTML5/CSS3實(shí)現(xiàn)的3D環(huán)形旋轉(zhuǎn)圖片墻動(dòng)畫(huà)特效源碼
今天我們要分享一款基于HTML5/CSS3的3D環(huán)形圖片墻,該HTML5圖片特效是一面3D立體的墻,墻上貼著一些圖片,墻體在不停的旋轉(zhuǎn)移動(dòng)。并且在屏幕上四處走動(dòng),當(dāng)鼠標(biāo)滑過(guò)圖片時(shí)2014-11-04CSS3實(shí)現(xiàn)的一款迷人3D木塊旋轉(zhuǎn)動(dòng)畫(huà)
一款迷人的HTML5+CSS3實(shí)現(xiàn)的3D旋轉(zhuǎn)動(dòng)畫(huà),這款3D動(dòng)畫(huà)的主角是一根根小木條2014-05-06jquery+css3實(shí)現(xiàn)圖像三維旋轉(zhuǎn)效果類(lèi)似風(fēng)扇轉(zhuǎn)動(dòng)的3D效果
今天給大家推薦一種切換效果類(lèi)似風(fēng)扇轉(zhuǎn)動(dòng)一樣的3D效果,點(diǎn)擊底部阿拉伯?dāng)?shù)字的時(shí)候,圖片會(huì)做響應(yīng)的反轉(zhuǎn)特效,隨機(jī)反轉(zhuǎn)震動(dòng)效果2013-03-14css3 transform 3d 使用html5+css3創(chuàng)建動(dòng)態(tài)旋轉(zhuǎn)的3d立方體
今天向大家介紹如何使用css3創(chuàng)建3d的立方體,操作方法為:上下左右鍵,實(shí)現(xiàn)立方體的翻轉(zhuǎn)旋轉(zhuǎn)效果2013-01-06純CSS3實(shí)現(xiàn)3D旋轉(zhuǎn)書(shū)本效果
有一些前沿的電商網(wǎng)站已經(jīng)開(kāi)始使用3D模型來(lái)展示商品并支持在線定制,而其中圖書(shū)的展示是最為簡(jiǎn)單的一種,無(wú)需復(fù)雜的建模過(guò)程,使用圖片和CSS3的一些變換即可實(shí)現(xiàn)更好的展示2016-03-21