精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

【CSS進階】試試酷炫的 3D 視角

開發(fā) 前端
運用 CSS3 完成的 3D 視角,雖然有一些暈 3D,但是使人置身于其中的交互體驗感覺非常棒,運用在移動端制作一些 H5 頁面可謂十分博人眼球。

[[406230]]

寫這篇文章的緣由是因為看到了這個頁面:

糯米-未來大學(xué) 3D View 頁面[1]

運用 CSS3 完成的 3D 視角,雖然有一些暈 3D,但是使人置身于其中的交互體驗感覺非常棒,運用在移動端制作一些 H5 頁面可謂十分博人眼球。

并且掌握原理之后制作起來也并不算廢力,好好的研究了一番后將一些學(xué)習(xí)過程共享給大家。下面進入正文。

3D 效果示意

先直觀感受一下上述我所說的效果的簡化版本:

圖片

CodePen Demo -- 3D View[2]

這里我使用了帶背景色的 Div 作為示例,我們的視角處于一個正方體中,正方體的旋轉(zhuǎn)動畫讓我們有了 3D 的感覺。

那么原本的圖長什么樣呢?我們把距離拉遠(yuǎn),一探究竟:

圖片

CodePen Demo -- 3D View 2[3]

靜態(tài)圖如下,是這樣的:

相較于第一種效果,其實所做的只是將我們的視角推進到了正方體當(dāng)中,有了一種身臨其景的感覺。

而合理的運用 CSS3 所提供的一些 3D 屬性,很容易就能達(dá)到上述的效果。

制作這樣一個 3D 圖形,我在之前的文章已經(jīng)很詳細(xì)的講述了過程,感興趣的可以戳進去看看:

【CSS3進階】酷炫的3D旋轉(zhuǎn)透視[4]

transform-style 與 perspective

再簡單復(fù)述一下,主要是運用到了兩個 CSS 屬性:

  • transform-style
  • perspective

transform-style

要利用 CSS3 實現(xiàn) 3D 的效果,最主要的就是借助 transform-style 屬性。

transform-style 只有兩個值可以選擇:

  1. // 語法: 
  2. transform-style: flat|preserve-3d; 
  3.    
  4. transform-style: flat; // 默認(rèn),子元素將不保留其 3D 位置 
  5. transform-style: preserve-3d; // 子元素將保留其 3D 位置。 

當(dāng)父元素設(shè)置了 transform-style:preserve-3d 后,就可以對子元素進行 3D 變形操作了,3D 變形和 2D 變形一樣可以,使用 transform 屬性來設(shè)置,或者可以通過制定的函數(shù)或者通過三維矩陣來對元素變型操作:當(dāng)我們指定一個容器的 transform-style 的屬性值為 preserve-3d 時,容器的后代元素便會具有 3D 效果,這樣說有點抽象,也就是當(dāng)前父容器設(shè)置了 preserve-3d 值后,它的子元素就可以相對于父元素所在的平面,進行 3D 變形操作。

  • 使用 translateX(length) 、translateY(length)、 translateZ(length) 來進行 3D 位移操作,與 2D 操作一樣,對元素進行位移操作,也可以合并為 translate3d(x,y,z) 這種寫法;
  • 使用 scaleX() 、scaleY() 、scaleY() 來進行3D 縮放操作,也可以合并為 scale3d(number,number,number) 這種寫法;
  • 使用 rotateX(angle) 、rotateY(angle) 、rotateZ(angle) 來進行 3D 旋轉(zhuǎn)操作,也可以合并為 rotate3d(Xangle,Yangle,Zangle) 這種寫法。

perspective

perspective 的語法如下:

  1.     perspective: number|none; 

簡單來說,當(dāng)元素沒有設(shè)置 perspective 時,也就是當(dāng) perspective:none/0 時所有后代元素被壓縮在同一個二維平面上,不存在景深的效果。perspective 為一個元素設(shè)置三維透視的距離,僅作用于元素的后代,而不是其元素本身。

而如果設(shè)置 perspective 后,將會看到三維的效果。

我們上面之所以能夠在正方體外圍看到正方體,以及深入正方體內(nèi),都是因為 perspective 這個屬性。它讓我們能夠選擇推進視角,還是遠(yuǎn)離視角,因此便有了 3D 的感覺。

3D View 頁面的布局結(jié)構(gòu)

為了完成這樣一個效果,需要一個靈活的布局,去控制整個 3D 效果的展示。

下面是我覺得比較好的一種方式:

  1. <!-- 最外層容器,控制圖形的位置及在整個頁面上的布局--> 
  2. <div class="container"
  3.     <!-- 舞臺層,設(shè)置 preserve-3d 與 perspective 視距  --> 
  4.     <div class="stage"
  5.         <!-- 控制層,動畫的控制層,通過這一層可以添加旋轉(zhuǎn)動畫或者觸摸動畫 --> 
  6.         <div class="control"
  7.             <!-- 圖片層,裝入我們要拼接的圖片 --> 
  8.             <div class="imgWrap"
  9.                 <div class="img img1"></div> 
  10.                 <div class="img img2"></div> 
  11.                 <div class="img img3"></div> 
  12.                 <div class="img img4"></div> 
  13.             </div> 
  14.         </div> 
  15.     </div> 
  16. </div> 

其中:

  • 最外層 container ,控制圖形的位置及在整個頁面上的布局;
  • stage 層,舞臺層,從這里開始設(shè)置 3D 景深效果,添加 perspective 視距;
  • control 層,動畫的控制層,通過這一層可以添加旋轉(zhuǎn)動畫或者在移動端的觸摸動畫,通過更改 translateZ 屬性也可以拉近拉遠(yuǎn)視角;
  • imgWrap 層,圖片層,裝入我們要拼接的圖片,下文會提及。

圖片拼接

圖片拼接其實才是個技術(shù)活,需要許多的計算。

以上述 Demo 中的正方體為例子,class 為 img 的 div 塊的高寬為 400px*400px。那么要利用 4 個 這樣的 div 拼接成一個正方體,需要分別將 4 個 div 繞 Y 軸旋轉(zhuǎn) [90°, 180°, 270°, 360°],再 translateY(200px)。

值得注意的是,一定是先旋轉(zhuǎn)角度,再偏移距離,這個順序很重要。

看看俯視圖,也就是這個意思:

 

這是最簡單的情況了,都是直角。

如果是一張圖需要分割成八份,假設(shè)每張圖分割出來的高寬為 400 400 , 8 張圖需要做的操作是依次繞 Y 軸旋轉(zhuǎn) [45°, 90°, 135°, 180°, 225°, 270°, 315°, 360°] ,偏移的距離為 translateY(482.84px) ,也就是 (200 + 200√2)。

看看俯視圖:

效果圖:

圖片

CodePen Demo -- 3D View 3[5]

圖片分割

上面的示例都是使用的帶背景色的 div 塊,現(xiàn)在我們選取一張真正的圖片,將其拼接成一個柱體。

下面這張圖,大小為 3480px * 2000px :

我們把它分割為 20 份,拼成一個正 20 邊形,當(dāng)然不用一塊一塊切圖下來,利用 background-position 就可以完成了。而且分割的份數(shù)越多,最終做出來的效果越像一個圓柱,效果也更加真實。

正 20 邊形,需要 20 個 div ,假設(shè)容器是 .img-bg1 ~ .img-bg20 ,那么每塊圖片的寬度為 174px,依次需要遞增的角度為 18° ,并且我們需要計算出需要偏移的距離為 translateZ(543px)。

可以利用一些 CSS 預(yù)處理器處理這段代碼,下面是 Sass 的寫法:

  1. // Sass 的寫法 
  2. $imgCount : 20 !default
  3. @for $i from 1 through $imgCount { 
  4.     .img-bg#{$i}{ 
  5.         background-position:($i * -174px + 174px) 0; 
  6.         transform: rotateY($i * 18deg) translateZ(543px); 
  7.     } 

看看效果:

圖片

CodePen Demo -- 3D Demo[6]

可以看到,圖中近視為一個圓柱形,不過有一些小問題:

  • 選取的圖片必須是左右首尾相連的的,不然圓柱結(jié)合處會有明顯的不協(xié)調(diào),這就要求要使用這種方式制作 H5 頁面的時候,美術(shù)出的設(shè)計圖必須左右相連無違和感。
  • 另外一點就是分割的塊術(shù),圖片分割越多塊,越近視為為一個圓柱,效果更佳。

控制 control 層,進入到圓柱畫面內(nèi)

做到這一步,只剩下最后一步,就是推進我們的視角,進入到圓柱內(nèi)部,產(chǎn)生 3D 視圖的感覺。

我們通過 class 為 control 這個 div 控制這個效果,不過這里控制我們進入圓柱內(nèi)部的屬性不是調(diào)整修改 perspective 屬性,而是調(diào)整 translateZ 屬性。通過控制 translateZ 得到的畫面更加真實,可以自己嘗試一下分別控制 perspective 與 translateZ得到的效果,便會有深刻的感受。

最后的效果,整個效果圖太大,只截取了部分制作成 GIF:

圖片

Demo可以戳這里,Demo -- 3D View[7]

還有一個小問題,那就是進入到圓柱內(nèi)部之后,整個圖片都反了過來,所以我們可能需要利用PS將原圖進行一次左右翻轉(zhuǎn),這樣進入內(nèi)部之后,看到的就是原圖效果。

至此,整個頁面就算完工了,接下來的就是添加一些 touch 事件,增添一些細(xì)節(jié)??赡軐懙倪^程中遺漏了一些細(xì)節(jié),有什么很難一下理解過來的地方可以在評論留言。

最后

好了,本文到此結(jié)束,希望對你有幫助 :)

更多精彩 CSS 技術(shù)文章匯總在我的 Github -- iCSS[8] ,持續(xù)更新。

參考資料

[1]糯米-未來大學(xué) 3D View 頁面:

https://shakeduang.nuomi.com/campus/index.html?from=timeline&isappinstalled=1

[2]CodePen Demo -- 3D View:

https://codepen.io/Chokcoco/pen/mAyRGv

[3]CodePen Demo -- 3D View 2:

https://codepen.io/Chokcoco/pen/KgwqRd

[4]【CSS3進階】酷炫的3D旋轉(zhuǎn)透視:

https://www.cnblogs.com/coco1s/p/5414153.html

[5]CodePen Demo -- 3D View 3: https://codepen.io/Chokcoco/pen/WGbERo

[6]CodePen Demo -- 3D Demo:

http://chokcoco.github.io/demo/3dview/html/3dView2.html

[7]Demo -- 3D View:

http://chokcoco.github.io/demo/3dview/html/index.html

[8]Github -- iCSS:

https://github.com/chokcoco/iCSS

本文轉(zhuǎn)載自微信公眾號「iCSS前端趣聞」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系iCSS前端趣聞公眾號。

 

責(zé)任編輯:姜華 來源: iCSS前端趣聞
相關(guān)推薦

2017-07-11 15:00:04

前端CSS3D視角

2021-06-09 08:30:52

CSS33D旋轉(zhuǎn)視圖3D動畫

2021-01-05 08:10:00

Css前端3D旋轉(zhuǎn)透視

2022-02-20 14:45:33

3D動畫CSS3前端

2024-03-01 09:12:01

2023-08-04 09:56:15

2023-09-01 09:30:22

Three.js3D 圖形庫

2015-01-19 17:44:02

Cocos引擎3D特效

2012-02-24 09:11:45

jQuery

2021-08-30 06:20:39

CSS 技巧3D 效果

2023-01-31 10:23:00

CSS倒影效果

2021-11-08 06:02:17

CSS 技巧代碼重構(gòu)

2015-12-01 09:52:03

CSS3動畫源碼

2023-10-08 20:32:59

CSS定義Loading

2022-07-21 07:05:13

粒子動畫CSS

2013-01-30 16:15:40

adobeHTML5css3

2023-01-08 23:06:14

css3d變換

2023-10-04 09:36:58

3D模型

2012-05-10 10:55:03

CSS

2017-02-24 15:58:42

Android3D效果
點贊
收藏

51CTO技術(shù)棧公眾號

国产成人精品亚洲午夜麻豆| 亚洲v天堂v手机在线| 亚洲日本欧美天堂| 国产精品国产一区二区| 日韩精品1区2区| 国产精品美女久久久久久不卡| 欧美日本韩国一区二区三区视频 | 人妻夜夜添夜夜无码av| 性xxxfllreexxx少妇| 日一区二区三区| 久久成人国产精品| 少妇饥渴放荡91麻豆| 欧美电影在线观看网站| 亚洲一区二区三区免费视频| 日本一区二区三区视频免费看 | 欧美aaa在线| 久久69精品久久久久久久电影好| 久久久亚洲av波多野结衣| 亚洲日本中文| 色一情一乱一乱一91av| 九一免费在线观看| 超碰免费97在线观看| 国产精品一区二区91| 国产不卡av在线| 黄色一级片在线免费观看| 红桃成人av在线播放| 亚洲成在人线av| 97在线免费公开视频| 日韩av毛片| 国产精品成人一区二区三区夜夜夜| 国产伦精品一区二区三区照片| 亚洲天堂自拍偷拍| 久久久久看片| 69视频在线播放| 毛片a片免费观看| 四季av一区二区三区免费观看| 日韩精品视频在线免费观看| 涩视频在线观看| 中文字幕日韩亚洲| 在线观看免费成人| 男女午夜激情视频| 老牛影视精品| 亚洲第一激情av| 男人草女人视频| 最新av在线播放| 亚洲视频一区二区在线| 在线视频欧美一区| 91caoporm在线视频| 国产日韩欧美精品一区| 日韩av电影免费播放| 西西人体44www大胆无码| 国产aⅴ综合色| 99久久综合狠狠综合久久止 | 日韩在线不卡av| re久久精品视频| 国产一区二区三区精品久久久 | 亚州成人av在线| 国产一级av毛片| 黄色成人在线网站| 欧美激情一区二区三区在线视频观看| 青春草免费视频| 午夜久久久久| 97久久精品国产| 久久狠狠高潮亚洲精品| 国产欧美在线| 日本久久久久亚洲中字幕| 无码免费一区二区三区| 日韩制服丝袜av| 国产精品久久久久久久久久免费 | 精品国产乱码一区二区三区四区| 高清毛片aaaaaaaaa片| 成人免费av在线| 久久99精品久久久久久青青日本| 日韩av视屏| 国产欧美日韩视频一区二区| 神马影院我不卡| 天堂аⅴ在线地址8| 亚洲视频你懂的| 成人av在线播放观看| av丝袜在线| 色婷婷久久综合| 毛片毛片毛片毛| 国产精品色在线网站| 亚洲美女视频网站| 成人无码精品1区2区3区免费看| 综合激情视频| 午夜剧场成人观在线视频免费观看| 丰满少妇乱子伦精品看片| 久久av最新网址| 成人福利在线视频| 秋霞欧美在线观看| 久久精品网站免费观看| 资源网第一页久久久| 蜜桃成人365av| 一本大道久久a久久综合婷婷| 成人免费在线观看视频网站| 国产美女视频一区二区| 亚洲韩国日本中文字幕| 中文字幕求饶的少妇| 亚洲视频久久| 国产精品老女人精品视频| av在线资源观看| 26uuu欧美日本| 操bbb操bbb| 婷婷午夜社区一区| 日韩欧美精品在线| 女人黄色一级片| 亚洲私人影院| 91精品久久久久久久久久久| 午夜黄色小视频| 亚洲色图制服丝袜| 久久国产乱子伦免费精品| 日韩成人在线观看视频| 亚洲色图日韩av| 精品无码一区二区三区电影桃花 | 一区二区三区四区在线免费观看| 午夜肉伦伦影院| 欧美成人一级| 中国人与牲禽动交精品| 欧美特黄aaaaaa| 国产盗摄女厕一区二区三区| 亚洲精品高清视频| 888av在线视频| 欧美一区二区三区系列电影| 男人的天堂av网| 一本久久综合| a级国产乱理论片在线观看99| 午夜毛片在线| 色哟哟一区二区在线观看| 国产一级免费片| 欧美黄在线观看| 国产一区红桃视频| av在线播放免费| 色综合久久99| 中文字幕在线播放视频| 好看不卡的中文字幕| 91久久国产精品91久久性色| porn亚洲| 在线免费观看日韩欧美| 成年人免费观看视频网站| 亚洲精品1区| 国产精品一区二区三区在线 | 精品欧美一区二区精品少妇| 国产精品萝li| 美女网站视频黄色| 日韩免费视频| 国产精品稀缺呦系列在线| 免费在线高清av| 欧美日韩在线免费| 欧美丰满少妇人妻精品| 亚洲一区国产| 久久精品第九区免费观看| av影片在线| 日韩精品高清在线| 成人免费视频毛片| 91丨九色丨蝌蚪富婆spa| 日韩少妇内射免费播放18禁裸乳| 麻豆一区二区麻豆免费观看| 97精品视频在线播放| 涩涩视频免费看| 欧美小视频在线观看| 久久精品国产亚洲av麻豆| 六月天综合网| 天堂一区二区三区| 亚洲男女网站| 欧美区二区三区| 日韩中文字幕免费在线观看| 婷婷成人激情在线网| 中文在线一区二区三区| 中文精品视频| 日韩欧美亚洲在线| 亚洲aⅴ网站| 色综合天天狠天天透天天伊人 | 国产精品一区三区| 国产乱子伦精品无码专区| 白嫩白嫩国产精品| 欧美亚洲激情在线| 97视频在线观看网站| 91精品在线麻豆| 国产大片中文字幕| 久久久久久久久久看片| 欧美特黄aaa| 欧美视频四区| 欧美日韩一区二 | 色婷婷av久久久久久久| 亚洲AV成人无码网站天堂久久| 国产曰批免费观看久久久| 日韩欧美不卡在线| 国产最新精品| 成人在线观看网址| 欧美成a人片在线观看久| 久久精品国产电影| 天天操天天插天天射| 欧美在线啊v一区| 免费网站观看www在线观| 久久亚洲精品小早川怜子| 亚洲视频一二三四| 99精品视频免费全部在线| 特级西西444www大精品视频| 日韩精品一区二区三区中文| 欧美亚洲激情在线| 制服丝袜在线播放| 亚洲性69xxxbbb| 性少妇videosexfreexxx片| 91福利小视频| 久久久久久久福利| 国产精品久久三区| 国内精品久久99人妻无码| 国产一区二三区| 黑森林福利视频导航| 欧美日韩三级| 亚洲国产一区二区三区在线 | 欧美日韩亚洲一区二区三区四区| 国产日韩中文在线中文字幕| 日韩av电影中文字幕| 欧美寡妇性猛交xxx免费| 色噜噜狠狠色综合网图区| 香蕉视频黄色片| 精品国产欧美一区二区| 国产精品毛片一区二区在线看舒淇 | 国产一区二区三区四区福利| 国产精品久久久久久免费| 色吊一区二区三区| 成年免费在线观看| 亚洲精品一卡二卡| 香蕉成人在线视频| 国产欧美日产一区| 波多野结衣 在线| www.欧美色图| 国产欧美视频一区| 国产一区欧美日韩| 中文字幕成人免费视频| 日本不卡一二三区黄网| 日本成年人网址| 欧美网站在线| 免费在线精品视频| 天天影视天天精品| 亚洲一区二区在线免费观看| av伊人久久| 日本一区精品| 国内精品久久久久久99蜜桃| 欧美精品123| 亚洲伊人春色| 蜜桃传媒视频麻豆第一区免费观看 | 久久中文字幕国产| 日本在线免费| 色偷偷88888欧美精品久久久| 欧美日本网站| 亚洲欧美综合图区| 日本韩国一区| 亚洲香蕉在线观看| 福利视频在线导航| 视频在线观看99| 超碰国产在线观看| www.亚洲男人天堂| 精品黄色免费中文电影在线播放| 久久久国产精彩视频美女艺术照福利 | 99热在线播放| 亚洲大奶少妇| 国产高清自拍一区| 亚洲综合网站| 国产一区再线| 先锋影音国产精品| 日韩欧美亚洲日产国| 97久久夜色精品国产| 中国女人做爰视频| 国产综合亚洲精品一区二| 久久国产精品视频在线观看| 中文一区在线| 国产精品乱码久久久久| 六月丁香婷婷色狠狠久久| 午夜视频在线观| 国产69精品久久久久777| 人体私拍套图hdxxxx| 国产亚洲成年网址在线观看| 欧美成人短视频| 亚洲精品中文字幕乱码三区| 91午夜视频在线观看| 色久优优欧美色久优优| 91亚洲国产成人久久精品麻豆| 5566中文字幕一区二区电影| 亚洲男女视频在线观看| 亚洲精品在线91| 91精彩在线视频| 久久91精品国产| 亚洲天堂免费电影| 国产伦精品免费视频| 91精品国产自产在线丝袜啪| 免费看污久久久| 亚洲综合五月| 国模吧无码一区二区三区| 美国一区二区三区在线播放 | 国产成人精选| 99免费在线视频观看| 国内黄色精品| 东北少妇不带套对白| 日韩av中文字幕一区二区三区| 秋霞午夜鲁丝一区二区| 国产偷国产偷精品高清尤物| 欧美成人aaa片一区国产精品| 色偷偷久久人人79超碰人人澡| 国产理论片在线观看| 亚洲精品一区二区在线| 中文在线字幕免费观看| 国产suv精品一区二区| 亚洲天堂av资源在线观看| 日韩hmxxxx| 中日韩视频在线观看| 成人一区二区三区仙踪林| 国产亚洲一区二区三区在线观看 | 黄色av网站在线| 欧美麻豆久久久久久中文| 春暖花开亚洲一区二区三区| 成人免费视频观看视频| 91免费精品| 国产一区视频免费观看| 不卡高清视频专区| 午夜激情福利网| 欧美日韩美女一区二区| 欧美捆绑视频| 国内精品久久久久影院优| 亚州欧美在线| 亚洲高清视频在线观看| 国产精品久久久久毛片大屁完整版 | 综合在线一区| 韩国日本美国免费毛片| 不卡av电影在线播放| 欧美成人精品欧美一级| 欧美精品亚洲一区二区在线播放| 台湾av在线二三区观看| 欧美激情视频在线| 欧美区一区二区| 色中文字幕在线观看| 免费观看在线色综合| 欧美黄色激情视频| 色网站国产精品| 男人久久精品| 日本免费一区二区三区视频观看| 精品综合久久88少妇激情| 男人添女人荫蒂免费视频| 国产成人精品www牛牛影视| 色婷婷在线视频观看| 在线成人高清不卡| 免费a在线看| 91免费精品视频| 亚洲成人免费| 亚洲制服在线观看| 亚洲免费观看高清完整版在线观看 | 欧美三级三级| 日韩一级免费在线观看| 久久久国产精华| 天天天天天天天干| 在线免费看av不卡| 97久久网站| 正在播放91九色| 国内不卡的二区三区中文字幕| 性欧美一区二区| 欧美视频三区在线播放| 91精品专区| 91在线免费网站| 国产精品chinese| 三级视频网站在线观看| 欧美日韩一区二区三区在线免费观看 | 91成人国产精品| 国际av在线| 国产精品久久久久久网站 | 成人美女在线观看| 97人人澡人人爽人人模亚洲| 国产午夜精品久久久| 素人啪啪色综合| 欧美一级免费在线观看| 国产成人精品免费看| 少妇太紧太爽又黄又硬又爽| 亚洲人高潮女人毛茸茸| 亚洲精品伦理| 国产尤物av一区二区三区| 久久综合久久综合久久综合| 中文字幕在线观看免费| 欧美人交a欧美精品| 视频福利一区| 奇米视频7777| 亚洲高清不卡在线| 国产一级片在线播放| 91免费看片在线| 国产精品入口| 男人的午夜天堂| 亚洲丁香久久久| 成人激情视屏| 18黄暴禁片在线观看| 久久久久国产成人精品亚洲午夜| ,亚洲人成毛片在线播放| 欧美大片第1页| 不卡中文字幕| 亚洲图片欧美另类| 欧美无人高清视频在线观看| 手机在线免费看av| 午夜欧美一区二区三区免费观看| 国产高清成人在线| 无码人妻精品一区二区三区9厂| 久久艳片www.17c.com|