Javascript 为什么父元素有额外的空间

Javascript 为什么父元素有额外的空间,javascript,html,svg,Javascript,Html,Svg,嗨,我在div元素中有svg矩形。我已经将rect元素的高度设置为300。检查父元素(div)高度时显示为304为什么 <div> <svg width="300" height="300"> <rect width="300" height="300" style="fill:rgb(0,0,255);stroke-width:3;stroke:rgb(0,0,0)" /> </svg> </div> 示例链接: 开始和

嗨,我在div元素中有svg矩形。我已经将rect元素的高度设置为300。检查父元素(div)高度时显示为304为什么

<div>
<svg width="300" height="300">
  <rect width="300" height="300" style="fill:rgb(0,0,255);stroke-width:3;stroke:rgb(0,0,0)" />
</svg>

 </div>

示例链接:


开始和结束标记之间有空格。将父级的字体大小设置为0,它将在inspector中显示300px

div{
字号:0;
}


您需要为svg元素设置
display:block
,因为默认情况下它是内联的。以下是对您的问题的一个很好的回答:

它是否有来自CSS的其他样式?像边框还是填充物?@MarkHünermundJensen无样本added@MarkHünermundJensen好的,但是如果我在div中有一个文本,意味着在你的场景中,文本不会显示。如果你在div上定义300px,它将听它。我理解可能有一个更一般的问题,但这至少似乎解决了真正的Akbar的长期问题,除非您将文本放入元素并设置其字体大小。您可以说svg元素默认为
display:inline
,并将链接作为参考。