IE 10+的模糊过滤器

Gho*_*o5t 6 css internet-explorer filter css3

我需要对div进行模糊效果.我知道对于Chrome我可以使用CSS3过滤器,对于IE和Firefox,我必须使用SVG过滤器.我无法弄清楚为什么我的SVG过滤器在IE 10+中不起作用但在Firefox中工作正常?

演示:http://jsfiddle.net/8pytt/3/

HTML

<div id="container">
    <h1>test</h1>
</div>

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
   <filter id="blur">
       <feGaussianBlur stdDeviation="5"></feGaussianBlur>
   </filter>
</svg>
Run Code Online (Sandbox Code Playgroud)

CSS

body {
        background: blue;
    }

#container {
    width: 100%;
    height: 500px;
    text-align: center;
    background: blue;
    opacity: .8;
    background-image: -webkit-radial-gradient(circle farthest-side, white, black);
    background-image: -moz-radial-gradient(circle farthest-side, white, black);
    background-image: -o-radial-gradient(circle farthest-side, white, black);
    background-image: -ms-radial-gradient(circle farthest-side, white, black);

    -webkit-filter: blur(5px);
    filter:url('#blur');
}

h1 {
    color: red;
    padding-top: 100px;
}
Run Code Online (Sandbox Code Playgroud)

Zac*_*ier 9

IE仍然(现在11)不支持filter:blur().IE10支持SVG过滤器,但不支持非SVG内容.我只是说你可以使用a foreignObject并将不透明度更改为rgba opacity,就像这样,但事实证明IE也不支持foreignObject.

因此,您可以将其全部转换为SVG或回退到不透​​明度更改等.有关详细信息,请参阅此处链接页面.

即使在Edge中,CSS过滤器效果也要求用户允许自定义标志,并且不支持该url()功能.