Wie man einen CSS-Filter auf ein Hintergrundbild anwendet
Ich habe eine JPEG-Datei, die I' m mit als Hintergrundbild für eine Suchseite, und I' m mit CSS, um es zu setzen, weil I' m arbeiten innerhalb Backbone.js Kontexte:
background-image: url("whatever.jpg");
Ich möchte einen CSS 3 Weichzeichnungsfilter nur auf den Hintergrund anwenden, aber ich bin mir nicht sicher, wie ich nur dieses eine Element gestalten kann. Wenn ich es versuche:
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
unterhalb von background-image
in meinem CSS versuche, wird die gesamte Seite und nicht nur der Hintergrund gestaltet. Gibt es eine Möglichkeit, nur das Bild auszuwählen und den Filter auf dieses anzuwenden? Oder gibt es eine Möglichkeit, den Weichzeichner für jedes andere Element auf der Seite auszuschalten?
449
3
Sehen Sie sich diesen [Stift] (http://codepen.io/aniketpant/pen/DsEve) an.
Sie müssen zwei verschiedene Container verwenden, einen für das Hintergrundbild und den anderen für Ihren Inhalt.
In diesem Beispiel habe ich zwei Container erstellt,
.background-image
und.content
.Beide werden mit
Position: fixed
undleft: 0; right: 0;
platziert. Der Unterschied in der Darstellung kommt von denz-index
-Werten, die für die Elemente unterschiedlich festgelegt wurden.Entschuldigung für den Lorem Ipsum Text.
Aktualisierung
Dank an Matthew Wilcoxson für eine bessere Implementierung mit
.content:before
http://codepen.io/akademy/pen/FlkzBDazu müssen Sie Ihr HTML umstrukturieren. Sie müssen das gesamte Element unscharf machen, um den Hintergrund unscharf zu machen. Wenn Sie also nur den Hintergrund unscharf machen wollen, muss es ein eigenes Element sein.
In der Registerkarte
.content
in CSS ändern Sie es aufposition:absolute
. Andernfalls wird die gerenderte Seite nicht scrollbar sein.