Кроссбраузерный GrayScale с поддержкой Internet Explorer 10

21.07.2018

Пример кроссбраузерного варианта сделать картинку черно-белой с помощью CSS.

IE11 не поддерживает filter.

img.grayscale {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
  transition: .4s;
}

img.grayscale:hover {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
    -webkit-filter: grayscale(0%);
    
}

See the Pen Cross-Browser CSS Grayscale by Denis (@deniscreative) on CodePen.0

Make an image grayscale in all browsers
https://work.karlhorky.com/gray/
https://github.com/karlhorky/gray

Рекомендую к прочтению:

Комментарии (2) к “Кроссбраузерный GrayScale с поддержкой Internet Explorer 10”

  • Матвей

    “Кроссбраузерное” решение не поддерживается в IE 11

    Ответить
    • Denis Creative

      Действительно, не работает, хотя еще до недавних пор точно работало, и тестировалось на IE.

      Ответить

Оставить комментарий