【问题标题】:How to avoid mixing SVG colors without using ClipPath?如何在不使用 ClipPath 的情况下避免混合 SVG 颜色?
【发布时间】:2021-03-16 03:06:15
【问题描述】:

我有两条 SVG 路径,路径 B(绿色)严格来说是路径 A(红色)的子集。当我将它们绘制在一起时,路径-B 变为黑色,因为绿色+红色=黑色!我想让路径 B 的颜色覆盖路径 A 而不是混合。我怎样才能做到这一点?我知道我可以使用 ClipPath 来做到这一点,但这是一个简化版本,实际情况涉及数十个段,并且可能有一个路径 C,它是路径 B 的子集,依此类推。我希望下一个路径的颜色覆盖以前的颜色。如果 SVG 或 CSS 中有这样的设置来实现这一点,任何人都可以指导我吗?非常感谢!

顺便说一句,我使用 D3 生成 SVG 路径。

【问题讨论】:

    标签: javascript css svg d3.js


    【解决方案1】:

    我找到了罪魁祸首:我的代码中潜入了 style="mix-blend-mode: multiply;" 行。一旦我删除它,一切都会按预期工作。

    【讨论】:

    • 啊哈! - FWIW - SVG 中没有 z-index,无论按顺序最后绘制的内容都排在最前面。
    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多