Nachdem ich mich heute selbst mit diesem Problem befasst habe, möchte ich eine Lösung vorstellen, die (derzeit) auf den wichtigsten Browsern funktioniert. Einige der anderen Antworten auf dieser Seite haben einmal funktioniert, aber die letzten Updates, egal ob Browser oder Betriebssystem, haben die meisten / alle dieser Antworten ungültig gemacht.
Der Schlüssel besteht darin, das Bild in einem Container zu platzieren und zu transformieren: Skalieren Sie diesen Container aus seinem Überlauf heraus: verstecktes übergeordnetes Element. Dann wird die Unschärfe auf das Bild im Behälter anstatt auf den Behälter selbst angewendet.
Working Fiddle: 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);
}
marginist erforderlich.