【问题标题】:Internet Explorer and Safari Mobile css filter invertInternet Explorer 和 Safari Mobile css 过滤器反转
【发布时间】:2015-01-31 15:46:31
【问题描述】:


我正在使用 CSS 类来反转 img 颜色。
我就是这样做的:

<style type="text/css">    
.invertimg{
    -webkit-filter: invert(100%);
    -ms-filter: invert(100%);
    -o-filter: invert(100%);
    filter: invert(100%);
}
</style>

在 Firefox 和 Chrome 上一切正常,但 Internet Explorer 和 Safari Mobile(我在 iOS 8 上测试过)不会反转 img 颜色。
我一直在寻找这个几天没有任何解决方案。
有什么我做错了吗?如何转换 img 颜色并使 IE 和 Safari Mobile 正确转换?
谢谢。

【问题讨论】:

    标签: css internet-explorer mobile-safari


    【解决方案1】:

    CSS 仅在特定浏览器中具有完整功能,我同意。

    为了获得更大的灵活性,您可以使用与所有浏览器兼容的 javacript

    function invert_img(rgb) {
        rgb = [].slice.call(arguments).join(",").replace(/rgb\(|\)|rgba\(|\)|\s/gi, '').split(','); //locate different values of rgb
        for (var counter = 0; counter < rgb.length; counter++) 
            rgb[counter] = (counter === 3 ? 1 : 255) - rgb[counter];
        return rgb.join(", ");
    }
    
    console.log(
        invert_img("rgb(150, 0, 0)"), // 0, 150,150
        invert_img("12, 0, 0"), // 0, 12, 12
        invert_img(25, 0, 0) // 0, 25, 25
    );
    

    需要更多帮助吗?告诉我

    【讨论】:

    • 谢谢你,这对我帮助很大:)
    • @FrancescoSorge 乐于提供帮助
    猜你喜欢
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多