Фрагмент SVG Sprite + фоновое изображение CSS в Safari

Я работаю над сайтом, где я использую файл фрагментов SVG и загружаю, в частности, SVG через фоновые изображения CSS.

У меня также есть запасной вариант PNG, и я использую ниже в качестве основы для работы: https://css-tricks.com/a-complete-guide-to-svg-fallbacks/

ПРИМЕР

.ico-arrow-right {
  background: url(ico-arrow-right.png);
  background: url(sprite-collection.svg#arrowright),
    linear-gradient(transparent, transparent);
}

Проблема в том, что он работает нормально в большинстве браузеров, но в Safari для настольных компьютеров и браузеров IOS SVG не отображается, а просто показывает пустое пространство. Рассматривая это, кажется, что Safari /webkit на устройствах не любит спрайты фрагментов SVG при использовании их с фоновыми изображениями CSS.

Есть ли какое-то решение / способ обойти это? Я все еще хочу использовать фоновое изображение CSS для извлечения PNG/SVG, и не хочу возвращаться к использованию отдельных файлов SVG, поскольку существует более 60 svgs, и я не хочу, чтобы все эти запросы к серверу!

Спасибо всем

0 ответов

Добавьте заголовок "content-type" для файлов SVG на вашем сервере, например, в apache, добавив это в ваш файл.htaccess:

AddType image/svg+xml .svg .svgz

Другие вопросы по тегам