精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

午夜影院福利社| 亚洲精品一区二区三区樱花| 精品成人av一区二区在线播放| 牛牛精品成人免费视频| 色av综合在线| 日本xxxxx18| 日本私人网站在线观看| 久久成人综合网| 国语自产精品视频在免费| 欧美熟妇激情一区二区三区| 色妞ww精品视频7777| 色综合天天性综合| 99热这里只有精品免费| 国产小视频在线| 国产成人一区在线| 国产精品久久久久9999| 国产真人真事毛片| 欧美r级电影| 日韩av影院在线观看| 91网址在线观看精品| 97成人资源| 一区二区三区高清在线| 亚洲国产精品一区在线观看不卡| 黄色片网站免费在线观看| 久久精品国产免费看久久精品| 97人人做人人爱| 69av视频在线| 97精品在线| 影音先锋欧美精品| 亚洲AV无码国产精品| 日韩成人久久| 制服丝袜av成人在线看| 爱情岛论坛亚洲首页入口章节| japanese色国产在线看视频| 亚洲天堂精品视频| 性欧美精品一区二区三区在线播放 | 国产成人美女视频| 欧美xo影院| 日韩欧美亚洲国产一区| 国自产拍偷拍精品啪啪一区二区| av在线导航| ㊣最新国产の精品bt伙计久久| 色中色综合成人| 久香视频在线观看| 91麻豆免费视频| 精品亚洲第一| 水莓100国产免费av在线播放| 粉嫩欧美一区二区三区高清影视 | 91成年人视频| 久久精品国产一区二区| 国产美女精品视频| 亚洲天堂777| 麻豆国产精品视频| 国产免费观看久久黄| 中文字幕在线观看免费| 免费视频最近日韩| 国产区亚洲区欧美区| 亚洲永久精品视频| 九九视频精品免费| 亚洲va欧美va国产综合剧情| 国产乱淫片视频| 国产剧情在线观看一区二区| 91在线免费看片| 亚洲免费国产视频| 91亚洲永久精品| 欧美日韩综合网| 中文字幕在线视频区| 亚洲欧洲一区二区在线播放| 男人日女人的bb| 97天天综合网| 色88888久久久久久影院野外| 亚洲成人av免费看| 超碰国产精品一区二页| 日韩视频123| 特大黑人巨人吊xxxx| 欧美三级美国一级| 超碰日本道色综合久久综合| 久久精品视频6| 午夜亚洲性色福利视频| 国产精品久久久久9999| 99精品国产99久久久久久97| 成人激情文学综合网| 欧美日韩天天操| 在线国产91| 亚洲aaa精品| 杨幂毛片午夜性生毛片 | 岛国片av在线| 欧美日韩国产观看视频| 久久99精品久久久久久国产越南| 亚洲一区免费网站| 无码精品在线观看| 国产精品高潮呻吟| 久久av综合网| a屁视频一区二区三区四区| 日韩一区二区免费在线观看| 青青草成人免费视频| 先锋资源久久| 欧美一区二区三区精品电影| 97人妻精品一区二区三区软件| 成人三级在线视频| 四虎永久在线精品免费一区二区| 最新av在线播放| 色偷偷88欧美精品久久久| 天天干天天曰天天操| 亚洲永久精品唐人导航网址| 久久国产精品久久久久| 91精品国产高清一区二区三密臀| 韩国成人福利片在线播放| 久久超碰亚洲| a视频在线观看| 欧美日韩一区二区三区不卡| 国产又黄又粗又猛又爽的视频| 久久久9色精品国产一区二区三区| 欧美重口另类videos人妖| 99精品视频免费看| 国产精品久久二区二区| 1024精品视频| 999国产精品一区| 久久人人爽人人爽人人片亚洲| 国产精品久久久久久久久夜色| 成人激情综合网站| 国产91porn| 欧洲午夜精品| 最近2019中文字幕mv免费看| 免费污污视频在线观看| 99re免费视频精品全部| 男人添女人下部视频免费| 亚洲aⅴ网站| 中文字幕日韩免费视频| 久久青青草原亚洲av无码麻豆 | 粉嫩老牛aⅴ一区二区三区| 91精品视频国产| 久久中文字幕av| 国产精品青青在线观看爽香蕉 | 欧美极品xxx| 日本黄色三级大片| 欧美色图婷婷| 国模精品视频一区二区三区| 丰满人妻av一区二区三区| 亚洲精品欧美综合四区| 久久久久久综合网| 国产电影一区二区在线观看| 国产免费观看久久黄| av播放在线| 色婷婷久久99综合精品jk白丝| 给我看免费高清在线观看| 国产视频一区欧美| 久久久久久久久久久久久久一区| a毛片不卡免费看片| 亚洲国产高潮在线观看| 日韩成人免费观看| 久久综合久色欧美综合狠狠| 免费在线激情视频| 奇米色欧美一区二区三区| 国产成人综合亚洲| 91网在线播放| 欧美精品色一区二区三区| 秋霞欧美一区二区三区视频免费| 国产一区二区精品在线观看| 在线观看17c| 超碰成人在线免费| 欧美一级片在线播放| 黄色片视频在线观看| 欧洲亚洲国产日韩| 波多野结衣久久久久| 国产91在线看| 一女被多男玩喷潮视频| 久久av免费| 成人情趣片在线观看免费| 在线三级电影| 日韩精品免费视频| 中国一区二区视频| 亚洲一线二线三线久久久| 一本色道综合久久欧美日韩精品| 天堂一区二区在线| 26uuu成人| 国产乱人伦精品一区| 国产成人精品999| 国产激情视频在线观看| 欧美精品一区二区高清在线观看| 欧美成人一区二区三区四区| 国产精品久久久久久久裸模| 女同性αv亚洲女同志| 先锋影音久久| 99精品视频网站| 欧美韩一区二区| 国产在线播放一区二区三区| 91精品综合视频| sis001亚洲原创区| 中文一区二区视频| 亚洲免费黄色片| 91国产免费看| 久草视频免费播放| 国产女人水真多18毛片18精品视频| 人妻换人妻仑乱| 久久久久国产一区二区| 日本天堂免费a| 黑人操亚洲人| 国产精品一级久久久| 99久久伊人| 97精品视频在线观看| 黄网站免费在线播放| 亚洲欧美另类国产| 亚洲AV无码精品自拍| 欧美日韩一区二区三区高清| 亚洲欧美在线观看视频| 亚洲欧洲精品一区二区精品久久久| 国产原创剧情av| 国产一区二区三区视频在线播放| 国产a视频免费观看| 国内在线观看一区二区三区| 亚洲午夜精品福利| 丝袜久久网站| 国产伦理一区二区三区| 九九99久久精品在免费线bt| 国产成人激情小视频| 操人在线观看| 欧美黄色片在线观看| 国内精品久久久久久野外| 亚洲欧洲偷拍精品| 深夜福利视频网站| 日韩免费成人网| 国产欧美日韩综合精品一区二区三区| 一本大道av一区二区在线播放| 国产又大又黑又粗免费视频| 亚洲男人的天堂在线aⅴ视频| 97在线观看免费视频| 久久综合久久鬼色| 欧美成人三级伦在线观看| 成人av电影免费在线播放| 亚洲高清av一区二区三区| 精品在线观看视频| 在线免费观看视频黄| 日本不卡不码高清免费观看| 天天摸天天碰天天添| 久久成人一区| 欧美日韩大尺度| 日韩成人精品在线观看| 三级在线免费看| 秋霞国产午夜精品免费视频| 欧美成人精品欧美一级乱| 久久精品日产第一区二区| 国产成人无码a区在线观看视频| 亚洲电影av| 九色在线视频观看| 香蕉亚洲视频| 国产成人精品无码播放| 日韩精品色哟哟| 亚洲 激情 在线| 激情久久五月天| 五月天六月丁香| 国产超碰在线一区| 亚洲少妇中文字幕| av网站一区二区三区| 无码人妻精品一区二区三区温州| av在线综合网| 欧美老熟妇乱大交xxxxx | av免费观看久久| 红杏一区二区三区| 欧美精品123| 欧美艳星介绍134位艳星| 一卡二卡3卡四卡高清精品视频| 亚洲女同一区| 欧洲精品一区二区三区久久| 久久国产精品久久w女人spa| 日本新janpanese乱熟| 狠狠色伊人亚洲综合成人| 中文字幕一区二区三区人妻在线视频| 成人av网址在线| 一区二区精品免费| 亚洲六月丁香色婷婷综合久久 | 欧美日韩二区三区| 性一交一乱一乱一视频| 日韩精品极品在线观看播放免费视频| 黄色片免费在线| 美女视频久久黄| 都市激情亚洲一区| 成人啪啪免费看| 丝袜连裤袜欧美激情日韩| 亚洲一区免费看| 激情久久久久久久| 色综合天天色综合| 成人免费观看视频| 五月天精品在线| 亚洲国产精品一区二区久久| 波多野结衣高清视频| 日韩精品影音先锋| 久久久久久久影视| 欧美日韩第一视频| 国产一区二区精品调教| 国产福利一区二区三区在线观看| 国产探花一区在线观看| 男人天堂a在线| 麻豆专区一区二区三区四区五区| 久久久久无码国产精品一区李宗瑞| 国产日韩欧美电影| 国产一卡二卡在线播放| 欧美日韩精品欧美日韩精品一 | 久久精品欧美一区二区三区麻豆| 日本黄色片免费观看| 欧美日韩久久久久| 国产内射老熟女aaaa∵| 欧美aaaaaaaa牛牛影院| 蜜桃传媒视频第一区入口在线看| 我不卡神马影院| 无码人妻精品一区二区三区66| 国产成人精品综合在线观看| 91社区视频在线观看| 精品久久久久久久久久久| www.色亚洲| 日韩一区视频在线| gay欧美网站| 国产精品久久7| 亚洲深深色噜噜狠狠爱网站| 韩国中文字幕av| 久久免费美女视频| 日韩精品在线免费看| 日韩欧美一区二区视频| 男人影院在线观看| 国产成人精品一区二区在线| 欧美一区自拍| 国产va亚洲va在线va| 国产精一品亚洲二区在线视频| 色www亚洲国产阿娇yao| 色一区在线观看| 免费一级在线观看| 97在线观看免费高清| 丁香婷婷成人| 欧美性潮喷xxxxx免费视频看| 国产精品1区2区3区| 国产真实乱在线更新| 9191国产精品| 精品国产白色丝袜高跟鞋| 国产精品久久激情| 精品国产乱码久久久| 国产一级片黄色| 久久久久亚洲综合| 日韩电影在线观看一区二区| 日韩精品免费在线视频| 一区二区三区电影大全| 久久久一本精品99久久精品66| 国产精品女主播一区二区三区| 国产肉体xxxx裸体784大胆| 天天射综合影视| 日韩av免费观影| 日韩暖暖在线视频| 欧美老女人另类| 嫩草视频免费在线观看| 亚洲丝袜另类动漫二区| 精品国产亚洲一区二区麻豆| 欧美国产日韩在线| 成人午夜大片| 欧美老熟妇喷水| 国产三级一区二区三区| 在线不卡免费视频| 久久精品精品电影网| 136国产福利精品导航网址应用| 男女日批视频在线观看| 91丨九色丨蝌蚪富婆spa| 精品久久久久久久久久久国产字幕| 伊是香蕉大人久久| 国产一区二区三区视频在线 | 少妇视频在线播放| 777久久久精品| 成人福利影视| 欧美亚洲免费高清在线观看| 蜜臀国产一区二区三区在线播放| www色aa色aawww| 欧美精品一区二区高清在线观看| 色综合桃花网| 亚洲欧洲久久| 国产·精品毛片| 黄色一级视频免费看| 久久久999精品视频| 精品资源在线| jizzzz日本| 亚洲午夜久久久| 成全电影播放在线观看国语| 亚洲精品免费网站| 亚洲一区二区三区免费在线观看| 亚洲精品91在线| 精品日韩欧美在线| 欧美性猛交xxx高清大费中文| a级黄色片网站| 99re在线视频这里只有精品| 国产又黄又猛又爽| 性欧美xxxx视频在线观看| 久久香蕉国产| 成人午夜精品无码区| 欧美日韩精品欧美日韩精品一| 国产黄色大片在线观看| 日韩精品久久久免费观看| 国产大片一区二区| 探花国产精品一区二区| 欧美黑人一级爽快片淫片高清| 日韩精品91| 日韩网站在线播放| 欧美一区午夜视频在线观看| 国产一区二区三区朝在线观看| 久久99久久久久久|