【发布时间】:2018-06-01 15:19:16
【问题描述】:
看到这个JSFiddle
.goblin {
background-image: url("https://gameartpartners.com/wp-content/uploads/edd/2015/06/goblin_featured.png");
width: 600px;
height: 500px;
background-color: red;
background-blend-mode: normal;
}
.goblin:hover {
background-blend-mode: multiply;
}
请注意,当您将鼠标悬停在图像上时,它会正确地将红色调应用到地精。但是,我只希望红色应用于地精,而不是他周围的透明像素。有没有办法用 CSS 做到这一点?
这是一个密切相关的stackoverflow post。我无法使用此解决方案,因为此解决方案中使用的图像非常基本,并且只有一种颜色。 -webkit-mask-box-image 不适用于更复杂的示例。
编辑:这是我想要的图片:https://imgur.com/a/j3xt86B
【问题讨论】:
-
为什么不在 img 元素上使用简单的过滤器?有什么理由让你必须坚持使用混合模式?
-
我真的不清楚你想在这里实现什么?你有预期结果的例子吗?
-
“他周围的透明像素”是什么意思?
-
预期的结果正是 jsfiddle 中的内容,除了地精周围不应该有红色背景。
-
我更新了 jsfiddle,希望能更清楚地了解发生了什么
标签: css css-filters background-blend-mode