【发布时间】:2014-08-01 18:46:16
【问题描述】:
我有一个 SVG 组,其中包含一个矩形,并希望该矩形充当该组的边框...
<g>
<rect></rect>
</g>
但该组是动态的,其内容会发生变化。我正在尝试在我的更新函数中调整矩形的大小
.attr("x", function(d) { return this.parentNode.getBBox().x })
.attr("y", function(d) { return this.parentNode.getBBox().y })
.attr("width", function(d) { return this.parentNode.getBBox().width })
.attr("height", function(d) { return this.parentNode.getBBox().height })
但似乎发生的情况是它扩展得比较好,但由于组的边界框宽度现在与扩展矩形的宽度相同(矩形的宽度是组的宽度,但组的宽度现在是矩形的宽度)。
有没有办法让 SVG 组内的矩形正确调整大小并充当边框?
【问题讨论】:
-
为什么需要
rect成为g元素的子元素? -
@Duopixel 这让事情更有条理(因为你会期望边框在其组内,而不是在组外),但你是对的,我不需要它作为一个孩子!如果您将此添加为答案,我会接受它,因为这个明显的解决方案解决了我的问题:)
标签: javascript svg d3.js