I am wondering if there is some way to apply a gaussian blur onto a div using jQuery (or CSS that jQuery can modify). I have looked into blur(), but at least with Safari, it doesn't seem that it accomplishes what I'm looking for. If possible, I want to use fadeIn on the effect, so it blurs gradually.
Thanks for any help!
Check out the blur.js plugin for jQuery: http://blurjs.com, it uses my Stack Blur algorithm which I believe is currently the fastest JavaScript based way to blur canvas elements: http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html
content of blur.svg
More : http://demosthenes.info/blog/534/Crossbrowser-Image-Blur
Be aware that
Blur
is when a DOM-element, such as textboxes (inputs etc.) loses focus, and should not be mixed with the kind of blur you are talking about (gaussian/motion blur).There is no good cross-browser solution for this problem. You can, however, blur images by using a API such as the one Ben suggests. Or by using this one.
Maybe if you find out a way to draw your div contents to a HTML5 canvas you can then apply the Blur-filter by using Pixastic?
It has not been mentioned here that we can create an excellent realistic blur effect for text using CSS3
text-shadow
. And, (yep, of course!) we can blur solid backgrounds and borders usingbox-shadow
(inset shadows and multiple shadows are allowed, you know).So I hope in most cases you can achieve a realistic blur effect combining:
1) image blur using canvas
2) text blur using
text-shadow
3) solid background and borders blur using
box-shadow
4) have I forgotten anything else?....
PS: I believe it's not possible to write a magic class that blurs any html.
The restrictions that can't be overcome: blur the border of the image, blur embedded media