SVG filter only working when added in style attribute (Firefox)
css, firefox, html, svg, svg-filters
Solution
I included the svg as a base64 string directly into the css file. This solved my problem.
filter:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGZpbHRlciBpZD0ic3ZnQmx1ciI+PGZlR2F1c3NpYW5CbHVyIGluPSJTb3VyY2VHcmFwaGljIiBzdGREZXZpYXRpb249IjgiLz48L2ZpbHRlcj48L3N2Zz4=#svgBlur)
Problem
I added a blur effect svg to my HTML(text/html): ``` <html> <head>...</head> <body> ... <svg xmlns="http://www.w3.org/2000/svg" height="0"> <filter height="116%" width="116%" y="-8%" x="-8%" id="svgBlur"> <feGaussianBlur stdDeviation="8" in="SourceGraphic"/> </filter> </svg> </body> </html> ``` Which I reference to in my CSS sheet: ``` #page-container { filter: url("#svgBlur"); -webkit-filter: blur(8px); } ``` Doing this makes the #page-container appear white (FF doesn't recognize the SVG filter). The funky part: When I disable the above filter rule in Firebug and readd it in the style attribute of the #page-container, it works like a charm. ``` <div id="page-container" style="filter: url("#svgBlur");"> ``` What am I overseeing? Response headers: ``` Cache-Control no-cache, must-revalidate, post-check=0, pre-check=0 Connection Keep-Alive Content-Encoding gzip Content-Language nl Content-Length 6098 Content-Type text/html; charset=utf-8 Date Mon, 02 Dec 2013 14:47:01 GMT Etag "1385995621" Expires Sun, 19 Nov 1978 05:00:00 GMT Keep-Alive timeout=15, max=100 Last-Modified Mon, 02 Dec 2013 14:47:01 +0000 Link </nl/node/215271>; rel="canonical",</nl/node/215271>; rel="shortlink" Server Apache/2.2.3 (Red Hat) Vary Accept-Encoding X-Powered-By PHP/5.3.19 ``` `Problem on Firefox 25 OSX. Webkit browsers work fine, because they use the css blur filter`