我的问题是:给定目标RGB颜色,#000使用CSS滤镜将黑色()重新着色为该颜色的公式是什么?
为了接受答案,它需要提供一个函数(以任何语言)接受目标颜色作为参数并返回相应的CSS filter字符串.
对此的上下文是需要在a内重新着色SVG background-image.在这种情况下,它是支持KaTeX中的某些TeX数学特性:https:   //github.com/Khan/KaTeX/issues/587.
如果目标颜色为#ffff00(黄色),则一个正确的解决方案是:
filter: invert(100%) sepia() saturate(10000%) hue-rotate(0deg)
(演示)
强力搜索固定过滤器列表的参数:https
 
://stackoverflow.com/a/43959856/181228缺点:效率低下,只生成一些16,777,216种可能的颜色(676,248 hueRotateStep=1).
使用SPSA的更快的搜索解决方案:https : //stackoverflow.com/a/43960991/181228 Bounty奖励
一个drop-shadow解决方案:
 /sf/answers/3077189741/
 
缺点:不上边缘运行.需要非filterCSS更改和次要HTML更改.
您仍然可以通过提交非暴力解决方案获得接受的答案!
如何hue-rotate和sepia计算:
 /sf/answers/2066480321/ 
例的Ruby实现:
LUM_R = 0.2126; LUM_G = 0.7152; LUM_B = 0.0722
HUE_R = 0.1430; HUE_G = 0.1400; HUE_B = …我知道如何在我的网站上加载SVG图标,但我无法弄清楚如何满足以下所有限制:
fill: currentColor使图标与当前文本颜色匹配,就像图标字体一样通过使用外部精灵映射可以满足1,2,3和4:
<svg viewBox="0 0 100 100">
    <use xmlns:xlink="http://www.w3.org/1999/xlink"
         xlink:href="/assets/sprite-4faa5ef477.svg#icon-asterisk-50af6"></use>
</svg>
但是在浏览器修复CORS问题之前我们不能使用CDN .
我们可以修补对外部域的支持,但我很确定这对CSS不起作用,因为它只监视DOM(抱歉,尚未测试),并且它还会导致你的浏览器产生一大堆对无法获取的文件的请求失败(页面上每个图标一个).
我们可以使用CDN,而不是内联整个SVG(增加页面大小,没有缓存)或我们AJAX它(导致FOMI).
那么,有没有满足所有的解决方案 五 7个限制?
基本上我希望SVG和图标字体一样方便,或者没有切换点.SVG支持多种颜色,并且更容易访问,但我无法让它们看起来很好,或者加载效率很高.