gpt4 book ai didi

html - 圆化 SVG 的 Angular

转载 作者:行者123 更新时间:2023-12-05 04:35:25 24 4
gpt4 key购买 nike

我正在使用一个生成具有这种结构的矩形 Treemap 的包:

  • svg(宽度为 100% 且高度为 100% 的包装器)
    • svg(树状图的外矩形,同样是 width=100% 和 height=100%)
      • g(每个 TreeMap 节点一个)
        • 正交
        • 剪辑路径
        • 文本

svg element我需要将整个 Treemap 的四个 Angular 圆化(不是其中每个矩形的 rx ry)。

是否可以通过创建 clipPath 作为包装器的子项或定义圆 Angular 矩形的内部 svg 来做到这一点?如果是这样,它是否可以显示 svg 后面的任何背景颜色?

更新: @web-tiki - 这是代码的样子......

<svg width="100%" height="100%" style="border-radius: 4px;">
<svg width="100%" height="100%">
<!-- ... -->

在 Safari 和 Firefox 上看起来不错,但 Chrome 似乎忽略了它。想知道它是否是 Carbon Charts Treemap 和 Chrome 的组合?

最佳答案

最简单的解决方案可能是在 svg 包装器元素上使用 border-radius CSS 属性。它将允许您剪辑 svg 元素上的圆 Angular 并显示 svg 后面的背景颜色。这是一个例子:

body {
background: darkorange;
}

#wrapper {
display: block;
width: 100%;
border-radius: 50px;
overflow: hidden;
border:10px solid pink;
}
<svg id="wrapper" viewBox="0 0 100 100">
<svg>
<rect fill="teal" x="0" y="0" width="100" height="100"/>
</svg>
</svg>

附带说明一下,您还可以将整个 svg 包装在一个 div 中,然后像这样在该 ​​div 上应用 border-radius :

body {
background: darkorange;
}

#wrapper {
border-radius: 50px;
overflow: hidden;
border: 10px solid pink;
}
<div id="wrapper">
<svg viewBox="0 0 100 100">
<svg>
<rect fill="teal" x="0" y="0" width="100" height="100"/>
</svg>
</svg>
</div>

关于html - 圆化 SVG 的 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71036050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com