如何根据背景颜色更改固定文本的颜色

How do you change the color of a fixed text based on the background color

有谁知道一个纯粹的 css 解决方案,使固定 svg 的每个部分都根据背景颜色(浅色或深色)改变颜色,就像 this website 和他们的徽标一样。 我试图查看代码,但没有看到任何可以解释此行为的内容。 也许他们正在使用 js 解决方案,但我无法想象他们是如何做到的。

我检查过:

有人知道怎么做吗?

简单来说,不能根据元素或其父元素在CSS中的background-color给元素分配color 属性。

但是,您可以使用 mix-blend-mode 应用一些考虑前景和背景的颜色效果。

这就是他们在您的站点示例中所做的。

如果您检查 MENU 的属性,您会注意到 color 与背景相同。但是由于mix-blend-mode: difference,如果背景为黑色,则计算为黑色,如果背景为黑色,则计算为白色。

真正好的地方在于可以在字符中间以不同方式计算颜色。这甚至适用于视频。