2009-12-27 4 views
8

Ich frage mich, ob es eine Möglichkeit gibt, eine Gaußsche Unschärfe auf ein Div mit jQuery anzuwenden (oder CSS, das jQuery modifizieren kann). Ich habe in Unschärfe() geschaut, aber zumindest bei Safari scheint es nicht das zu sein, wonach ich suche. Wenn möglich, möchte ich fadeIn auf den Effekt anwenden, so dass es allmählich verschwimmt.Gaußscher Weichzeichner onHover Mit jQuery

Danke für jede Hilfe!

Antwort

11

Beachten Sie, dass Blur ist, wenn ein DOM-Element, wie Textfelder (Eingänge usw.) den Fokus verliert, und sollte nicht mit der Art der Unschärfe gemischt werden, über die Sie sprechen (Gaussian/Bewegungsunschärfe).

Es gibt keine gute Cross-Browser-Lösung für dieses Problem. Sie können jedoch Bilder mit einer API wie der von Ben vorgeschlagenen verwischen. Oder durch using this one.

Vielleicht, wenn Sie eine Möglichkeit finden, Ihre div-Inhalte auf einen HTML5-Canvas zu zeichnen, können Sie den Blur-Filter dann mit Pixastic anwenden?

+0

Bis heute ist mir keine gute Cross-Browser-Lösung zum Zeichnen von DOM-Inhalten auf eine HTML5-Leinwand bekannt. Es gibt ein paar Techniken, die in begrenztem Maße funktionieren. – Xaxis

0

Es wurde hier nicht erwähnt, dass wir einen realistischen Unschärfe-Effekt excellent für Text mit CSS3 text-shadow erstellen können. Und, (ja, natürlich!) Können wir feste Hintergründe und Ränder mit box-shadow verwischen (Schatten und mehrere Schatten sind erlaubt, weißt du).

So hoffe ich, in den meisten Fällen können Sie eine realistische Unschärfe-Effekt erzielen kombiniert:

1) Verwacklungsunschärfe Leinwand mit

2) Text Blurtext-shadow

3) fester Hintergrund und Ränder verwischen mitbox-shadow

4) habe ich noch etwas vergessen ....


PS: Ich glaube, es ist nicht möglich, eine magische Klasse zu schreiben, die jede html verwischt.

Die Einschränkungen, die nicht zu überwinden: die Grenze des Bildes verschwimmen, verwischen eingebettete Medien

+0

Ich sehe aus wie es möglich ist, einen Screenshot der Website zu verwischen http://html2canvas.hertzen.com/ – Dan

3
filter: blur(10px); 
-webkit-filter: blur(10px); 
-moz-filter: blur(10px); 
-o-filter: blur(10px); 
-ms-filter: blur(10px); 
filter: url(blur.svg#blur); 
filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='10'); 

Inhalt blur.svg

<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> 
    <filter id="blur"> 
    <feGaussianBlur stdDeviation="10" /> 
    </filter> 
</svg> 

Mehr: http://demosthenes.info/blog/534/Crossbrowser-Image-Blur

+2

Bitte fügen Sie die gleiche Antwort nicht in mehrere Fragen ein. Wenn die Fragen Duplikate sind, kennzeichnen Sie sie bitte als solche. Wenn dies nicht der Fall ist, passen Sie Ihre Antwort bitte auf die gestellte Frage an. –

+0

Es gibt keinen CSS Blur Filter, der auf IE11 funktioniert –