В браузерах на основе Webkit и Blink SVG не отображаются правильно.Между изображениями имеется пространство с различными уровнями масштабирования.В StackOverflow есть несколько тем, посвященных этой проблеме, все они помечены как решенные, но эти люди не должны достаточно тщательно тестировать свои решения.
Мои SVG-файлы имеют абсолютно четное число пикселей (130 x 24).У них задан фоновый размер 130px 24px.Они установлены в preserveAspectRatio = "none".На краях SVG абсолютно нулевое пустое пространство.
Тем не менее, несмотря на то, что при 100% он выглядит нормально, между SVG все равно остается небольшое пространство, если вы увеличиваете масштаб до нужного уровня.
Меня удивляет, что об этой ошибке ранее не сообщалось, учитывая распространенные рекомендации по использованию SVG для фона.
Вот точный SVG:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 130 24" xml:space="preserve" preserveAspectRatio="none">
<style type="text/css">
.st0{fill:#A5EF8B;}
</style>
<path class="st0" d="M0,12c32.5,0,32.5,12,65,12s32.5-12,65-12V0C97.5,0,92.9,12,65,12C32.5,12,20.7,0,0,0"/>
</svg>
Я могу подтвердить это поведение и с другими SVG, такими как https://www.heropatterns.com/
Codepen для тестирования: https://codepen.io/TelFiRE/pen/gJzqaG
Пространство между изображениями обычно составляет менее 1 пикселя (это означает, что линия - просто более светлый оттенок зеленого).Это тонкий и может быть трудно увидеть, если у вас скучный монитор.
Задавая этот вопрос, я надеюсь понять, ПОЧЕМУ это происходит таким образом, что позволяет мне без проблем создавать много повторяющихся фонов SVG.,Речь идет не только об одном изображении, поэтому я хочу избегать хакерских решений / обходных путей, если это вообще возможно.Например, обрезка 2 пикселей по краю исправляет это на 99%, но не полностью, и у меня возникает вопрос, что бы я сделал, если бы мне действительно понадобились эти два пикселя.Этот конкретный SVG выглядит хорошо, но более сложные паттерны будут выбиты из выравнивания.