CSS改变图标颜色

参考博客:CSS改变图标颜色

实现思路:
使用filter,在原图标旁边生成它的任意颜色的投影。
把图标放入容器,通过相对定位改变它和投影的位置。
对容器设置overflow:hidden,隐藏原图,只留投影。


CSS改变图标颜色
黑色边框为容器,仅作演示,开启overflow:hidden后只保留阴影

备注:在Chrome浏览器下(低版本),如果一个元素的主体部分,无论以何种方式,只要在页面中不可见,其drop-shadow是不可见的;实体部分哪怕有1像素可见,则drop-shadow完全可见。

HTML:

	<div class="wrap">
	<img src="./picture/gj01.png">
	</div>

CSS:

	.wrap {
	width: 60px;
	height: 60px;
	overflow: hidden;
	margin-left: 120px;
	/*border: 5px solid black; 仅用于演示*/
	}

	img {
	width: 60px;
	height: 60px;
	position: relative;
	left: -60px;
	border-right: 60px solid transparent;
	/*这一句似乎可有可无*/
	filter: drop-shadow(60px 0px 0 red);
	}

将该方法应用于小米项目,再设置overflow:hidden,hover时改变left值,完美!

CSS改变图标颜色
上一篇:一篇文章带你快速入门JavaScript(实操代码)


下一篇:【动画消消乐|CSS】078.单span标签实现自定义简易过渡动画