wake-up-neo.com

Internet Explorer 10 - Wie wende ich Graustufenfilter an?

Dieser CSS-Code funktioniert für Internet Explorer bis 9 ziemlich gut.

img.gray {
    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");
    filter: gray;
    -webkit-filter: grayscale(1);
}

Was muss ich für Internet Explorer 10 tun?

36
jellobird

IE10 unterstützt keine DX-Filter wie IE9 und früher, noch unterstützt es eine vorangestellte Version des Graustufenfilters.

Sie können jedoch eine SVG-Überlagerung in IE10 verwenden, um die Graustufenskalierung durchzuführen. Beispiel:

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");
}

svg {
    background:url(http://4.bp.blogspot.com/-IzPWLqY4gJ0/T01CPzNb1KI/AAAAAAAACgA/_8uyj68QhFE/s400/a2cf7051-5952-4b39-aca3-4481976cb242.jpg);
}

(von: http://www.karlhorky.com/2012/06/cross-browser-image-grayscale-with-css.html )

Vereinfachtes JSFiddle: http://jsfiddle.net/KatieK/qhU7d/2/

Weitere Informationen zu den IE10-SVG-Filtereffekten: http://blogs.msdn.com/b/ie/archive/2011/10/14/svg-filter-effects-in-ie10.aspx

34
KatieK

Inline-SVG kann in IE 10 und 11 und Edge 12 verwendet werden.

Ich habe ein Projekt namens grau erstellt, das eine Polyfüllung für diese Browser enthält. Die Polyfill schaltet aus <img> Tags mit Inline-SVG: https://github.com/karlhorky/gray

Um dies zu implementieren, müssen Sie in der Kurzversion das jQuery-Plugin über den obigen GitHub-Link herunterladen und nach jQuery am Ende Ihres Körpers hinzufügen:

<script src="/js/jquery.gray.min.js"></script>

Dann erscheint jedes Bild mit der Klasse grayscale grau.

<img src="/img/color.jpg" class="grayscale">

Sie können sehen Sie eine Demo auch, wenn Sie mögen.

22
Karl Horky

Verwenden Sie dieses jQuery-Plugin https://gianlucaguarini.github.io/jQuery.BlackAndWhite/

Das scheint die einzige browserübergreifende Lösung zu sein. Außerdem hat es einen schönen Ein- und Ausblendeffekt.

$('.bwWrapper').BlackAndWhite({
    hoverEffect : true, // default true
    // set the path to BnWWorker.js for a superfast implementation
    webworkerPath : false,
    // to invert the hover effect
    invertHoverEffect: false,
    // this option works only on the modern browsers ( on IE lower than 9 it remains always 1)
    intensity:1,
    speed: { //this property could also be just speed: value for both fadeIn and fadeOut
        fadeIn: 200, // 200ms for fadeIn animations
        fadeOut: 800 // 800ms for fadeOut animations
    },
    onImageReady:function(img) {
        // this callback gets executed anytime an image is converted
    }
});
5
Corni