本文節選自“純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詳細介紹”,非常系統的介紹了相關知識點。
以上,感謝閱讀!