成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用純 CSS 生成火焰?不在話下

開發(fā) 前端
今天的小技巧是使用純 CSS 生成火焰,逼真一點(diǎn)的火焰。

之前的一篇比較有意思的文章,抄抄冷飯。但是本身內(nèi)容并不過時~

今天的小技巧是使用純 CSS 生成火焰,逼真一點(diǎn)的火焰。

嗯,長什么樣子?在 CodePen 上輸入關(guān)鍵字 CSS Fire,能找到這樣的:

或者這樣的:

 å›¾ç‰‡

我們希望,僅僅使用 CSS ,效果能再更進(jìn)一步嗎?能不能是這樣子:

图片

如何實(shí)現(xiàn)

嗯,我們需要使用 filter + mix-blend-mode 的組合來完成。

  • 很多 CSS 華而不實(shí)的效果都是 filter + mix-blend-mode,很有意思,但是業(yè)務(wù)中根本用不上,當(dāng)然多了解了解總沒壞處。

如上圖,整個蠟燭的骨架, 除去火焰的部分很簡單,掠過不講。主要來看看火焰這一塊如何生成,并且如何賦予動畫效果。

Step 1: filter blur && filter contrast

模糊濾鏡疊加對比度濾鏡產(chǎn)生的融合效果。

單獨(dú)將兩個濾鏡拿出來,它們的作用分別是:

filter: blur():給圖像設(shè)置高斯模糊效果。

filter: contrast():調(diào)整圖像的對比度。

但是,當(dāng)他們“合體”的時候,產(chǎn)生了奇妙的融合現(xiàn)象。

先來看一個簡單的例子:

 å›¾ç‰‡

仔細(xì)看兩圓相交的過程,在邊與邊接觸的時候,會產(chǎn)生一種邊界融合的效果,通過對比度濾鏡把高斯模糊的模糊邊緣給干掉,利用高斯模糊實(shí)現(xiàn)融合效果。

利用上述 filter blur & filter contrast,我們要先生成一個類似火焰形狀的三角形。(略去過程)

  • 這里類似火焰形狀的三角形的具體實(shí)現(xiàn)過程,在這篇文章有詳細(xì)的講解:你所不知道的 CSS 濾鏡技巧與細(xì)節(jié)[1]

父元素添加 filter: blur(5px) contrast(20),會變成這樣:

Step 2: 火焰粒子動畫

看著已經(jīng)有點(diǎn)樣子了,接下來是火焰動畫,我們先去掉父元素的 filter: blur(5px) contrast(20) ,然后繼續(xù) 。

這里也是利用了 filter 的融合效果,我們在上述火焰中,利用 SASS 隨機(jī)均勻分布大量大小不一的圓形棕色 div ,隱匿在火焰三角內(nèi)部,大概是這樣:

接下來,我們再利用 SASS,給中間每個小圓賦予一個從下往上逐漸消失的動畫,并且均勻賦予不同的 animation-delay,看起來會是這樣:

 å›¾ç‰‡

OK,最重要的一步,我們再把父元素的 filter: blur(5px) contrast(20) 打開,神奇的火焰效果就出來了:

 å›¾ç‰‡

Step 3: mix-blend-mode 潤色

當(dāng)然,上述效果已經(jīng)很不錯了。經(jīng)過各種嘗試,調(diào)整參數(shù),最后我發(fā)現(xiàn)加上 mix-blend-mode: screen 混合模式,效果更好,得到頭圖上面的最終效果如下:

图片

完整源碼在我的 CodePen 上:CodePen Demo -- CSS Fire[2]

另外一些效果

當(dāng)然,掌握了這種方法后,這種生成火焰的技巧也可以遷移到其他效果去。下圖是我鼓搗到另外一個小 Demo,當(dāng) hover 到元素的時候,產(chǎn)生火焰效果:

 å›¾ç‰‡

CodePen Demo -- Hover Fire[3]

嗯,這些其實(shí)都是對濾鏡及混合模式的一些搭配運(yùn)用。按照慣例,肯定有人會留言噴了,整這些花里胡哨的有什么用,性能又不好,業(yè)務(wù)中敢上不把你的腿給打骨折。

[[397799]]

于我而言,虛心接受各種批評質(zhì)疑及各種不同的觀點(diǎn),當(dāng)然我是覺得搞技術(shù)一方面是實(shí)用,另一方面是興趣使然,自娛自樂。希望噴子繞道~

回到正題,了解了這種黏糊糊濕答答的技巧后,還可以折騰出其他很多有意思的效果,當(dāng)然可能需要更多的去嘗試,如下面使用一個標(biāo)簽實(shí)現(xiàn)的滴水效果:

图片

CodePen Demo -- 單標(biāo)簽實(shí)現(xiàn)滴水效果[4]

值得注意的細(xì)節(jié)點(diǎn)

動畫雖然美好,但是具體使用的過程中,仍然有一些需要注意的地方:

1.CSS 濾鏡可以給同個元素同時定義多個,例如 filter: blur(5px) contrast(150%) brightness(1.5) ,但是濾鏡的先后順序不同產(chǎn)生的效果也是不一樣的;

  • 也就是說,使用 filter: blur(5px) contrast(150%) brightness(1.5) 和 filter: brightness(1.5) contrast(150%) blur(5px) 處理同一張圖片,得到的效果是不一樣的,原因在于濾鏡的色值處理算法對圖片處理的先后順序。

2.濾鏡動畫需要大量的計(jì)算,不斷的重繪頁面,屬于非常消耗性能的動畫,使用時要注意使用場景。記得開啟硬件加速及合理使用分層技術(shù);

3.blur() 混合 contrast() 濾鏡效果,設(shè)置不同的顏色會產(chǎn)生不同的效果,這個顏色疊加的具體算法暫時沒有找到很具體的規(guī)則細(xì)則,使用時比較好的方法是多嘗試不同顏色,觀察取最好的效果;

4.細(xì)心的讀者會發(fā)現(xiàn)上述效果都是基于黑色底色進(jìn)行的,動手嘗試將底色改為白色,效果會大打折扣。

最后

本文只是簡單的介紹了整個思路過程,許多 CSS 代碼細(xì)節(jié),調(diào)試過程沒有展現(xiàn)出來。主要幾個 CSS 屬性默認(rèn)大家已經(jīng)掌握了大概,閱讀后可以自行去了解補(bǔ)充更多細(xì)節(jié):

  • filter
  • mix-blend-mode

更多精彩 CSS 技術(shù)文章匯總在我的 Github -- iCSS[5] ,持續(xù)更新,歡迎點(diǎn)個 star 訂閱收藏。

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

如果還有什么疑問或者建議,可以多多交流,原創(chuàng)文章,文筆有限,才疏學(xué)淺,文中若有不正之處,萬望告知。

參考資料

[1]你所不知道的 CSS 濾鏡技巧與細(xì)節(jié):

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

[2]CodePen Demo -- CSS Fire:

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

[3]CodePen Demo -- Hover Fire:

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

[4]CodePen Demo -- 單標(biāo)簽實(shí)現(xiàn)滴水效果:

https://codepen.io/Chokcoco/pen/gZVjJw[5]Github -- iCSS: https://github.com/chokcoco/iCSS

 

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

2022-05-24 07:40:40

CSS逐幀動畫圖片輪播

2010-04-01 15:01:26

配置無線路由器

2010-08-10 09:35:26

實(shí)施VDI

2021-04-21 14:15:08

機(jī)器人AI人工智能

2022-08-26 00:00:00

元宇宙高薪系統(tǒng)

2019-11-07 09:49:38

監(jiān)控優(yōu)化技巧

2020-05-21 16:07:00

Python 鍵盤編程語言

2023-02-07 23:42:55

機(jī)器人技術(shù)識別

2019-12-23 14:24:14

數(shù)據(jù)挖掘數(shù)據(jù)分析網(wǎng)絡(luò)分析

2022-08-18 09:12:17

存儲數(shù)據(jù)

2022-01-20 09:56:33

機(jī)器人冬奧滑雪

2021-07-02 16:04:54

機(jī)器人人工智能AI

2021-07-09 10:02:32

AI Rap人工智能

2020-01-14 10:28:24

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2020-02-19 14:55:20

開發(fā)技能代碼

2022-05-16 08:50:00

筆記本虛擬

2023-07-11 10:19:47

AI視頻

2021-03-25 14:46:24

人工智能機(jī)器學(xué)習(xí)技術(shù)

2022-11-16 13:28:26

AI科學(xué)語言模型

2022-12-30 12:10:33

人工智能
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 91麻豆精品国产91久久久久久 | 久久i | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美日韩专区 | 国产精品成人在线 | 在线国产视频 | 日韩在线大片 | 99爱在线免费观看 | 亚洲一区国产 | 午夜性视频 | 日韩中出 | 欧美一区免费 | 国产69精品久久久久777 | 精品视频在线观看 | 99视频在线播放 | 亚洲成av人片在线观看无码 | 一级黄色网页 | 日韩成人在线视频 | 91av在线视频观看 | 午夜精品一区 | 少妇av片 | 国产ts人妖系列高潮 | 女女百合av大片一区二区三区九县 | 欧美日韩一区二区三区在线观看 | 欧美视频在线播放 | 日韩午夜精品 | 久久精品成人热国产成 | 日韩在线成人 | 成人激情视频在线观看 | 久久精品| 日韩在线欧美 | 99久久精品免费看国产四区 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 美女黄18岁以下禁止观看 | 国产在线拍偷自揄拍视频 | 91精品久久久久久久久 | 亚洲永久免费 | av在线免费观看网址 | 欧美精品三区 | 97成人免费 | 国产精品久久久久久久久久久久 |