Подтвердить что ты не робот

Автомасштабирование SVG, встроенного в HTML, при изменении размера окна

Я хотел бы встроить некоторый SVG в HTML-страницу таким образом, чтобы автоматически изменялся размер (используя SVG, CSS или JS) при изменении размера страницы, сохраняя при этом прежнее соотношение сторон.

Например, используя пример из W3Schools:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
</svg>

Можно ли установить ширину SVG = 5% ширины окна и пропорционально ли увеличить масштаб?

Я пробовал пару вещей, включая preserveAspectRatio="xMinYMin meet", и установил размеры до 100% в контейнере <div>, но пока не получил его.

Любые предложения?

4b9b3361

Ответ 1

Вам нужен атрибут viewBox в корневом элементе SVG, который определит общий размер SVG-изображения:

<svg version="1.1" viewBox="0 0 300 185">

Теперь вы можете установить ширину или высоту изображения с помощью CSS, и он отлично масштабируется.