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

使用 CSS 輕松構(gòu)建高級(jí)感拉滿的磨砂玻璃漸變背景

開發(fā) 前端
本文就討論使用 CSS 如何制作如上所示磨砂(毛玻璃)質(zhì)感效果的漸變背景圖,如何借助 CSS-doodle 工具,批量產(chǎn)生該效果圖,并且附帶動(dòng)畫效果.

最近,我們內(nèi)部的一個(gè)低代碼平臺(tái)完工上線,它的首頁(yè)大概是這樣子(數(shù)據(jù)脫敏):

當(dāng)然,這個(gè)不是項(xiàng)目不是本文的重點(diǎn)。主要看看這個(gè)頁(yè)面的背景,一個(gè)磨砂(毛玻璃)質(zhì)感效果的漸變背景圖,看上去是比較高級(jí)的。

剝離掉頁(yè)面的內(nèi)容元素,只剩下背景的話,大概是這樣:

一開始是打算切圖實(shí)現(xiàn)的,但是仔細(xì)一想,這個(gè)效果使用 CSS 其實(shí)也可以非常輕松制作出來。本文就討論討論:

  1. 使用 CSS 如何制作如上所示磨砂(毛玻璃)質(zhì)感效果的漸變背景圖
  2. 如何借助 CSS-doodle 工具,批量產(chǎn)生該效果圖,并且附帶動(dòng)畫效果

實(shí)現(xiàn)漸變圖

上述背景效果看似復(fù)雜,其實(shí)非常的簡(jiǎn)單。它就是:

多塊不規(guī)則漸變背景 + 高斯模糊蒙版

在 CSS 中,也就是借助 background + backdrop-filter: blur() 即可實(shí)現(xiàn)。

去掉疊在上方的 高斯模糊蒙版,背后的元素其實(shí)非常簡(jiǎn)單明了。可能就是只是這樣:

這里簡(jiǎn)單列下代碼,我們使用了 3 個(gè) div 實(shí)現(xiàn)了 3 個(gè)漸變圖,每個(gè)圖形再使用 clip-path 隨機(jī)裁剪成不規(guī)則的多邊形:

  1. <div class="g-bg"
  2.     <div class="g-polygon g-polygon-1"></div> 
  3.     <div class="g-polygon g-polygon-2"></div> 
  4.     <div class="g-polygon g-polygon-3"></div> 
  5. </div> 
  1. .g-polygon { 
  2.     position: absolute
  3.     opacity: .5; 
  4. .g-polygon-1 { 
  5.     // 定位代碼,容器高寬隨意 
  6.     background: #ffee55; 
  7.     clip-path: polygon(0 10%, 30% 0, 100% 40%, 70% 100%, 20% 90%); 
  8.  
  9. .g-polygon-2 { 
  10.     // 定位代碼,容器高寬隨意 
  11.     background: #E950D1; 
  12.     clip-path: polygon(10% 0, 100% 70%, 100% 100%, 20% 90%); 
  13.  
  14. .g-polygon-3 { 
  15.     // 定位代碼,容器高寬隨意 
  16.     background: rgba(87, 80, 233); 
  17.     clip-path: polygon(80% 0, 100% 70%, 100% 100%, 20% 90%); 

使用 backdrop-filter 實(shí)現(xiàn)高斯模糊蒙版

接下來,這一步最為關(guān)鍵,就是使用 backdrop-filter 實(shí)現(xiàn)高斯模糊蒙版。疊在上述幾個(gè)元素上方即可,最關(guān)鍵的一行代碼 backdrop-filter: blur(150px)

  1. .g-bg::before { 
  2.         content: ""
  3.         position: fixed; 
  4.         top: 0; left: 0; bottom: 0; right: 0; 
  5.         backdrop-filter: blur(150px); 
  6.         z-index: 1; 
  7.     } 

這樣,我們就實(shí)現(xiàn)了如上圖所示的毛玻璃質(zhì)感效果的漸變背景圖:

 

錄制的 Gif 圖看上去有點(diǎn)糊,你可以戳這里點(diǎn)進(jìn) DEMO 查看 -- CodePen Demo -- Frosted glass background effect[1]

注意,這里使用的是 backdrop-filter: blur(),而不是 filter: blur(),如果你對(duì)這兩個(gè)濾鏡是使用選擇還有所疑惑,可以看看的我的這篇文章講解 -- 深入探討 filter 與 backdrop-filter 的異同[2]

借助 CSS-doodle 工具,批量產(chǎn)生該效果

簡(jiǎn)單了解了原理之后,我們就可以借助 CSS-doodle 嘗試批量來生成這個(gè)效果了。

CSS-doodle 它是一個(gè)基于 Web-Component 的庫(kù)。允許我們快速的創(chuàng)建基于 CSS Grid 布局的頁(yè)面,并且提供各種便捷的指令及函數(shù)(隨機(jī)、循環(huán)等等),讓我們能通過一套規(guī)則,得到不同 CSS 效果。感興趣的可以猛擊官網(wǎng)了解 -- CSS-doodle[3]

代碼非常簡(jiǎn)單,也非常好理解,就是隨機(jī)場(chǎng)景不同尺寸、不同定位、不同顏色、不同形式的幾個(gè)圖形:

  1. <css-doodle> 
  2.     :doodle { 
  3.         @grid: 1x8 / 100vmin; 
  4.     } 
  5.     @place-cell: center; 
  6.     width: @rand(40vmin, 80vmin); 
  7.     height: @rand(40vmin, 80vmin); 
  8.     transform: translate(@rand(-200%, 200%), @rand(-60%, 60%)) scale(@rand(.8, 1.8)) skew(@rand(45deg)); 
  9.     clip-path: polygon( 
  10.       @r(0, 30%) @r(0, 50%),  
  11.       @r(30%, 60%) @r(0%, 30%),  
  12.       @r(60%, 100%) @r(0%, 50%),  
  13.       @r(60%, 100%) @r(50%, 100%),  
  14.       @r(30%, 60%) @r(60%, 100%), 
  15.       @r(0, 30%) @r(60%, 100%) 
  16.     ); 
  17.     background: @pick(#f44336, #e91e63, #9c27b0, #673ab7, #3f51b5, #60569e, #e6437d, #ebbf4d, #00bcd4, #03a9f4, #2196f3, #009688, #5ee463, #f8e645, #ffc107, #ff5722, #43f8bf); 
  18.     opacity: @rand(.3, .8); 
  19. </css-doodle> 

上述代碼會(huì)隨機(jī)生成這樣的圖案(GIF 看不出鼠標(biāo)的點(diǎn)擊效果,每次切換是我點(diǎn)擊頁(yè)面進(jìn)行的手動(dòng)切換):

好,配合上蒙版,再看看效果,我們已經(jīng)能夠批量的去生成上述的背景效果了:

如果需求,配合上 hue-rotate 及簡(jiǎn)單的位移,我們甚至可以讓這個(gè)漸變背景動(dòng)畫動(dòng)起來,更加生動(dòng)些:

  1. <css-doodle> 
  2.   // 同上... 
  3.   position: relative
  4.   top: @rand(-80%, 80%); 
  5.   left: @rand(-80%, 80%); 
  6.   animation: colorChange @rand(6.1s, 16.1s) infinite @rand(-.5s, -2.5s) linear alternate; 
  7.    
  8.   @keyframes colorChange { 
  9.     100% { 
  10.       left: 0; 
  11.       top: 0; 
  12.       filter: hue-rotate(360deg); 
  13.     } 
  14.   } 
  15. </css-doodle> 

這樣,我們就得到了帶動(dòng)畫的毛玻璃漸變背景:

GIF 截圖效果較差,完整的代碼及效果體驗(yàn)?zāi)憧梢悦蛽暨@里 -- CodePen Demo -- CSS-doodle Pure CSS Background Effect[4]

最后

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

參考資料

[1]CodePen Demo -- Frosted glass background effect:

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

[2]深入探討 filter 與 backdrop-filter 的異同:

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

[3]CSS-doodle:

https://css-doodle.com/

[4]CodePen Demo -- CSS-doodle Pure CSS Background Effect:

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

 

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

2021-11-15 07:45:06

CSS 技巧背景光動(dòng)畫

2023-06-30 13:27:54

CSS徑向漸變

2021-11-09 08:30:48

CSS 技巧巧用濾鏡

2017-01-17 16:45:35

githubinstagramandroid

2025-03-17 10:42:12

2023-06-07 10:41:43

2022-07-19 06:20:47

CSSbackground

2023-06-05 09:28:32

CSS漸變

2022-02-28 07:02:51

CSS二維碼前端

2010-09-13 13:56:52

CSSDIV背景

2021-06-09 08:50:39

C語(yǔ)言關(guān)機(jī)代碼復(fù)雜代碼解讀

2024-01-12 17:06:50

字節(jié)面試題目

2010-08-23 08:53:04

CSSmargin外邊距

2020-12-28 07:52:50

CSS網(wǎng)站Header

2022-03-01 17:24:33

iOS兼容性方案

2022-11-14 11:41:13

SVG開發(fā)組件
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美性生交大片免费 | 欧美三区| 亚洲免费视频在线观看 | 国产午夜精品福利 | 97高清国语自产拍 | 国产精品久久久久久久午夜片 | 91一区二区三区 | 国内精品免费久久久久软件老师 | 国产成人精品久久二区二区 | 九九视频在线观看 | 国产精品视频一区二区三区不卡 | 婷婷激情综合 | 精品久久久久久亚洲精品 | 中文字幕在线免费 | 成人一区二区三区在线 | 国产成人精品区一区二区不卡 | 不卡在线一区 | 午夜视频在线 | av网站在线免费观看 | 五月精品视频 | 久久机热| 91精品国产乱码久久久 | 亚洲高清av | 成人综合视频在线 | 日本成人毛片 | 国产三级| 日一区二区 | 国产在线视频一区 | 欧美精品网站 | 国产真实精品久久二三区 | 91精品国产一区二区三区蜜臀 | 亚洲精品专区 | 中文字幕一区在线 | 天天干天天爽 | 91久久精品一区 | 精品久久久久久久久久久院品网 | 亚洲在线 | 国产免费看 | 亚州精品天堂中文字幕 | 国产欧美在线观看 | 久久婷婷色 |