国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

巧用漸變實(shí)現(xiàn)高級(jí)感拉滿的背景光動(dòng)畫

開(kāi)發(fā) 前端
本文,會(huì)帶來(lái)另外一個(gè)有意思的效果,巧用漸變實(shí)現(xiàn)高級(jí)感拉滿的背景光動(dòng)畫。這個(gè)效果想利用 CSS 完全復(fù)制是比較困難的。CSS 模擬出來(lái)的光效陰影相對(duì)會(huì) Low 一點(diǎn),只能說(shuō)是盡量還原。

[[434959]]

背景

在上一篇 巧用濾鏡實(shí)現(xiàn)高級(jí)感拉滿的文字快閃切換效果[1] 中,我們提到了一種非常有意思的之前蘋果展示文字的動(dòng)畫效果。

本文,會(huì)帶來(lái)另外一個(gè)有意思的效果,巧用漸變實(shí)現(xiàn)高級(jí)感拉滿的背景光動(dòng)畫。此效果運(yùn)用在蘋果官網(wǎng) iPhone 13 Pro[2] 的介紹頁(yè)中:

[[434960]]

實(shí)現(xiàn)

這個(gè)效果想利用 CSS 完全復(fù)制是比較困難的。CSS 模擬出來(lái)的光效陰影相對(duì)會(huì) Low 一點(diǎn),只能說(shuō)是盡量還原。

其實(shí)每組光都基本是一樣的,所以我們只需要實(shí)現(xiàn)其中一組,就幾乎能實(shí)現(xiàn)了整個(gè)效果。

觀察這個(gè)效果:

它的核心其實(shí)就是角向漸變 -- conic-gradient(),利用角向漸變,我們可以大致實(shí)現(xiàn)這樣一個(gè)效果:

  1. <div></div> 
  1. div { 
  2.     width: 1000px; 
  3.     height: 600px; 
  4.     background: 
  5.         conic-gradient( 
  6.             from -45deg at 400px 300px, 
  7.             hsla(170deg, 100%, 70%, .7), 
  8.             transparent 50%, 
  9.             transparent), 
  10.             linear-gradient(-45deg, #060d5e, #002268); 

看看效果:

有點(diǎn)那意思了。當(dāng)然,仔細(xì)觀察,漸變的顏色并非是由一種顏色到透明就結(jié)束了,而是顏色 A -- 透明 -- 顏色 B,這樣,光源的另一半并非就不會(huì)那么生硬,改造后的 CSS 代碼:

  1. div { 
  2.     width: 1000px; 
  3.     height: 600px; 
  4.     background: 
  5.         conic-gradient( 
  6.             from -45deg at 400px 300px, 
  7.             hsla(170deg, 100%, 70%, .7), 
  8.             transparent 50%, 
  9.             hsla(219deg, 90%, 80%, .5) 100%), 
  10.             linear-gradient(-45deg, #060d5e, #002268); 

我們?cè)诮窍驖u變的最后多加了一種顏色,得到觀感更好的一種效果:

emm,到這里,我們會(huì)發(fā)現(xiàn),僅僅是角向漸變 conic-gradient() 是不夠的,它無(wú)法模擬出光源陰影的效果,所以必須再借助其他屬性實(shí)現(xiàn)光源陰影的效果。

這里,我們會(huì)很自然的想到 box-shadow。這里有個(gè)技巧,利用多重 box-shadow, 實(shí)現(xiàn) Neon 燈的效果。

我們?cè)偌觽€(gè) div,通過(guò)它實(shí)現(xiàn)光源陰影:

  1. <div class="shadow"></div> 
  1. .shadow { 
  2.     width: 200px; 
  3.     height: 200px; 
  4.     background: #fff; 
  5.     box-shadow:  
  6.         0px 0 .5px hsla(170deg, 95%, 80%, 1), 
  7.         0px 0 1px hsla(170deg, 91%, 80%, .95), 
  8.         0px 0 2px hsla(171deg, 91%, 80%, .95), 
  9.         0px 0 3px hsla(171deg, 91%, 80%, .95), 
  10.         0px 0 4px hsla(171deg, 91%, 82%, .9), 
  11.         0px 0 5px hsla(172deg, 91%, 82%, .9), 
  12.         0px 0 10px hsla(173deg, 91%, 84%, .9), 
  13.         0px 0 20px hsla(174deg, 91%, 86%, .85), 
  14.         0px 0 40px hsla(175deg, 91%, 86%, .85), 
  15.         0px 0 60px hsla(175deg, 91%, 86%, .85); 

OK,光是有了,但問(wèn)題是我們只需要一側(cè)的光,怎么辦呢?裁剪的方式很多,這里,我介紹一種利用 clip-path 進(jìn)行對(duì)元素任意空間進(jìn)行裁切的方法:

  1. .shadow { 
  2.     width: 200px; 
  3.     height: 200px; 
  4.     background: #fff; 
  5.     box-shadow: .....; 
  6.     clip-path: polygon(-100% 100%, 200% 100%, 200% 500%, -100% 500%); 

原理是這樣的:

這樣,我們就得到了一側(cè)的光:

這里,其實(shí) CSS 也是有辦法實(shí)現(xiàn)單側(cè)陰影的(你所不知道的 CSS 陰影技巧與細(xì)節(jié)[3]),但是實(shí)際效果并不好,最終采取了上述的方案。

接下來(lái),就是利用定位、旋轉(zhuǎn)等方式,將上述單側(cè)光和角向漸變重疊起來(lái),我們就可以得到這樣的效果:

這會(huì),已經(jīng)挺像了。接下來(lái)要做的就是讓整個(gè)圖案,動(dòng)起來(lái)。這里技巧也挺多的,核心還是利用了 CSS @Property,實(shí)現(xiàn)了角向漸變的動(dòng)畫,并且讓光動(dòng)畫和角向漸變重疊起來(lái)。

我們需要利用 CSS @Property 對(duì)代碼漸變進(jìn)行改造,核心代碼如下:

  1. <div class="wrap"
  2.     <div class="shadow"></div> 
  3. </div> 

  1. @property --xPoint { 
  2.   syntax: '<length>'
  3.   inherits: false
  4.   initial-value: 400px; 
  5. @property --yPoint { 
  6.   syntax: '<length>'
  7.   inherits: false
  8.   initial-value: 300px; 
  9.  
  10. .wrap { 
  11.     position: relative
  12.     margin: auto; 
  13.     width: 1000px; 
  14.     height: 600px; 
  15.     background: 
  16.         conic-gradient( 
  17.             from -45deg at var(--xPoint) var(--yPoint), 
  18.             hsla(170deg, 100%, 70%, .7), 
  19.             transparent 50%, 
  20.             hsla(219deg, 90%, 80%, .5) 100%), 
  21.             linear-gradient(-45deg, #060d5e, #002268); 
  22.     animation: pointMove 2.5s infinite alternate linear; 
  23.  
  24. .shadow { 
  25.     position: absolute
  26.     top: -300px; 
  27.     left: -330px; 
  28.     width: 430px; 
  29.     height: 300px; 
  30.     background: #fff; 
  31.     transform-origin: 100% 100%; 
  32.     transform: rotate(225deg); 
  33.     clip-path: polygon(-100% 100%, 200% 100%, 200% 500%, -100% 500%); 
  34.     box-shadow: ... 此處省略大量陰影代碼; 
  35.     animation: scale 2.5s infinite alternate linear; 
  36.   
  37. @keyframes scale { 
  38.     50%, 
  39.     100% { 
  40.         transform: rotate(225deg) scale(0); 
  41.     } 
  42.  
  43. @keyframes pointMove { 
  44.     100% { 
  45.         --xPoint: 100px; 
  46.         --yPoint: 0; 
  47.     } 

這樣,我們就實(shí)現(xiàn)了完整的一處光的動(dòng)畫:

我們重新梳理一下,實(shí)現(xiàn)這樣一個(gè)動(dòng)畫的步驟:

  1. 利用角向漸變 conic-gradient 搭出基本框架,并且,這里也利用了多重漸變,角向漸變的背后是深色背景色;
  2. 利用多重 box-shadow 實(shí)現(xiàn)光及陰影的效果(又稱為 Neon 效果)
  3. 利用 clip-path 對(duì)元素進(jìn)行任意區(qū)域的裁剪
  4. 利用 CSS @Property 實(shí)現(xiàn)漸變的動(dòng)畫效果

剩下的工作,就是重復(fù)上述的步驟,補(bǔ)充其他漸變和光源,調(diào)試動(dòng)畫,最終,我們就可以得到這樣一個(gè)簡(jiǎn)單的模擬效果:

由于原效果是 .mp4,無(wú)法拿到其中的準(zhǔn)確顏色,無(wú)法拿到陰影的參數(shù),其中顏色是直接用的色板取色,陰影則比較隨意的模擬了下,如果有源文件,準(zhǔn)確參數(shù),可以模擬的更逼真。

完整的代碼你可以戳這里:CodePen -- iPhone 13 Pro Gradient[4]

最后

本文更多的是圖一樂(lè)呵,實(shí)際中制作上述效果肯定是有更為優(yōu)雅的解法,并且利用 CSS 模擬的話,也應(yīng)該有更好的方法,這里我僅僅是拋磚引玉,過(guò)程中的 1、2、3、4 技巧本身有一些還是值得借鑒學(xué)習(xí)的。

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

參考資料

[1]巧用濾鏡實(shí)現(xiàn)高級(jí)感拉滿的文字快閃切換效果:

https://github.com/chokcoco/iCSS/issues/149

[2]蘋果官網(wǎng) iPhone 13 Pro: 巧用漸變實(shí)現(xiàn)高級(jí)感拉滿的背景光動(dòng)畫

[3]你所不知道的 CSS 陰影技巧與細(xì)節(jié):

https://github.com/chokcoco/iCSS/issues/39

[4]CodePen -- iPhone 13 Pro Gradient:

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

 

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

2022-01-07 07:35:28

CSS 技巧磨砂玻璃

2021-11-09 08:30:48

CSS 技巧巧用濾鏡

2023-06-07 10:41:43

2021-04-16 05:54:05

CSS 文字動(dòng)畫技巧

2023-06-05 09:28:32

CSS漸變

2023-06-27 09:33:15

Loading 動(dòng)畫CSS

2022-01-13 07:04:54

CSS 技巧Loading 動(dòng)畫

2020-12-24 08:37:41

Css前端加載動(dòng)畫

2022-01-28 09:01:49

架構(gòu)

2022-08-11 09:30:52

transitionCSS

2022-02-16 08:21:28

CSS三角邊框動(dòng)畫SVG

2024-01-12 17:06:50

字節(jié)面試題目

2021-08-05 23:09:53

前端程序員CSS

2022-02-28 07:02:51

CSS二維碼前端
點(diǎn)贊
收藏

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

电影一区中文字幕| 国产精品久久久久三级| 999国内精品视频在线| 成人久久综合| 精品国产乱码一区二区三区四区| 亚洲欧美卡通另类91av| 一区二区三区一级片| 久久先锋影音av| 最新黄色片网站| 欧美三级日韩三级| 美女网站在线看| 国语自产精品视频在线看| 爽成人777777婷婷| 日本在线观看一区| 国产午夜精品福利| 青青免费在线视频| 亚洲精品wwwww| jizz性欧美23| 国产精品一区二区你懂得| 国产酒店精品激情| 国产成人午夜精品| 在线成人午夜影院| www.久久99| 99国产高清| 91麻豆国产在线观看| 国产在线观看网站| 久久精品视频在线观看| 五月激情久久久| 菠萝蜜视频在线观看入口| 亚洲免费高清视频在线| 岛国片av在线| 国产精品美乳一区二区免费 | 日韩一区二区欧美| 九九综合九九| 中文字幕欧美日韩一区二区| 国产精品久久久久婷婷二区次| 日本亚洲一区| 久久久国产91| 中文一区在线| 九七影院理伦片| 亚洲国产欧美一区二区三区同亚洲 | 色爽爽爽爽爽爽爽爽| 亚洲免费观看高清完整版在线观看| 日韩另类在线| 国产精品免费电影| 国产99久久久国产精品潘金| 日本国产在线| 韩国欧美亚洲国产| 国产麻豆欧美日韩一区| 国产高清自拍视频在线观看| 九九热这里只有精品免费看| 日韩av一区二区三区| bdsm精品捆绑chinese| 久久精品99久久香蕉国产色戒| 国产欧美亚洲一区| 在线激情视频| 欧美激情a在线| 国内外成人在线| 日本成人网址| 国产美女91呻吟求| 中文字幕精品一区| 久久野战av| 亚洲欧洲一区二区| 欧美日韩精品一区二区三区| 国产亚洲一区二区三区啪 | 国产精品美女久久久久久久久久久| 波多一区二区| 国产欧美日韩视频一区二区三区| 国产精品网站在线播放| 国产精品第一国产精品| 日韩av一区二区三区在线| 亚洲成人av中文| 极品束缚调教一区二区网站| 欧美久久久久久久久久久久久| 日韩一区二区在线观看视频 | 欧美精品久久一区二区三区| 久久精品国产99久久| 四虎成人在线视频| 久久国产加勒比精品无码| 国产成人aaa| 国模套图日韩精品一区二区| 麻豆亚洲一区| 欧美日韩一区二区三区四区五区 | 午夜国产福利在线| 亚洲a级在线播放观看| 亚洲摸摸操操av| 久久久久久毛片免费看| 黄色免费网址大全| 国产做受高潮69| 国产日韩精品一区二区浪潮av| 在线播放成人| 五月婷婷狠狠操| 欧美激情xxxx性bbbb| 久久婷婷国产综合精品青草| 国产亚洲字幕| www.亚洲高清| 日本精品在线视频| 亚洲成人免费观看| 亚洲九九视频| 国产露出视频在线观看| 国产精品制服诱惑| 欧美一二三四在线| 久久国产精品99精品国产| 成人免费短视频| 好吊妞无缓冲视频观看| 精品国产一区二区三区久久久| 久久亚洲综合av| 久久久久97| 伊人国产在线看一| 国产日韩欧美综合精品| 日韩一区二区影院| 国产精品一区专区| 午夜日韩影院| 日本高清视频网站www| 成人激情视频小说免费下载| 欧美日韩你懂的| 激情欧美一区二区| 欧美高清一级片| 污黄视频在线看| 精品综合久久| 亚洲欧美国产精品| 久久精品欧美日韩精品| 九一国产精品| 午夜在线免费观看视频| 韩国黄色一级大片| 国内外成人免费激情在线视频| 午夜精品在线看| 久久久天天操| 日本精品视频| 经典三级在线| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 一级黄色特级片| 国产欧洲精品视频| 欧美巨大另类极品videosbest | 99久久国产综合精品成人影院| 欧美另类极品| a级免费在线观看| 日韩暖暖在线视频| 欧美一区二区三区在线视频| 91免费视频网址| 亚洲高清影视| 久久91导航| 亚洲视频精品在线观看| 97超碰人人爱| 国产欧美在线看| 一本大道亚洲视频| 欧美日韩色婷婷| 成人av网站在线观看| 图片小说视频色综合| 日本美女久久| 阿v免费在线观看| 国产黄色特级片| 狠狠色综合一区二区| 欧美成年人视频网站欧美| 在线免费精品视频| 91理论电影在线观看| 一区二区国产精品| 精品丝袜久久| 福利成人导航| 免费观看v片在线观看| 2021国产视频| 91在线在线观看| 欧美成人免费观看| 91精品国产一区二区三区| 1区2区3区精品视频| 国内成人精品2018免费看| 亚洲字幕久久| 日韩中文字幕在线一区| av成人福利| 成人午夜在线观看视频| 97影院理论片在线播放| 国产在线视频综合| 成人欧美一区二区三区在线观看 | 亚洲精品555| 国产福利片在线| 欧美黄色一级片视频| 亚洲精品第一区二区三区| 国产精品成人免费电影| 日韩在线播放av| 欧美大片顶级少妇| 亚洲成av人片在线观看无码| 久久综合视频网| 精品影院一区二区久久久| 欧美人成在线| 精品久久视频| 国产区精品视频在线观看豆花| 在线能看的av网址| 超碰在线观看免费| 国内av一区二区三区| 97在线观看免费高清视频| 99久久久无码国产精品6| 在线视频不卡一区二区| 精品一区二区三区免费毛片| 国产热re99久久6国产精品| 久久久久久久一区二区三区| 中文综合在线观看| 亚洲欧洲在线播放| 亚洲国产欧美日韩精品| 日韩欧美中文字幕制服| 777色狠狠一区二区三区|