Внутренний коэффициент для встроенного SVG

Я строю встроенный SVG с JS. Пропорции (он же соотношение) SVG динамичны: в любой момент его можно изменить с JS.

Я хотел бы сделать SVG отзывчивым. Вот как я бы сделал это с <img>:

img {
  width: 100%;
  height: auto;
}

Но это не будет работать для <svg>, Скрипка: http://jsbin.com/vobaq/1/edit?html,css,output

Цель состоит в том, чтобы масштабировать встроенный элемент SVG, чтобы он помещался в контейнере горизонтально, не искажая его пропорций. CSS не должен знать текущие пропорции SVG.

1 ответ

Решение состоит в том, чтобы использовать viewbox атрибут вместо width а также height, Тогда вам даже не нужен CSS width: 100%; height: auto;!

Демонстрация: http://jsbin.com/vobaq/4/edit?html,css,output

Другие вопросы по тегам