2014-09-22 1 views
-1

Я работаю с svg.js, и я пытаюсь поставить в середине svg. Я использую атрибут preserveAspectRatio, но он не работает.Центр SVG с атрибутом preserveAspectRatio и svg.js

Я определил окно просмотра, но свойство preserveAspectAttribute не работает. Когда я пишу saveAspectAttribute, исчезает последний svg, и я не знаю, почему.

Я поставил все (css, svg.js, js и необходимый html) в jsFiddle.

Я надеюсь, что любой может мне помочь.

ответ

2

Если посмотреть на консоли (нажмите F12), вы увидите сообщение об ошибке:

Uncaught TypeError: undefined is not a function 

также вкладка Net в Дев инструментов показывает, что store.svg не загружается.

Задача 1

Основная проблема с кодом эта линия.

imageE.maskWith(circleE).move(-20).attr('preserveAspectRatio', 'xMidYMid meet') 

move() ожидает два параметра и поэтому эта ошибка вызывает код, чтобы остановить в этой точке. Секция магазина вашего кода не работает.

Если вы измените строку:

imageE.maskWith(circleE).move(-20,0).attr('preserveAspectRatio', 'xMidYMid meet') 

все работает.

Задача 2

xMidYmid meet должен быть xMidYMid meet (капитал M). Однако эта ошибка не действует, потому что по умолчанию xMidYMid meet.

Working example here

+0

я смог центрировать изображение с помощью .x(), но это намного лучше, так как он фиксирует основную проблему. – chriskelly

Смежные вопросы