html - 以纯色为背景的 SVG 形状透明度

标签 html svg shapes

我有一个用作背景的 svg 容器,并在其中绘制了一个圆圈

基本上,这就是我所做的:

<svg width="200" height="200" style="background-color:green">
    <circle cx="100" cy="100" r="80" stroke="black" stroke-width="2" fill="transparent" />
</svg>

它创建类似 this 的内容

你可以看到圆是透明的,但它仍然有来自 svg 标签的绿色背景, 我怎样才能让这个圆圈真正透明,这样它就可以显示为一个洞(在这种情况下它将是白色的,因为页面背景是白色的),以明确这是我想要显示的: enter image description here

有什么办法可以做到这一点吗?

最佳答案

你可以使用面具。在这里您可以看到穿过矩形的红色背景。

<svg width="200" height="200" style="background-color:red">
    <mask id="mask">
        <rect fill="white" width="100%" height="100%"/>
        <circle cx="100" cy="100" r="80" stroke="black" stroke-width="2" fill="black" />
    </mask>
    <rect mask="url(#mask)" fill="green" width="100%" height="100%"/>
</svg>

关于html - 以纯色为背景的 SVG 形状透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26462205/

相关文章:

python - shapely parallel_offset 有时不会生成闭环

html - 无法在表响应式 tbody 上禁用文字变形

javascript - 如何制作循环图像幻灯片?

javascript - jQuery 可重用元素和子访问

css - Django 样式问题 - 无法显示图标

android - 只有一个透明边框的形状

html - 地铁网格样式

javascript - 如何在不看到 "blinking"的情况下更新 SVG 图像

html - svg text transform-rotate 更改文本标签的 x 和 y 位置

android - 如何在 android Canvas 上绘制实心三角形