是否有任何方法可以使用CSS过滤器属性从灰色中获取特定颜色?

是否有任何方法可以使用CSS过滤器属性从灰色中获取特定颜色?,css,colors,css-filters,Css,Colors,Css Filters,我需要将悬停图标的颜色从灰色(#b7b7)更改为珊瑚色(#b45d64) 我发现使用CSS过滤器很容易将珊瑚变成灰色。所以现在我使用反向解决方案,在Photoshop中将所有图标的颜色更改为珊瑚色,并将CSS过滤器设置为灰色,如下面的代码示例所示,悬停时使用none值禁用CSS过滤器 但我想知道是否有任何算法或方法可以从灰色中获得特定的颜色,如#b45d64。我使用了sepia并手动使用亮度、饱和度和色调旋转过滤器,但我知道有一种更简单的方法可以做到这一点(我的意思是更简单的方法来计算亮度、饱和

我需要将悬停图标的颜色从灰色(#b7b7)更改为珊瑚色(#b45d64

我发现使用CSS过滤器很容易将珊瑚变成灰色。所以现在我使用反向解决方案,在Photoshop中将所有图标的颜色更改为珊瑚色,并将CSS过滤器设置为灰色,如下面的代码示例所示,悬停时使用none值禁用CSS过滤器

但我想知道是否有任何算法或方法可以从灰色中获得特定的颜色,如#b45d64。我使用了sepia并手动使用亮度、饱和度和色调旋转过滤器,但我知道有一种更简单的方法可以做到这一点(我的意思是更简单的方法来计算亮度、饱和度和色调旋转,以使用sepia从灰色中获得#b45d64)

.makegray:悬停{
-webkit过滤器:亮度(1.72)饱和(0)色调旋转(0度);
滤镜:亮度(1.72)饱和(0)色调旋转(0度);
}
.makecoral:悬停{
-webkit过滤器:乌贼墨(1)亮度(0.54)饱和(2)色调旋转(305deg);
滤光片:深褐色(1)亮度(0.54)饱和(2)色调旋转(305deg);
}


如果从CSS中引用SVG过滤器,则可以获得特定的颜色。下面是SVG过滤器片段。对于特定颜色,用RGB值的单位值替换.7/.4/.5

<filter id="colorme" color-interpolation-filters="sRGB">
  <feColorMatrix type="matrix" values="0 0 0 0 .7  0 0 0 0 .4  0 0 0 0 .5  0 0 0 1 0"/>
</filter>

如果从CSS中引用SVG过滤器,则可以获得特定的颜色。下面是SVG过滤器片段。对于特定颜色,用RGB值的单位值替换.7/.4/.5

<filter id="colorme" color-interpolation-filters="sRGB">
  <feColorMatrix type="matrix" values="0 0 0 0 .7  0 0 0 0 .4  0 0 0 0 .5  0 0 0 1 0"/>
</filter>


坦白地说,我不知道。您当前的技术或工具您无法请求工具的建议。通常情况下,我只是从一个好问题中编辑这一部分,但这是一个很小的变化(通常问题还有其他需要改进的地方),而且我还不到2K,所以我想我应该指出这一部分听起来像是一个记录/查找请求。@BSMP谢谢你指出了这一点,我编辑了我的问题。Paulie_D感谢您的评论。好吧,
sepia()
是唯一能够将灰度转换为非灰度的过滤器,这正是您所采取的方法。坦白说,我不知道。您当前的技术或工具您无法请求工具的建议。通常情况下,我只是从一个好问题中编辑这一部分,但这是一个很小的变化(通常问题还有其他需要改进的地方),而且我还不到2K,所以我想我应该指出这一部分听起来像是一个记录/查找请求。@BSMP谢谢你指出了这一点,我编辑了我的问题。Paulie_D感谢您的评论。好吧,
sepia()
是唯一能够将灰度转换为非灰度的过滤器,这正是您所采取的方法。