3D來(lái)襲逞怨,靈動(dòng)你我(css3 3D動(dòng)畫(huà))

A:我今天照了張照片做了桌面背景感覺(jué)還不錯(cuò)者疤。
B:一張照片當(dāng)桌面背景算什么,我的桌面背景是來(lái)回切換的叠赦。
C:切驹马,2D還好意思拿出來(lái)說(shuō),俺的3D輪播照片都快用膩了,俺想著要不去外星球體驗(yàn)一下超高維空間糯累。

啥算利?3D?高維泳姐?我的天哪效拭,求A得心里陰影面積。
圖片.png
小A胖秒,小B童靴缎患,先別著急,今天就讓你搭上3D的列車扒怖,看到 這個(gè)3D的輪播较锡,是不是有點(diǎn)心動(dòng)了。跟緊我盗痒,我要啟程了蚂蕴,啊哈哈哈。
20170927_110923.gif
在3D神功練之前俯邓,咱們先來(lái)扎一下馬步骡楼。要練神功,必先**稽鞭,啊哈哈鸟整,不要緊張,開(kāi)玩笑朦蕴。

一篮条、扎馬步

馬步0之transform-style

transform-style屬性也是3D效果中經(jīng)常使用的,其兩個(gè)參數(shù)吩抓,flat|preserve-3d. 前者flat為默認(rèn)值涉茧,表示平面的;后者preserve-3d表示3D透視疹娶。

馬步1之rotateXYZ

3d_axes.png

rotate旋轉(zhuǎn)的意思伴栓,rotateX旋轉(zhuǎn)X軸,rotateY旋轉(zhuǎn)Y軸雨饺,rotateZ旋轉(zhuǎn)Z軸钳垮。您也可以理解為,物體讓X或Y或Z軸旋轉(zhuǎn)额港,旋轉(zhuǎn)完后饺窿,重建它的三維坐標(biāo)(坐標(biāo)和物體的相對(duì)位置不變)例如,您站著的時(shí)候重心在您的肚子上锹安,當(dāng)您繞x轉(zhuǎn)90短荐,躺下后重心還在您的肚子上倚舀,此時(shí)的重心非彼時(shí)的重心,但是很您的相對(duì)位置沒(méi)有發(fā)生變化忍宋,在此僅為例子說(shuō)痕貌,還望懂物理的大咖科普一下。
rotateX(Ndeg) N為正糠排,順時(shí)針旋轉(zhuǎn)舵稠,反之逆時(shí)針旋轉(zhuǎn)。上圖理解
rotateX
1506484938(1).png
rotateY
1506484966(1).png
rotateZ
1506484985(1).png

馬步2之translateZ

translateZ( tz )入宦,如果哺徊,原始圖像(tz=0)正對(duì)你,那么tz的值越大乾闰,離你就越近落追,反之越遠(yuǎn)。tz>0,圖像向屏幕走來(lái)涯肩,并且圖像很大轿钠,tz<0圖像遠(yuǎn)離屏幕,圖像變小病苗。

1506485492(1).png

馬步3之Perspective

perspective 疗垛,是透視,視角硫朦。

toushi.png

css3所用的透視點(diǎn)在瀏覽器前方贷腕,可以理解為我們的眼睛為視點(diǎn)。
在次引用一下大張老師的解釋

一個(gè)1680像素寬的顯示器中有張美女圖片咬展,應(yīng)用了3D transform泽裳,同時(shí),該元素或該元素父輩元素設(shè)置的perspective大小為2000像素破婆。則這張美女多呈現(xiàn)的3D效果就跟你本人在1.2個(gè)顯示器寬度的地方(1680*1.2≈2000)看到的真實(shí)效果一致9畋凇!


3d-distance.jpg

那么荠割,如果perspective:2000px,translateZ:2100px旺矾,那么蔑鹦,該圖像將會(huì)越過(guò)您的眼睛100px,自然您也看不見(jiàn)這幅圖像了箕宙,有誰(shuí)能看見(jiàn)腦后的東西呢。

perspective有兩種書(shū)寫(xiě)方式
perspective屬性有兩種書(shū)寫(xiě)形式,一種用在舞臺(tái)元素上(動(dòng)畫(huà)元素們的共同父輩元素)部服;第二種就是用在當(dāng)前動(dòng)畫(huà)元素上,與transform的其他屬性寫(xiě)在一起狡门。如下代碼示例
第一種:整體透視(理解為有一個(gè)透視點(diǎn),透視整個(gè)父元素锅很,子元素配合父元素)

#blue {
  perspective: 400px;
}

#blue figure {
  background: blue;
  transform: rotateY( 45deg );
}
1506494718(1).png

第二種(每一個(gè)子元素都有一個(gè)透視點(diǎn))

#red figure {
  background: red;
  transform: perspective( 400px ) rotateY(45deg);
}
1506494770(1).png

另外其馏,透視點(diǎn)的默認(rèn)位置在中間perspective-origin: 50% 50%;,我們可以對(duì)透視點(diǎn)作出調(diào)整爆安。

perspective-origin: 25% 75%;
1506494932(1).png

基本功咱有了叛复,那么,還等什么扔仓,一起來(lái)練武吧褐奥。

二、練神功

首先我們實(shí)現(xiàn)靜態(tài)效果翘簇。思路:用4個(gè)div撬码,分別為ABCD。然后版保,用rotateXYZ讓ABCD轉(zhuǎn)至4個(gè)方向呜笑,然后使用translateZ或translate3d(0,0,n)將ADBC拉開(kāi)間隔找筝,否則交叉在一起蹈垢。動(dòng)態(tài)效果:ABCD依次旋轉(zhuǎn)。分4次:A占據(jù)B的位置袖裕,B占C曹抬,C占D,換4次位置為一個(gè)循環(huán)急鳄。在此谤民,貼上含A代碼,其他部分實(shí)現(xiàn)原理相同疾宏。您也可以移駕全部代碼.

#wrap {
    height: 100px;
    width: 100px;
    transform-style: preserve-3d;
    backface-visibility: visible;
    margin: 200px auto;
    perspective: 500px;
}

.common {
    position: absolute;
    height: 100px;
    width: 100px;
    line-height: 100px;
    font-size: 100px;
    text-align: center;
}

@keyframes fChange {
    0% {
        transform: translate3d(0, 0, 160px);
    }
    5% {
        transform: translate3d(0, 0, 160px);/*每次換位置后张足,停留0.3s*/
    }

    25% {
        transform: rotateY(-80deg) translate3d(0, 0, 160px);
    }
    30% {
        transform: rotateY(-80deg) translate3d(0, 0, 160px);/*每次換位置后,停留0.3s*/
    }

    50% {
        transform: rotateY(-180deg) translate3d(0, 0, 160px);
    }
    55% {
        transform: rotateY(-180deg) translate3d(0, 0, 160px);/*每次換位置后坎藐,停留0.3s*/
    }

    75% {
        transform: rotateY(-280deg) translate3d(0, 0, 160px);
    }
    80% {
        transform: rotateY(-280deg) translate3d(0, 0, 160px);/*每次換位置后为牍,停留0.3s*/
    }

    100% {
        transform: translate3d(0, 0, 160px);
    }
}

神功練好了,但是千萬(wàn)不要驕傲哦岩馍,習(xí)武之人碉咆,怎能滿足當(dāng)下一種功夫。

20170630015503752.jpg

歡迎各位朋友批評(píng)指正蛀恩,多多交流疫铜。
參考資料:1、鑫空間鑫生活2双谆、http://desandro.github.io/3dtransforms/docs/introduction.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末壳咕,一起剝皮案震驚了整個(gè)濱河市席揽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谓厘,老刑警劉巖幌羞,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異庞呕,居然都是意外死亡新翎,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門住练,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)地啰,“玉大人,你說(shuō)我怎么就攤上這事讲逛】髁撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵盏混,是天一觀的道長(zhǎng)蔚鸥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)许赃,這世上最難降的妖魔是什么止喷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮混聊,結(jié)果婚禮上弹谁,老公的妹妹穿的比我還像新娘。我一直安慰自己句喜,他們只是感情好预愤,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著咳胃,像睡著了一般植康。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上展懈,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天销睁,我揣著相機(jī)與錄音,去河邊找鬼存崖。 笑死榄攀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的金句。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吕嘀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼违寞!你這毒婦竟也來(lái)了贞瞒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤趁曼,失蹤者是張志新(化名)和其女友劉穎军浆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體挡闰,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乒融,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摄悯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赞季。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖奢驯,靈堂內(nèi)的尸體忽然破棺而出申钩,到底是詐尸還是另有隱情,我是刑警寧澤瘪阁,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布撒遣,位于F島的核電站,受9級(jí)特大地震影響管跺,放射性物質(zhì)發(fā)生泄漏义黎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一豁跑、第九天 我趴在偏房一處隱蔽的房頂上張望廉涕。 院中可真熱鬧,春花似錦贩绕、人聲如沸火的。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)馏鹤。三九已至,卻和暖如春娇哆,著一層夾襖步出監(jiān)牢的瞬間湃累,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工碍讨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留治力,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓勃黍,卻偏偏與公主長(zhǎng)得像宵统,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子覆获,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 看了很多視頻马澈、文章瓢省,最后卻通通忘記了,別人的知識(shí)依舊是別人的痊班,自己卻什么都沒(méi)獲得勤婚。此系列文章旨在加深自己的印象,因...
    DCbryant閱讀 1,857評(píng)論 0 4
  • 一、寫(xiě)在前面的秋褲 早在去年的去年凝果,我就大肆介紹了2D transform相關(guān)內(nèi)容祝迂。看過(guò)海賊王的都知道豆村,帶D的家伙...
    MrZengB閱讀 1,340評(píng)論 2 9
  • CSS的變形對(duì)應(yīng)的屬性是transform液兽,它的作用是修改元素自身的坐標(biāo)空間。這個(gè)修改實(shí)際對(duì)應(yīng)了一個(gè)坐標(biāo)系統(tǒng)映射轉(zhuǎn)...
    荷小音閱讀 1,076評(píng)論 1 5
  • 當(dāng)我看到下面這張基本圖的時(shí)候掌动,我的右側(cè)的濃眉毛不由自主抖動(dòng)了兩下四啰,呵,呵呵~~ rotateY( angle ) ...
    追風(fēng)逸少丶閱讀 1,489評(píng)論 0 3
  • 這十個(gè)字的意思是樹(shù)上所有的鳥(niǎo)都活得非炒只郑快樂(lè)柑晒,因?yàn)樗鼈冊(cè)邳S昏的時(shí)候可以回窩去,就像我們今天有了一個(gè)家眷射,所以會(huì)覺(jué)得很安...
    流年2016閱讀 348評(píng)論 0 0