Как использовать окно просмотра, когда высота svg динамически меняется

У меня есть изменяемый размер div. Он имеет два внутренних div. В одном из внутренних div есть элемент svg.

В элементе svg я динамически добавляю и удаляю контент, так что каждый раз, когда я добавляю что-то в свой svg. Я увеличиваю его высоту, добавляя к нему 20 пикселей, а когда удаляю, я вычитаю высоту на 20 пикселей. Когда моя высота svg становится больше, чем ее родительский div, в родительском div появляется полоса прокрутки. Точно так же полоса прокрутки удаляется, когда высота svg меньше родительского div.

Проблема начинается, когда я делаю изменение размера. Я добавил параметр окна просмотра в свой svg для изменения размера. Но когда я увеличиваю размер, некоторые из моих элементов svg не видны. И когда я уменьшаю размер, мой svg помещается в более низкую позицию, оставляя пустое место.

У меня все запуталось в том, как обращаться с позицией/высотой svg со свойством viewbox.

Я попытался сделать скрипку, чтобы как-то имитировать поведение. Но здесь элементы в svg не добавляются динамически, а высота svg постоянна.

Ссылка на мой код

Будем признательны за любую помощь

7
задан A_user 27 July 2012 в 11:08
поделиться