如何使用CSS去饱和div的背景图像?

时间:2013-01-01 17:27:16

标签: javascript html html5 css3

我看到很多插件用 标签去饱和图像。

但是我没有找到任何去饱和背景图像的东西,(一个用作元素(div)背景的图像。

有没有办法在悬停时使用2背景去饱和背景图像 (即,图像精灵一个是B& W而另一个是颜色)

我可以使用Image Sprites做这样的事情。

// Initially color Image    
$(<element>).mouseover(function(e){

                    jQuery(this).children(":first").stop().animate(
                    {
                        'background-position': <some coordinates>
                        // Coordinates of b&w Image  
                    },
                    100                       
                    );

                    e.stopPropagation();
                })
                .mouseout(function(e){

                    jQuery(this).children(":first").stop().animate(
                    {
                        'background-position': <some coordinates>
                          // Coordinates of color Image   
                    },
                    100,
                    settings.easingType
                    );

                    e.stopPropagation();
                });

但我不想要这个。我想要飞行中的饱和背景图像。 请帮忙。

2 个答案:

答案 0 :(得分:3)

请看这个页面http://davidwalsh.name/css-filters。它解释了一些过滤方法(webkit浏览器)。

也许你应该更好地使用canvas(更好的浏览器支持)或最好的服务器本身,例如使用php。

答案 1 :(得分:0)

element: hover{
     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");
    -webkit-filter: grayscale(100%);
    -moz-filter:    grayscale(100%);
    -ms-filter:     grayscale(100%);
    -o-filter:      grayscale(100%);
    filter: gray;
}

这是相关的问题,希望有人需要重定向。

CSS to Desaturate Background Image Only WIth Other Images in Div Stay Saturated