Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SVG开始大小为0_Javascript_Svg - Fatal编程技术网

Javascript SVG开始大小为0

Javascript SVG开始大小为0,javascript,svg,Javascript,Svg,我正在使用JS将SVG元素插入HTML。我希望元素具有宽度=100%和高度=200px。然后我想在SVG元素中插入一条路径。路径d取决于SVG元素的大小,但插入后它就是0。我试过: 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 va

我正在使用JS将SVG元素插入HTML。我希望元素具有
宽度=100%
高度=200px
。然后我想在SVG元素中插入一条路径。路径
d
取决于SVG元素的大小,但插入后它就是0。我试过:

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
还有一个css:

svg {
width: 100%;
height: 200px;
display: block;
}

无论是否存在显示:块,结果都是相同的。我做错什么了吗?当我的元素的高度和宽度非零时,是否有触发的事件?谢谢大家!

宽度和高度属性的默认值为
100%

您正在访问的IDL属性将反映这一点

您想要的可能更多的是节点的边界rect,但在HTML中,如果没有显式设置这些属性,它将默认为300*150(我不记得确切的原因,与内联替换有关,但它也涉及到,至少)

var board=document.createElements('http://www.w3.org/2000/svg'、'svg');
文件.正文.附件(板);
console.log(board.width.baseVal.valueAsString);//"100%"
//您需要的是边界矩形
const rect=board.getBoundingClientRect();
常数w=矩形宽度;//300(+2个边界)
常数h=垂直高度;//150(+2个边界)
控制台日志(w,h)

svg{border:1px solid;}
宽度和高度属性的默认值为
100%

您正在访问的IDL属性将反映这一点

您想要的可能更多的是节点的边界rect,但在HTML中,如果没有显式设置这些属性,它将默认为300*150(我不记得确切的原因,与内联替换有关,但它也涉及到,至少)

var board=document.createElements('http://www.w3.org/2000/svg'、'svg');
文件.正文.附件(板);
console.log(board.width.baseVal.valueAsString);//"100%"
//您需要的是边界矩形
const rect=board.getBoundingClientRect();
常数w=矩形宽度;//300(+2个边界)
常数h=垂直高度;//150(+2个边界)
控制台日志(w,h)

svg{border:1px solid;}
document.createElements('http://www.w3.org/2000/svg“,”svg“
只需创建空的svg。svg元素没有宽度或高度,这是用于调整svg viewboxwidth=100%的HTML Dom的宽度或高度???
document.createElements('http://www.w3.org/2000/svg“,”svg“
只需创建空的svg。svg元素没有宽度或高度,这是用于调整svg viewboxwidth的HTML Dom的宽度或高度=什么的100%???