2009-12-27 3 views
8

Мне интересно, есть ли способ применить gaussian blur к div с помощью jQuery (или CSS, который jQuery может изменить). Я заглянул в blur(), но, по крайней мере, с Safari, похоже, что он не выполняет то, что я ищу. Если возможно, я хочу использовать fadeIn для эффекта, поэтому он постепенно размывается.Gaussian Blur onHover Использование jQuery

Спасибо за помощь!

ответ

11

Помните, что Blur - это когда DOM-элемент, такой как текстовые поля (входы и т. Д.), Теряет фокус и не должен смешиваться с размытием, о котором вы говорите (гауссовское/motion blur).

Для этого нет подходящего кросс-браузерного решения. Вы можете, однако, размыть изображения, используя API, например, тот, который предлагает Бена. Или по using this one.

Возможно, если вы узнаете способ нарисовать содержимое div в холсте HTML5, вы можете применить фильтр Blur с помощью Pixastic?

+0

На сегодняшний день я не знаю ни одного хорошего кросс-браузерного решения для рисования содержимого DOM на холсте HTML5. Есть несколько методов, которые работают в ограниченной степени. – Xaxis

0

Здесь не было упомянуто, что мы можем создать реалистичный эффект размытия excellent для текста с использованием CSS3 text-shadow. И (да, конечно!), Мы можем размыть сплошные фоны и границы, используя box-shadow (вы знаете, что вставляются тени и несколько теней).

Так что я надеюсь, что в большинстве случаев вы можете добиться реалистичного эффекта размытия объединения:

1) размытости изображения с помощью холста

2) текста размытость с помощьюtext-shadow

3) сплошной фон и размытость границ с использованиемbox-shadow

4) я забыл что-нибудь еще ....


PS: Я считаю, что это не возможно, чтобы написать магический класс, который размывает любой HTML.

ограничения, которые не могут быть преодолены: размыть границы изображения, размытие, встроенные средства массовой

+0

Похоже, что можно размыть скриншот сайта 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'); 

содержание blur.svg

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

Подробнее: http://demosthenes.info/blog/534/Crossbrowser-Image-Blur

+2

Пожалуйста, не вставляйте тот же ответ в несколько вопросов. если вопросы дублируются, отметьте их как таковые. Если это не так, то, пожалуйста, приложите свой ответ к заданному вопросу. –

+0

Не существует фильтра css blur, который работает на IE11 –