HTML5+CSS3 誘人的實(shí)例:3D立方體旋轉(zhuǎn)動(dòng)畫實(shí)例
本文介紹了HTML5+CSS3 誘人的實(shí)例: 3D立方體旋轉(zhuǎn)動(dòng)畫實(shí)例,具體如下
效果圖:

知識(shí)點(diǎn):
1、perspective ,transform 的復(fù)習(xí)
2、CSS3 backgroud實(shí)現(xiàn)格格背景,即面上的小格格
3、 @-webkit-keyframes 實(shí)現(xiàn)動(dòng)畫
HTML:
<body>
<div class="stage">
<div class="cube">
<div class="font"></div>
<div class="back"></div>
<div class="left"></div>
<div class="right"></div>
<div class="top"></div>
<div class="bottom"></div>
</div>
</div>
</body>
前面的3D商品展示中已經(jīng)說(shuō)過(guò)如何制作正方體,并且那個(gè)上面還有數(shù)字,理論上說(shuō)比這個(gè)復(fù)雜,雖然木有這個(gè)炫~這里就不多說(shuō)了。
CSS:
html
{
background: -webkit-radial-gradient(center, ellipse, #430d6d 0%, #000000 100%);
background: radial-gradient(ellipse at center, #430d6d 0%, #000000 100%);
height: 100%;
}
.stage
{
-webkit-perspective: 1000px;
width: 20em;
height: 20em;
left: 50%;
top: 50%;
margin-left: -10em;
margin-top: -10em;
position: absolute;
}
.cube
{
position: absolute;
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
-webkit-transform: rotateX(-20deg) rotateY(-20deg);
}
.cube *
{
background: -webkit-linear-gradient(left, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), -webkit-linear-gradient(top, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px);
-webkit-background-size: 2.5em 2.5em;
background-color: rgba(0, 0, 0, 0.5);
position: absolute;
width: 100%;
height: 100%;
border: 2px solid rgba(54, 226, 248, 0.5);
-webkit-box-shadow: 0 0 5em rgba(0, 128, 0, 0.4);
}
.font
{
-webkit-transform: translateZ(10em);
}
.back
{
-webkit-transform: rotateX(180deg) translateZ(10em);
}
.left
{
-webkit-transform: rotateY(-90deg) translateZ(10em);
}
.right
{
-webkit-transform: rotateY(90deg) translateZ(10em);
}
.top
{
-webkit-transform: rotateX(90deg) translateZ(10em);
}
.bottom
{
-webkit-transform: rotateX(-90deg) translateZ(10em);
}
同樣:stage作為舞臺(tái),cube設(shè)置子元素的效果為3d,然后每個(gè)面都進(jìn)行旋轉(zhuǎn)和設(shè)置translateZ然后形成立方體。
為每個(gè)面設(shè)置backgroud設(shè)置小格格的代碼:
background: -webkit-linear-gradient(
left,
rgba(54, 226, 248, 0.5) 0px,
rgba(54, 226, 248, 0.5) 3px,
rgba(0, 0, 0, 0) 0px),
-webkit-linear-gradient(
top,
rgba(54, 226, 248, 0.5) 0px,
rgba(54, 226, 248, 0.5) 3px,
rgba(0, 0, 0, 0) 0px);
-webkit-background-size: 2.5em 2.5em;
背景設(shè)置,從左到右的3像素的條條,從上到下的3像素的條條;然后設(shè)置背景大小為2.5em 2.5em ,然后將背景重復(fù)顯示,效果如下(我添加了邊框):

現(xiàn)在的完整效果:

可以看到立方體已經(jīng)成型了,最后添加上動(dòng)畫就行了,不要覺(jué)得動(dòng)畫很復(fù)雜,其實(shí)很簡(jiǎn)單~
定義一個(gè)動(dòng)畫幀:
@-webkit-keyframes spin
{
from
{
-webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg);
transform: translateZ(-10em) rotateX(0) rotateY(0deg);
}
to
{
-webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
}
}
名字為spin,開(kāi)始時(shí) translateZ(-10em) rotateX(0) rotateY(0deg); 結(jié)束時(shí) : translateZ(-10em) rotateX(360deg) rotateY(360deg); 即同時(shí)繞著x,y軸360度旋轉(zhuǎn)。
最后給我們的立方體加上此animation屬性:
.cube
{
-webkit-animation: 6s spin linear infinite;
position: absolute;
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
-webkit-transform: rotateX(-20deg) rotateY(-20deg);
}
設(shè)置時(shí)間為動(dòng)畫時(shí)間 6s , 動(dòng)畫 spin , 速度為勻速linear , 無(wú)限循環(huán) infinite ;
關(guān)于更加細(xì)致的參數(shù)設(shè)置,可以參考w3cSchool~以后我也會(huì)寫單獨(dú)介紹CSS3的屬性的博客~
好了,最終的效果就已經(jīng)完成了~
對(duì)于原網(wǎng)站的樣子,有點(diǎn)細(xì)微的差別:
因?yàn)樗~外給每個(gè)面添加了一個(gè)徑向漸變,那么我們添加上:
.cube *:before
{
display: block;
background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%);
background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%);
content: '';
height: 100%;
width: 100%;
position: absolute;
}
利用before這個(gè)偽元素,然后設(shè)置徑向漸變~~現(xiàn)在終于一致了~
源碼點(diǎn)擊下載:demo
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章

html5+css3實(shí)現(xiàn)酷炫的3D立方體旋轉(zhuǎn)動(dòng)畫特效源碼
這是一款基于html5+css3實(shí)現(xiàn)酷炫的3D立方體旋轉(zhuǎn)動(dòng)畫特效源碼。采用了HTML5與css3獨(dú)有屬性實(shí)現(xiàn)2種不同的旋轉(zhuǎn)動(dòng)畫效果2016-12-09
CSS3 3D立方體效果示例-transform也不過(guò)如此
這篇文章主要介紹了CSS3 3D立方體效果示例-transform也不過(guò)如此,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。2016-12-05
純css3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)動(dòng)畫特效源碼
這是一款基于純css3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)動(dòng)畫特效源碼。畫面上逐次展開(kāi)6個(gè)面組成一個(gè)正方體,而后正方體呈現(xiàn)出3D旋轉(zhuǎn)的動(dòng)畫效果,畫面的動(dòng)畫效果過(guò)度流暢自然。該動(dòng)畫源碼采2016-11-21css3 transform及原生js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)3D立方體旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了css3 transform及原生js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)3D立方體旋轉(zhuǎn)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-20一款利用html5和css3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)效果教程
這篇文章主要為大家分享了一款利用html5和css3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)效果教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-26
純CSS3實(shí)現(xiàn)的3D立方體旋轉(zhuǎn)動(dòng)畫特效源碼
CSS3實(shí)現(xiàn)3D立方體旋轉(zhuǎn)動(dòng)畫特效是一款純CSS3制作的3d旋轉(zhuǎn)動(dòng)畫效果2015-01-09





