CSS遮罩實現PNG圖示變色
本文節選自“ ofollow,noindex">純CSS實現任意格式圖示變色的研究 ”一文。
原圖示如下,是個藍色的:
下面要變成#f4615c紅色的圖示,最簡單的方法就是使用遮罩。
如下HTML和CSS程式碼:
<span class="colorful"></span>複製程式碼
.colorful { display: inline-block; width: 32px; height: 32px; background-color: #f4615c; -webkit-mask: url(./xin.svg) no-repeat; mask: url(./xin.svg) no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }複製程式碼
CSS3 mask預設是基於透明度實現遮罩效果的。也就是實色區域顯示,透明區域隱藏。因此,我們只需要把目標圖示顏色#f4615c作為背景色,然後原始圖示(無論什麼顏色都可以)作為遮罩圖片,效果就出來了。
眼見為實,您可以狠狠地點選這裡: CSS mask遮罩實現任意顏色的小圖示demo
效果如下截圖:
CSS3遮罩非常好用,熟練掌握事半功倍,其知識點很多,包含的屬性值也很多,有興趣可以參考我之前的文章:“ CSS遮罩CSS3 mask/masks詳細介紹 ”,非常系統的介紹了相關知識點。
以上,感謝閱讀!