SVG feColorMatrix не работает в сафари
У меня есть довольно простая установка, где я хочу изменить цвет изображения SVG с помощью фильтра SVG:
<svg style="height: 0;">
<filter id="hover" color-interpolation-filters="sRGB"
x="0" y="0" height="100%" width="100%">
<feColorMatrix type="matrix"
values="
0 0 0 0 0
0 0 0 0 0.68
0 0 0 0 0.94
0 0 0 1 0
"
/>
</filter>
</svg>
<img style="-webkit-filter: url('#hover'); filter: url('#hover');"
src="https://upload.wikimedia.org/wikipedia/commons/8/81/Wikimedia-logo.svg" alt="" />
Пожалуйста, обратитесь к приложенному коду для деталей.
Это работает в Firefox и Chrome, но я не могу найти проблему в сафари. Согласно caniuse, поддержка должна быть в порядке.
1 ответ
Решение
Итак, это будет казаться глупым - но это первоначальный разрыв строки в вашем фильтре, который отбрасывает его. Исправляя это, чтобы:
<feColorMatrix type="matrix"
values="0 0 0 0 0
0 0 0 0 0.68
0 0 0 0 0.94
0 0 0 1 0
"
/>
... работает отлично. (Между прочим, в какой-то момент IE не мог обрабатывать разрывы строк в массиве значений в любой позиции - вы должны были поместить их все в одну строку.)