css3實現背景圖片顏色修改的多種方式


css3可以改變圖片的顏色了。從此再也不用設計出多張圖,而且隨時可以修改。下面就簡單介紹下css3中是如何做到改變背景圖片的顏色效果的。

 

方式一:利用css3濾鏡filter中的 drop-shadow

代碼如下:

<style>
.icon{
	display: inline-block;
	width: 180px;
	height: 180px;
	background: url('img/XXX.png') no-repeat center  cover;
	overflow: hidden;
}
.icon:after{
	content: '';
	display: block;
	height: 100%;
	transform: translateX(-100%);
	background: inherit;
	filter: drop-shadow(144px 0 0 #fff); //需要修改的顏色值
}
</style>

<i class="icon"></i>

  

說明:

drop-shadow 濾鏡可以給元素或圖片非透明區域添加投影

將背景透明的 PNG 圖標施加一個不帶模糊的投影,就等同於生成了另外一個顏色的圖標

再通過 overflow:hidden 和位移處理將原圖標隱藏

mix-blend-mode 取值情況:【除了最后3個,大體和ps效果一樣】

mix-blend-mode: normal; // 正常
mix-blend-mode: multiply; // 正片疊底
mix-blend-mode: screen; // 濾色
mix-blend-mode: overlay; // 疊加
mix-blend-mode: darken; // 變暗
mix-blend-mode: lighten; // 變亮
mix-blend-mode: color-dodge; // 顏色減淡
mix-blend-mode: color-burn; // 顏色加深
mix-blend-mode: hard-light; // 強光
mix-blend-mode: soft-light; // 柔光
mix-blend-mode: difference; // 差值
mix-blend-mode: exclusion; // 排除
mix-blend-mode: hue; // 色相
mix-blend-mode: saturation; // 飽和度
mix-blend-mode: color; // 顏色
mix-blend-mode: luminosity; // 亮度
mix-blend-mode: initial; // 默認
mix-blend-mode: inherit; // 繼承
mix-blend-mode: unset; // 還原


 

方式二:利用css3的mix-blend-mode 和 background-blend-mode

代碼如下:
<style>
.icon{
	display: inline-block;
	width: 180px;
	height: 180px;
	background-image: url($'img/XXX.png'), linear-gradient(#f00, #f00);
	background-blend-mode: lighten;
	background-size: cover;
}
</style>
<i class="icon"></i>

pixabayhttps://www.wode007.com/sites/73237.html wallhavenhttps://www.wode007.com/sites/73236.html

說明:

lighten這個混合模式:變亮、變亮模式與變暗模式產生的效果相反,黑色比任何顏色都要暗,所以黑色會被任何色替換掉。反之,如果素材的底色是黑色,主色是白色。那就應該用變暗(darken)的混合模式  。

linear-gradient(#f00,  #00f )還可以實現漸變顏色的效果哦。

 

總結:

方式一局限於png格式的圖片,方式二不限制圖片的格式。

css3具有一定的兼容性。chrome、Firefo、移動端較為適合使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM