精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

讓 UI 早點下班,高階切圖技巧!基于單張圖片的任意顏色轉換!

開發 前端
今天,要介紹一種基于 CSS mask-composite 的高級技巧。通過掌握它,我們可以通過一張 圖片,得到關于它的各種變換,甚至乎,得到各種不同顏色的變換。

今天,要介紹一種基于 CSS mask-composite 的高級技巧。

通過掌握它,我們可以通過一張 圖片,得到關于它的各種變換,甚至乎,得到各種不同顏色的變換。

通過單張 PNG/SVG 得到它的反向切圖

事情的經過是這樣的,某天,我們拿到了這樣一張 PNG/SVG 圖片:

圖片

這是一張PNG圖,灰色部分透明。

就這張圖片而言,它是一張 PNG 圖,灰色部分透明。

隨著需求的進行,在某一處,我們需要一張基于上述圖形的反向鏤空圖形:

圖片

emmm,要注意,這里白色處是需要透明的,要能透出不同的背景色,像是這樣:

圖片

怎么辦呢,通常而言,只能是找 UI 再出一張鏤空圖。

當然,在今天,只需要一張 PNG/SVG,我們就可以使用 CSS 輕松完成上述的轉換。這里我們需要用到 mask-composite。

何為 mask-composite?

那么,何為 mask-composite,當然,現階段還需要加上瀏覽器前綴,-webkit-mask-composite。

首先,要學會使用 mask-composite,得先知道 CSS 中另外一個非常重要且有用的屬性 -- mask。

如果,你對 mask 還比較陌生,建議你先看看這篇 -- 奇妙的 CSS MASK[1]。

在運用 mask 對圖片進行遮罩切割處理的同時,我們可以同時再運用到 mask-composite 屬性。這個是非常有意思的元素。

-webkit-mask-composite[2]: 屬性指定了將應用于同一元素的多個蒙版圖像相互合成的方式。

通俗點來說,他的作用就是,當一個元素存在多重 mask 時,我們就可以運用 -webkit-mask-composite 進行效果疊加。

舉個栗子:

<div class="original"></div>
.original {
background: #000;
mask: radial-gradient(circle at 0 0, #000, #000 200px, transparent 200px);
}

我們用一個 radial-gradient 作為 mask,切割原本的矩形,得到一個新的圖形。

圖片圖片

如果再換一個方向:

<div class="original"></div>
.original {
background: #000;
mask: radial-gradient(circle at 100% 0, #000, #000 200px, transparent 200px);
}

圖片

如果我想得到這樣一個效果:

圖片

該怎么做呢?

我們嘗試合并上述兩個 mask 的效果:

.mask {
background: #000;
mask: radial-gradient(circle at 100% 0, #000, #000 200px, transparent 200px),
radial-gradient(circle at 0 0, #000, #000 200px, transparent 200px);
}

效果如下:

圖片

與我們想象的不太一樣,這是因為,兩個 mask 的圖形疊加,就是上述圖形的效果,所以上述效果是沒有問題的。

只是,我們想得到的是兩個 mask 圖形的重疊部分:

圖片圖片

這時,我們就可以使用 mask-composite:

.mask {
background: #000;
mask: radial-gradient(circle at 100% 0, #000, #000 200px, transparent 200px),
radial-gradient(circle at 0 0, #000, #000 200px, transparent 200px);
-webkit-mask-composite: source-in;
}

添加了 -webkit-mask-composite: source-in 后,我們就可以得到兩個 mask 圖形的重疊部分,再基于這個重疊部分作用到整個 mask 遮罩:

圖片圖片

CodePen Demo -- mask-composite Demo[3]。

-webkit-mask-composite 還可以實現非常多不同的功能,包括但不限于:

-webkit-mask-composite: clear; /*清除,不顯示任何遮罩*/
-webkit-mask-composite: copy; /*只顯示上方遮罩,不顯示下方遮罩*/
-webkit-mask-composite: source-over;
-webkit-mask-composite: source-in; /*只顯示重合的地方*/
-webkit-mask-composite: source-out; /*只顯示上方遮罩,重合的地方不顯示*/
-webkit-mask-composite: source-atop;
-webkit-mask-composite: destination-over;
-webkit-mask-composite: destination-in; /*只顯示重合的地方*/
-webkit-mask-composite: destination-out;/*只顯示下方遮罩,重合的地方不顯示*/
-webkit-mask-composite: destination-atop;
-webkit-mask-composite: xor; /*只顯示不重合的地方*/

看看這張圖,就一目了然(圖片源自 CSS mask 實現鼠標跟隨鏤空效果[4])。 圖片

使用 -webkit-mask-composite 實現圖片的擴展

基于上述的知識鋪墊,回到我們的主題,在我們有了一張透明圖片(PNG/SVG)之后,我們可以輕松的利用 -webkit-mask-composite 得到它的反向鏤空圖:

.mask {
background: #000;
mask:
url($img),
linear-gradient(#fff, #000);
mask-composite: exclude;
}

圖片

不僅如此,我們還可以利用這個技巧,使用圖片本身作為 mask 遮罩,配合 -webkit-mask-composite,從而將一張純色圖片,擴展到各類不同顏色,甚至是漸變色!

<div class="original"></div>
<div class="mask"></div>
<div class="mask-color"></div>
<div class="mask-gradient"></div>
.original {
background: url($img);
background-size: cover;
}
.mask {
background: #000;
mask:
url($img),
linear-gradient(#fff, #000);
mask-composite: exclude;
}
.mask-color {
background: green;
mask:
url($img),
linear-gradient(#fff, #000);
mask-composite: source-in;
}
.mask-gradient {
background: linear-gradient(blue, yellowgreen);
mask:
url($img),
linear-gradient(#fff, #000);
mask-composite: source-in;
}

效果如下:

圖片

CodePen Demo -- Power of mask-composite[5]。

這樣,僅僅是利用一張 PNG/SVG 原圖,我們就可以得到它的。

  1. 反向鏤空圖
  2. 其他純色圖
  3. 漸變色圖

可以有效的節省圖片資源,起到一定的優化效果!

在之前,我也寫過一種基于白底黑圖的任意顏色轉換,但是存在非常大的局限性:兩行 CSS 代碼實現圖片任意顏色賦色技術[6],但是今天這個技巧是純粹的,對原圖沒有要求的任意色彩轉換!

當然,唯一的缺點,目前會受限于 mask-composite 和 -webkit-mask-composite 的兼容性,而且兩者的語法存在一定的差異,實際使用的話需要注意。根據業務場景靈活選擇。

最后

非常有意思的一個技巧,你學會了嗎?本文到此結束,希望對你有幫助 :)

參考資料

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

[2]-webkit-mask-composite: https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-composite。

[3]CodePen Demo -- mask-composite Demo: https://codepen.io/Chokcoco/pen/KKQjxMP。

[4]CSS mask 實現鼠標跟隨鏤空效果: https://segmentfault.com/a/1190000040996523。

[5]CodePen Demo -- Power of mask-composite: https://codepen.io/Chokcoco/pen/YzaKLEr。

[6]兩行 CSS 代碼實現圖片任意顏色賦色技術: https://github.com/chokcoco/iCSS/issues/32。

責任編輯:姜華 來源: iCSS前端趣聞
相關推薦

2022-07-17 13:15:40

程序員技術寫作

2020-01-13 13:20:01

開源技術 軟件

2022-07-28 13:16:48

蘋果技術谷歌

2025-07-02 07:53:40

技巧.NET開發

2018-03-15 14:07:17

潤乾Excel行列轉換

2024-11-27 09:46:34

2021-02-07 22:27:27

UI工具網站

2022-09-01 06:54:28

CSS前端

2009-12-07 16:59:53

PHP匹配顏色函數

2011-05-28 15:14:06

設計技巧UIAndroid

2023-09-25 08:55:15

CSS設計軟件

2009-12-09 16:53:45

PHP打印任意時間

2024-03-20 12:27:48

模型訓練

2025-09-28 01:10:00

2021-09-14 09:34:05

鴻蒙HarmonyOS應用

2021-05-18 09:25:54

SpringBoot參數校驗

2015-08-14 10:44:33

HTML5

2020-05-21 10:24:34

代碼Java 工具

2011-05-28 12:19:33

設計技巧UIAndroid

2020-01-07 10:14:38

Python程序員腳本語言
點贊
收藏

51CTO技術棧公眾號

一区二区在线观看不卡| 国产一区欧美日韩| 一区二区三区四区在线观看视频| 国内自拍视频网| 国产原创在线观看| 北条麻妃一区二区三区| 国产成人精品电影| 午夜精品福利在线视频| 日韩超碰人人爽人人做人人添| 欧美主播一区二区三区| 日韩国产小视频| sese一区| 99久久精品免费看国产| 国产区精品在线观看| 91在线看视频| 欧美国内亚洲| 中文字幕精品网| 亚洲国产精品无码久久久久高潮 | 7777久久香蕉成人影院| 亚洲精品美女在线观看| 亚洲天堂伊人网| 男人最爱成人网| 亚洲福利一二三区| 熟女视频一区二区三区| 东热在线免费视频| 92精品国产成人观看免费| 成人黄色生活片| 男人天堂视频在线| 99在线精品免费视频九九视| 欧美成年人视频网站欧美| 99久久99久久精品免费看小说. | 成人在线国产视频| 成人高清免费在线| 国产精品每日更新| 日韩国产精品一区二区| 日韩a在线观看| 成人动漫视频在线| 高清免费日韩| www.蜜桃av.com| 国产一区二区三区免费| 国产视频福利一区| 一区二区小视频| 久久精品1区| 青青久久av北条麻妃黑人| 日韩免费黄色片| 亚洲三级国产| 久久久久这里只有精品| 久久久无码精品亚洲国产| 亚洲一本二本| 九九热精品在线| 欧产日产国产v| 欧美国产三区| 久久久久久97| 日本午夜精品理论片a级app发布| 亚洲视频中文| 久久久亚洲天堂| 国产成人亚洲精品自产在线| 一本色道久久| 青青a在线精品免费观看| 一二三区免费视频| 日韩av中文字幕一区二区| 国产精品嫩草影院久久久| 国产精品51麻豆cm传媒| 蜜臀av亚洲一区中文字幕| 国产日韩综合一区二区性色av| 国产精品毛片久久久久久久av| 国产一区免费电影| 国产成人精品日本亚洲11| 五月婷婷六月激情| 国产欧美一区二区精品性色超碰 | 丁香花高清在线观看完整版| 亚洲国产一区在线观看| 高清在线观看免费| 久久亚洲资源中文字| 日韩亚洲欧美在线| 亚洲av成人无码一二三在线观看| 伊人久久大香线蕉| 日韩在线观看精品| 国产亚洲欧美久久久久| 香蕉av777xxx色综合一区| 国产精品一区二区三区成人| www.亚洲黄色| 2020国产精品久久精品美国| 亚洲欧美在线网| 国产盗摄在线视频网站| 日本韩国一区二区三区视频| 91免费视频污| 欧美日韩导航| 久久手机免费视频| 国产成人免费看| 九一九一国产精品| 国产一区二区三区四区hd| 搞黄视频免费在线观看| 一区二区在线观看视频| 无码aⅴ精品一区二区三区浪潮| 草民电影神马电影一区二区| 欧美大片国产精品| 公肉吊粗大爽色翁浪妇视频| 欧美特黄视频| 国产精品第七十二页| 国产刺激高潮av| 国产精品视频线看| 毛片在线视频播放| 91精品亚洲一区在线观看| 日韩精品在线观看视频| 2025国产精品自拍| 日韩av电影天堂| 国产精品亚洲不卡a| 日本www在线| 色婷婷综合久久久| 成人免费看片载| 久久国产电影| 日韩av免费一区| 国产成人自拍一区| 自拍偷拍国产亚洲| 超碰av在线免费观看| 美女视频亚洲色图| 欧美激情免费看| 国产一区二区网站| 欧美极品另类videosde| 免费欧美一级视频| 精品自拍偷拍| 久久久久久久久91| 国产99久久九九精品无码免费| 国产婷婷一区二区| 日本一区二区黄色| 美女主播精品视频一二三四| 欧美丰满少妇xxxxx| 97人妻精品一区二区三区视频| 久久久影视传媒| 99爱视频在线| 欧美sss在线视频| 久久久久久亚洲精品中文字幕 | 日韩第一页在线| 免费一级片视频| 国产高清不卡二三区| 日本丰满大乳奶| 久久久久久久久成人| 久久九九免费视频| 国产乱人乱偷精品视频a人人澡| 国产亚洲女人久久久久毛片| av观看免费在线| 九九视频精品全部免费播放| 日本精品视频在线观看| 欧美日韩国产中文字幕在线| 色综合亚洲欧洲| 国产手机在线观看| 日本在线不卡一区| 亚洲欧洲日韩精品| 亚洲视频自拍| 欧美美最猛性xxxxxx| 国产极品999| 亚洲一区二区在线播放相泽| 亚洲香蕉中文网| 亚洲视频播放| 日本在线播放一区| 国产精品99| 草民午夜欧美限制a级福利片| 99免费在线视频| 亚洲图片欧美一区| 女同毛片一区二区三区| 日本午夜精品视频在线观看 | 国产日韩一区二区三区在线播放| 九九九九九九精品| 欧美亚洲韩国| 久久九九热免费视频| 乱精品一区字幕二区| 欧美性xxxxxx| 999福利视频| 高清在线观看日韩| 国产l精品国产亚洲区久久| 成人精品电影| 99r国产精品视频| 鲁鲁在线中文| yellow中文字幕久久| 亚洲精品网站在线| 91黄视频在线观看| 91 在线视频| 91亚洲男人天堂| 嫩草影院国产精品| 亚洲午夜91| 青娱乐一区二区| 久久的色偷偷| 日韩免费视频在线观看| www在线视频| 精品视频一区在线视频| 国产精品久久免费| 欧美视频国产精品| 免费在线观看黄色小视频| 成人av电影在线| 天天综合网久久| 9国产精品视频| 伊人久久av导航| 精品精品精品| 亚洲free性xxxx护士hd| 韩国主播福利视频一区二区三区| 久久精品中文字幕免费mv| 久久伊伊香蕉| 精品久久久影院| 亚洲图片在线播放| 五月天一区二区三区| 黄色精品视频在线观看| 久久精子c满五个校花| 69久久精品无码一区二区| 丝袜a∨在线一区二区三区不卡| 超碰10000| 日韩一区自拍| 青青草久久网络| 精品人人人人| 99porn视频在线| 嫩草伊人久久精品少妇av杨幂| 欧美劲爆第一页| 麻豆网站视频在线观看| 亚洲午夜小视频| 亚洲 国产 欧美 日韩| 欧美一区二区三区视频在线观看| 久久久999久久久| 欧美日韩国产在线| 久操免费在线视频| 亚洲日穴在线视频| 在线视频这里只有精品| 国产欧美综合在线观看第十页| 熟女人妻在线视频| 成年人午夜久久久| 潘金莲一级淫片aaaaa| 精品无人码麻豆乱码1区2区| 亚洲综合在线网站| 国产精品永久| 精品视频免费在线播放| 亚洲夜间福利| 国产九色porny| 黄色亚洲免费| 国产一级大片免费看| 欧美99在线视频观看| 免费观看中文字幕| 中国成人一区| 老司机午夜网站| 小处雏高清一区二区三区| 亚洲在线欧美| 999久久久国产精品| 亚洲一卡二卡区| 欧美成人精品一区二区三区在线看| 日韩欧美一区二区视频在线播放| 神马影视一区二区| 日韩wuma| 成人网18免费网站| 制服丝袜综合日韩欧美| 91精品推荐| 2022中文字幕| 宅男噜噜噜66国产日韩在线观看| 日韩精品―中文字幕| 久久久蜜桃一区二区人| jizz欧美激情18| 久久99精品一区二区三区三区| 亚洲图色中文字幕| 国产成人综合亚洲91猫咪| 国产精品果冻传媒| 26uuu精品一区二区三区四区在线| 免费中文字幕av| 国产三级一区二区三区| 国产成人免费在线观看视频| 亚洲欧美偷拍三级| 日本一区二区欧美| 色综合久久精品| 一级片免费网站| 精品对白一区国产伦| 色在线免费视频| 在线一区二区日韩| 亚洲丝袜一区| 26uuu亚洲伊人春色| 欧美91在线|欧美| 岛国视频一区免费观看| 欧洲亚洲一区二区三区| 亚洲春色在线视频| 欧美日韩一区自拍 | 国产精品一区免费在线观看| 国产在线不卡av| 国产日产亚洲精品系列| 蜜臀久久精品久久久用户群体| 精品日本高清在线播放| 在线观看视频中文字幕| 欧美精品一区二区三区四区| 二区三区在线| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 中国老头性行为xxxx| 日韩欧美亚洲国产精品字幕久久久| 亚洲 小说区 图片区 都市| 深夜成人在线观看| 99爱在线观看| 成人国产精品一区二区| 丝袜久久网站| 路边理发店露脸熟妇泻火| 亚洲一区图片| 中文字幕第10页| 久久久久国产精品麻豆ai换脸| 午夜精品福利在线视频| 色婷婷狠狠综合| 亚洲欧美另类综合| www.久久撸.com| 亚洲日本天堂| 翡翠波斯猫1977年美国| 日韩88av| 久久久久久久久久久久久久国产| 国产精品自拍网站| 九九九视频在线观看| 无码av免费一区二区三区试看| 国产精品无码免费播放| 国产亚洲精品久久| 中老年在线免费视频| 91蜜桃网站免费观看| 日韩毛片视频| 欧美激情国产精品日韩| jizz一区二区| 欧美三级日本三级| 欧美日韩1区2区| 九色视频成人自拍| 91精品国产99| 99这里只有精品视频| 在线观看免费黄色片| 日韩成人一区二区三区在线观看| 性欧美丰满熟妇xxxx性久久久| 亚洲一区二区在线免费看| www.av在线.com| 久久久999精品| 欧美一级做a| 亚洲五月六月| 久久成人免费电影| 国产三级黄色片| 欧美在线观看视频在线| 黄色在线小视频| 日韩免费在线观看视频| 欧美激情在线免费| 99免费视频观看| 国产亚洲一区二区三区| 青青草免费观看视频| 精品视频偷偷看在线观看| 日本不卡免费高清视频在线| 精品国产乱码久久久久久郑州公司 | 国产精品二区不卡| 男人添女人下面免费视频| 中国av一区二区三区| 国产一级片一区二区| 最近2019年中文视频免费在线观看| 欧美成人app| 异国色恋浪漫潭| 国产乱子伦视频一区二区三区| 暗呦丨小u女国产精品| 日韩欧美激情在线| 密臀av在线| 精品一区二区视频| 老妇喷水一区二区三区| jizz18女人高潮| 3d动漫精品啪啪一区二区竹菊| 69xxx在线| 国产精华一区二区三区| 国产精品婷婷| 欧美日韩国产一二三区| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品欧美一级免费| 国产免费的av| 久久久影视精品| 欧美人妖在线| 九九热免费在线观看| 一区二区在线看| 天堂av网在线| 国产精品亚发布| 亚洲小说欧美另类社区| 中文字幕成人动漫| 91精品午夜视频| 华人av在线| 亚洲精品中字| 成人黄色777网| 国产精品免费无遮挡无码永久视频| 色七七影院综合| 成人h动漫精品一区二区器材| 任你操这里只有精品| 中文字幕日韩一区| 全部免费毛片在线播放一个| 国产成人中文字幕| 欧美一区高清| 色婷婷av777| 日韩一级片在线观看| 成人免费无遮挡| 日本老太婆做爰视频| 26uuu亚洲综合色欧美| 国产免费黄色网址| 欧美亚洲第一区| 欧美极品一区二区三区| 中文字幕在线1| 精品久久久久av影院 | 三级欧美韩日大片在线看| 国产精品三区在线观看| 亚洲欧美在线x视频| 精品一区二区三区在线观看视频 | 国产精品原创巨作av| 久久久久在线视频| 欧美大片免费观看在线观看网站推荐| 九九视频精品全部免费播放| 激情av中文字幕| 欧美精品aⅴ在线视频|