Как я понимаю у вас проблема зацикливания. Изменение размеров приводит к изменению позиций они меняют размер и т.д. Во первых, вам нужны не % а vw и vh величины которые отталкиваются от размеров экрана а не конкретного элемента. Что конкретно нужно сделать. 1 сделайте контейнер для svg с размерами привязанными к размеру экрана
.glob-cr {
position:relative;
overflow: hidden;
}
.svg-cr {
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0;
}
svg элементы внутри можете позиционировать так же как в % и в vw и vh
так у вас появится отдельный контейнер и родительский будет изменять область видимости контейнера. а вообще из объяснения нифига не понятно, нужно весь код фрагмента в студию