如何根据背景颜色更改固定文本的颜色
How do you change the color of a fixed text based on the background color
有谁知道一个纯粹的 css 解决方案,使固定 svg 的每个部分都根据背景颜色(浅色或深色)改变颜色,就像 this website 和他们的徽标一样。
我试图查看代码,但没有看到任何可以解释此行为的内容。
也许他们正在使用 js 解决方案,但我无法想象他们是如何做到的。
我检查过:
- svg 的填充颜色:不变。
- svg 和父级的每个 css 值:据我所知,没有任何东西可以解释这种行为。
有人知道怎么做吗?
简单来说,不能根据元素或其父元素在CSS中的background-color给元素分配color
属性。
但是,您可以使用 mix-blend-mode
应用一些考虑前景和背景的颜色效果。
这就是他们在您的站点示例中所做的。
如果您检查 MENU 的属性,您会注意到 color
与背景相同。但是由于mix-blend-mode: difference
,如果背景为黑色,则计算为黑色,如果背景为黑色,则计算为白色。
真正好的地方在于可以在字符中间以不同方式计算颜色。这甚至适用于视频。
有谁知道一个纯粹的 css 解决方案,使固定 svg 的每个部分都根据背景颜色(浅色或深色)改变颜色,就像 this website 和他们的徽标一样。 我试图查看代码,但没有看到任何可以解释此行为的内容。 也许他们正在使用 js 解决方案,但我无法想象他们是如何做到的。
我检查过:
- svg 的填充颜色:不变。
- svg 和父级的每个 css 值:据我所知,没有任何东西可以解释这种行为。
有人知道怎么做吗?
简单来说,不能根据元素或其父元素在CSS中的background-color给元素分配color
属性。
但是,您可以使用 mix-blend-mode
应用一些考虑前景和背景的颜色效果。
这就是他们在您的站点示例中所做的。
如果您检查 MENU 的属性,您会注意到 color
与背景相同。但是由于mix-blend-mode: difference
,如果背景为黑色,则计算为黑色,如果背景为黑色,则计算为白色。
真正好的地方在于可以在字符中间以不同方式计算颜色。这甚至适用于视频。