Html 在IE中,内联SVG默认为100%宽度

Html 在IE中,内联SVG默认为100%宽度,html,css,internet-explorer,svg,inline,Html,Css,Internet Explorer,Svg,Inline,要将内联SVG与DOM中同样为display:inline的IE SVG一起使用,如果我不希望它们具有100%的宽度,则必须显式设置宽度。这是正确的吗 HTML 如果没有指定,您希望默认的大小是多少?我的假设是,它足够宽,可以显示其内容,同时保持正确的纵横比,类似于内嵌显示时的div、span或image,或者在IE以外的浏览器中显示SVG。基本上,宽度:auto。但手动设置时,宽度:自动似乎不起作用。SVG不是HTML。它不会自动调整以适应其内容。将其视为正在绘制的图像表面。你需要告诉浏览器你

要将内联SVG与DOM中同样为display:inline的IE SVG一起使用,如果我不希望它们具有100%的宽度,则必须显式设置宽度。这是正确的吗

HTML


如果没有指定,您希望默认的大小是多少?我的假设是,它足够宽,可以显示其内容,同时保持正确的纵横比,类似于内嵌显示时的div、span或image,或者在IE以外的浏览器中显示SVG。基本上,宽度:auto。但手动设置时,宽度:自动似乎不起作用。SVG不是HTML。它不会自动调整以适应其内容。将其视为正在绘制的图像表面。你需要告诉浏览器你想要的曲面有多大,这是有道理的。我想我的希望是,因为其他浏览器确实可以通过使用viewbox信息来调整SVG以适应其内容,IE也可以这样做。如果内容指的是最外层的宽度、高度和(在某些情况下)viewbox的值,那么是的。但它们是内容中唯一可以影响SVG大小的部分。
<div>
  text on the left
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-werks" viewBox="0 0 40 40">
    <title>icon-down-arrow-circle</title> <g> <circle cx="20" cy="20" r="20"/></g>
  </svg>
  text on the right
</div>
<div>
text on the left
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-noWerks" viewBox="0 0 40 40">
    <title>icon-down-arrow-circle</title> <g> <circle cx="20" cy="20" r="20"/></g>
  </svg>
text on the right
</div>
.icon{
  fill:#555;
}
.icon-werks{
  height:50px;
  width:50px;
  display:inline;
}
.icon-noWerks{
  height:50px;
  display:inline;
}