Мне интересно, сталкивался ли кто-нибудь с этой проблемой раньше и может ли указывать мне правильное направление? Я пытаюсь раскрасить иконки SVG с помощью градиента, определенного на самой странице. Когда я пытаюсь сослаться на градиент, он отлично работает в chrome, но ломается в iOS / safari.
Chrome отобразит стиль как url (#grad) где safari любит делать url (../ ../../whwhat/css/#grad)
Некоторая разметка:
<svg width="1em" class="svg-inline icon-grad" aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path d="M16 0.5c8.563 0 15.5 6.938 15.5 15.5s-6.938 15.5-15.5 15.5-15.5-6.938-15.5-15.5 6.938-15.5 15.5-15.5zM14.194 9.475l4.719 4.525h-11.412c-0.831 0-1.5 0.669-1.5 1.5v1c0 0.831 0.669 1.5 1.5 1.5h11.412l-4.719 4.525c-0.606 0.581-0.619 1.55-0.025 2.144l0.688 0.681c0.588 0.587 1.537 0.587 2.119 0l8.294-8.287c0.587-0.587 0.587-1.537 0-2.119l-8.294-8.3c-0.587-0.588-1.537-0.588-2.119 0l-0.688 0.681c-0.594 0.6-0.581 1.569 0.025 2.15z"></path>
</svg>
Мой градиент также определен на странице:
<svg width="0" height="0" style="display:block;">
<linearGradient id="grad" x1="100%" y1="100%" x2="0%" y2="0%" >
<stop offset="0%" style="stop-color:rgb(60,80,100);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(100,145,170);stop-opacity:1" />
</linearGradient>
</svg>
CSS:
.icon-grad * {fill: url(#grad);}
Chrome, кажется, справляется с этим просто отлично, но Safari выдает ошибку при замене на относительный URL. Я неправильно определяю сафари или есть обходной путь?