Решив сегодня эту же проблему, я хотел бы представить решение, которое (в настоящее время) работает в основных браузерах. Некоторые другие ответы на этой странице работали один раз, но недавние обновления, будь то браузер или ОС, аннулировали большинство / все эти ответы.
Ключ состоит в том, чтобы поместить изображение в контейнер и преобразовать: масштабировать этот контейнер из его переполнения: скрытого родителя. Затем размытие применяется к img внутри контейнера, а не к самому контейнеру.
Рабочий скрипт: https://jsfiddle.net/x2c6txk2/
HTML
<div class="container">
<div class="img-holder">
<img src="https://unsplash.it/500/300/?random">
</div>
</div>
CSS
.container {
width : 90%;
height : 400px;
margin : 50px 5%;
overflow : hidden;
position : relative;
}
.img-holder {
position : absolute;
left : 0;
top : 0;
bottom : 0;
right : 0;
transform : scale(1.2, 1.2);
}
.img-holder img {
width : 100%;
height : 100%;
-webkit-filter : blur(15px);
-moz-filter : blur(15px);
filter : blur(15px);
}
marginэто необходимо.