激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - 編程技術(shù) - 巧用 CSS 構(gòu)建漸變彩色二維碼

巧用 CSS 構(gòu)建漸變彩色二維碼

2022-02-28 23:17iCSS前端趣聞SbCo 編程技術(shù)

本文將介紹使用 CSS,快速將一個(gè)普通黑色二維碼,變成任意我們想要的彩色漸變二維碼。

巧用 CSS 構(gòu)建漸變彩色二維碼

今日,群里有個(gè)很有意思的問(wèn)題,問(wèn)我如何實(shí)現(xiàn)一個(gè)彩色的,帶漸變的二維碼,像是這樣:

巧用 CSS 構(gòu)建漸變彩色二維碼

很有意思的問(wèn)題,我們?cè)诎俣裙雀瑁阉?qrcode,能搜到非常多在線制作二維碼的工具,它們其中一些也會(huì)帶有制作漸變二維碼的功能。但是它們大部分都是 Canvas 或者其它編程語(yǔ)言實(shí)現(xiàn)的。

如果我們現(xiàn)在已經(jīng)有了一張白底黑字的普通二維碼,想把它變成一個(gè)漸變色的二維碼?該如何做呢?

巧用 CSS 構(gòu)建漸變彩色二維碼

本文就將介紹,使用 CSS,快速將一個(gè)普通黑色二維碼,變成任意我們想要的彩色漸變二維碼。

強(qiáng)大的混合模式

擁有一張?jiān)瓐D,想改變其顏色。在 CSS 中,我們很快可以想到 濾鏡 filter、或者是 混合模式 mix-blend-mode。

這里,我們就需要用到 混合模式 mix-blend-mode。混合模式最常見(jiàn)于 photoshop 中,是 PS 中十分強(qiáng)大的功能之一。目前 CSS 已經(jīng)原生支持了大部分的混合模式。

原理其實(shí)非常簡(jiǎn)單,我們實(shí)現(xiàn)一張漸變圖形,這張圖形通過(guò)混合模式中的 mix-blend-mode: lighten 與白底黑字的二維碼重疊在一起后,二維碼中的白色區(qū)域?qū)⒈3植蛔儯S碼中的黑色區(qū)域?qū)⒄宫F(xiàn)為漸變圖案中的顏色。

聽(tīng)起來(lái)有點(diǎn)繞,通過(guò)一個(gè)示意圖,一看就懂,我們只需要兩層,原二維碼為一層,然后將漸變圖案疊加在其之上,并且設(shè)置 mix-blend-mode: lighten 即可:

<div class="g-container">
    <img src="qrcode.png">
div>
.g-container { position: relative; width: 200px; height: 200px;   
    &::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: linear-gradient(45deg, #673ab7, #ff5722); mix-blend-mode: lighten;
    }
}

這里,我們用父元素的偽元素節(jié)省一個(gè)標(biāo)簽,用作漸變圖層,實(shí)際的重疊效果,我制作了一個(gè)動(dòng)畫(huà):

巧用 CSS 構(gòu)建漸變彩色二維碼巧用 CSS 構(gòu)建漸變彩色二維碼

這樣,我們可以通過(guò)混合模式,將一張黑色的二維碼圖片,變成了漸變色。

二維碼中間鏤空

當(dāng)然,這還沒(méi)完,有的時(shí)候,我們的二維碼中間還會(huì)有一些圖案,有一張圓形的或者方形的圖片。

如果使用上述方法,會(huì)有一些瑕疵:

巧用 CSS 構(gòu)建漸變彩色二維碼巧用 CSS 構(gòu)建漸變彩色二維碼

那么,我們還需要根據(jù)二維碼的樣式,將漸變圖案中間鏤空!

有意思的是,二維碼中間的圖案,還會(huì)有圓形和矩形兩種,對(duì)于這兩種二維碼,處理的方式還不太一樣。

巧用 CSS 構(gòu)建漸變彩色二維碼

漸變圖案中心鏤空一個(gè)圓形

對(duì)于中心圖案是圓形的二維碼,我們只需要實(shí)現(xiàn)這樣一個(gè)漸變?cè)侬B加即可:

巧用 CSS 構(gòu)建漸變彩色二維碼

這個(gè)還是比較簡(jiǎn)單的,由于原本是一個(gè)線性漸變,中間需要鏤空一個(gè)圓形,最好的方式是使用 mask:

div { background: linear-gradient(45deg, rgb(51, 102, 153), rgb(255, 0, 204)); mask: radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 16%, rgb(0, 0, 0) 16%);
}

漸變圖案中心鏤空一個(gè)矩形

但是,對(duì)于中間是一個(gè)矩形的話,就不太好辦了,我們需要基于漸變圖案實(shí)現(xiàn)這樣一個(gè)圖形:

巧用 CSS 構(gòu)建漸變彩色二維碼

方法其實(shí)也有很多,譬如我們把中間透明部分想象成一個(gè) div 的 content 部分,而周?chē)鷿u變顏色區(qū)域是邊框區(qū)域。

當(dāng)然,這里我使用了 clip-path,使用它,也是可以非常方便的實(shí)現(xiàn)鏤空的矩形:

div { background: linear-gradient(45deg, rgb(51, 102, 153), rgb(255, 0, 204)); clip-path: polygon(0% 0%, 0% 100%, 34% 100%, 34% 34%, 66% 34%, 66% 66%, 34% 66%, 34% 100%, 100% 100%, 100% 0%);
}

制作一個(gè)二維碼染色工具

基于上面的知識(shí),我們就可以簡(jiǎn)單的構(gòu)建一個(gè)漸變彩色二維碼工具了。

這里我簡(jiǎn)單實(shí)現(xiàn)了一個(gè):

巧用 CSS 構(gòu)建漸變彩色二維碼巧用 CSS 構(gòu)建漸變彩色二維碼

我們通過(guò)上傳一個(gè)普通二維碼,通過(guò)自定義漸變顏色,選擇是否需要鏤空,鏤空的類型及大小,快速制作一個(gè)漸變彩色二維碼。

簡(jiǎn)單演示一下:

巧用 CSS 構(gòu)建漸變彩色二維碼巧用 CSS 構(gòu)建漸變彩色二維碼

一個(gè)核心利用 CSS 的小工具就完成啦。

完整的代碼,你可以戳這里:CodePen - Make A Gradient QrCode[1]

最后

總結(jié)一下,本文介紹了利用 CSS 混合模式得到漸變二維碼的小技巧,并且利用了 mask 或者 clip-path 鏤空漸變圖形,一些相關(guān)知識(shí)點(diǎn)如果你還有所疑問(wèn),推薦你再看看我的下列文章:

  • 不可思議的混合模式 mix-blend-mode[2]
  • 不可思議的混合模式 background-blend-mode[3]
  • 兩行 CSS 代碼實(shí)現(xiàn)圖片任意顏色賦色技術(shù)[4]
  • 奇妙的 CSS MASK[5]
  • 巧用 CSS 實(shí)現(xiàn)炫彩三角邊框動(dòng)畫(huà)[6]

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

參考資料

[1]CodePen - Make A Gradient QrCode: https://codepen.io/Chokcoco/pen/XWzPEXW.

[2]不可思議的混合模式 mix-blend-mode: https://github.com/chokcoco/iCSS/issues/16.

[3]不可思議的混合模式 background-blend-mode: https://github.com/chokcoco/iCSS/issues/31.

[4]兩行 CSS 代碼實(shí)現(xiàn)圖片任意顏色賦色技術(shù): https://github.com/chokcoco/iCSS/issues/32.

[5]奇妙的 CSS MASK: https://github.com/chokcoco/iCSS/issues/80.

[6]巧用 CSS 實(shí)現(xiàn)炫彩三角邊框動(dòng)畫(huà): https://github.com/chokcoco/iCSS/issues/162.

[7]Github -- iCSS: https://github.com/chokcoco/iCSS.

原文地址:https://mp.weixin.qq.com/s/IoO3EjePMktQzzPCzrD7Dg

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人福利软件 | 久久96国产精品久久久 | 最近免费观看高清韩国日本大全 | 污版视频在线观看 | 国产一区二区视频网站 | 国产精品免费观看视频 | 国产伦久视频免费观看视频 | 日本人乱人乱亲乱色视频观看 | av免费在线播放网址 | 免费的性爱视频 | 毛片视频网站 | 91福利影视 | 成年人视频在线免费播放 | 国产精品色综合 | 国产乱淫a∨片免费视频 | 国产成人强伦免费视频网站 | 精品中文字幕久久久久四十五十骆 | 免费一级电影 | 国产99久久久久久免费看 | 99国产精成人午夜视频一区二区 | 九九热播视频 | 激情小说激情电影 | 羞羞视频免费网站 | 色淫网站免费视频 | 黄色一级毛片免费看 | 精品国产一区二区亚洲人成毛片 | 中文字幕国产日韩 | 黄色成年在线观看 | 日韩精品免费看 | 国产在线第一区 | 狠狠干91 | 色黄视频免费观看 | 久久精品亚洲一区二区 | 国内精品久久久久久2021浪潮 | 日本在线一区二区 | 欧美性生活免费视频 | 成人一级免费 | 视频一区二区三区中文字幕 | 国产成人高清成人av片在线看 | 国产成人精品免费视频大全最热 | 看a级毛片 |