这个
viewBox
告诉浏览器如何定位和缩放SVG的内容。如果希望SVG具有响应性,或者SVG中的内容以不同于最终呈现大小的比例绘制,则需要将其放在任何SVG上。
<svg width="0" height="0">
<symbol id="icon">
<rect width="24" height="24" fill="orange"/>
<circle cx="12" cy="12" r="10" fill="red"/>
</symbol>
</svg>
<svg width="24" height="24">
<use href="#icon"/>
</svg>
但是,如果它们不是按比例1:1设计的,则渲染的SVG将始终需要
视窗
<svg width="0" height="0">
<symbol id="icon">
<rect width="100" height="100" fill="orange"/>
<circle cx="50" cy="50" r="40" fill="red"/>
</symbol>
</svg>
<svg width="24" height="24" viewBox="0 0 100 100">
<use href="#icon"/>
</svg>