Обновление 2013-10: подтверждено исправлено в v24 , который теперь попал в канал релиза
Обновление 2013-07: Ошибка устранена! Исправление превратится в Firefox 24, который будет выпущен где-то между сентябрем и октябрем
Я где-то читал о несколько простом решении этой проблемы, которое теперь использую в своих проектах (добавлю источник, когда найду его снова):
просто установите ширину и высоту svg-контейнера на максимальные значения, которые изображение, вероятно, будет иметь, и у вас все в порядке. Работает во всех современных браузерах просто отлично. Единственное ограничение заключается в том, что Firefox и Opera (да, те же два браузера, которые вызвали этот беспорядок) не работают с очень большими изображениями -> не используют слишком высокие значения для измерений
оригинальный файл:
<svg width="64px" height="128px">
скажем, максимальная ширина будет в 3 раза больше, тогда ваш SVG должен содержать это:
<svg width="192px" height="384px">
(да, узел svg
может иметь больше атрибутов ...)
Причина, по которой это работает, заключается в том, что Opera и FF отображают SVG перед изменением их размера, а не наоборот, как это должно быть сделано с вектором gfx
ОБНОВЛЕНИЕ: заслуги Дэвида Бушелла, написавшего замечательную статью о Независимости разрешения с SVG .