viewBox
сообщает браузеру, как содержимое SVG должно располагаться и масштабироваться.Он должен быть в любом SVG, если вы хотите, чтобы он был отзывчивым, или если контент внутри SVG рисуется в масштабе, отличном от конечного размера, в котором он будет отображаться.
Например, если вашSVG всегда будет 24x24, и ваш контент (который содержит символы) находится внутри этого поля 24x24, вам не нужны никакие окна просмотра.
<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 всегда потребуется viewBox
.Однако символ не обязательно должен иметь его.
<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>