【发布时间】:2021-09-20 18:06:02
【问题描述】:
在我的 html 中,我有透明的 svg 圆圈。我需要在这个 svg 圆圈上反转颜色,所以我会看到带有青色文本的黑色圆圈。
我尝试使用过滤器 invert(1) 将 .cursor__inner 的填充设置为透明(正如您在代码 sn-p 上看到的那样),但它不起作用。
.cursor {
position: absolute;
top: 0;
left: 0;
}
.cursor__inner {
fill: transparent;
filter: invert(1);
}
p {
color: red;
}
<svg class="cursor" width="64" height="64" viewBox="0 0 64 64">
<circle class="cursor__inner" cx="32" cy="32" r="32" />
</svg>
<p>Hello World!</p>
我想做这个效果:
我更喜欢纯 CSS 的解决方案。
【问题讨论】:
-
反转透明度不会产生黑色(与白色相反),因为它不会反转 Alpha 通道(不透明度)部分。您能否再描述一下您的约束是什么——您可以控制什么,您无法控制什么?例如有什么理由不能让透明度变成白色吗?你能改变任何 CSS/HTML/SVG 吗?
-
我可以更改 CSS 和 HTML。
-
我也可以更改 SVG,但我宁愿不更改 SVG。
-
那么为什么不为 SVG 设置 fill=black 为 p 设置 color:cyan 呢?反转的意义是什么?
-
因为,在我的网站上有更多颜色(红色只是示例)。查看我的更新 - 我添加了图片。
标签: javascript html css svg