SVG起始大小为0 0

时间:2019-03-21 02:27:57

标签: javascript svg

我正在使用JS将SVG元素插入HTML。我希望元素具有for someitem in collection_of_itemswidth=100%。然后,我想在SVG元素中插入一个路径。路径height=200px取决于SVG元素的大小,但插入后即为0 0。我尝试过:

d

还有这个CSS:

var board = document.createElementNS('http://www.w3.org/2000/svg','svg');
document.body.append(board);
var h = board.height.baseVal.value; //appears to be 0
var w = board.width.baseVal.value; //appears to be 0

无论是否有svg { width: 100%; height: 200px; display: block; } ,结果都是一样的。难道我做错了什么?当我的元素的高度和宽度非零时,会触发任何事件吗?谢谢!

1 个答案:

答案 0 :(得分:0)

<svg> widthheight属性的默认值为100%
您正在访问的IDL属性将反映出来。

您想要的可能更多是节点的边界矩形,但是在HTML中,如果未明确设置这些属性,则默认值为300 * 150(我不记得确切的原因,这与inline-replacedElements有关IIRC ...,但它也至少涉及