Περισσότερα
Πώς να εφαρμόσετε ένα φίλτρο CSS σε μια εικόνα φόντου ?
Έχω ένα αρχείο JPEG που χρησιμοποιώ ως εικόνα φόντου για μια σελίδα αναζήτησης και χρησιμοποιώ CSS για να το ορίσω επειδή εργάζομαι μέσα σε πλαίσια Backbone.js:
background-image: url("whatever.jpg");
Θέλω να εφαρμόσω ένα φίλτρο θόλωσης CSS 3 μόνο στο φόντο, αλλά δεν είμαι σίγουρος πώς να διαμορφώσω μόνο αυτό το ένα στοιχείο. Αν δοκιμάσω:
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
ακριβώς κάτω από το background-image
στο CSS μου, διαμορφώνει ολόκληρη τη σελίδα και όχι μόνο το φόντο. Υπάρχει τρόπος να επιλέξω μόνο την εικόνα και να εφαρμόσω το φίλτρο σε αυτήν; Εναλλακτικά, υπάρχει τρόπος να απενεργοποιήσω το θόλωμα για κάθε άλλο στοιχείο της σελίδας;
449
4
Δείτε αυτό το στυλό.
Θα πρέπει να χρησιμοποιήσετε δύο διαφορετικά κοντέινερ, ένα για την εικόνα φόντου και ένα για το περιεχόμενό σας.
Στο παράδειγμα, έχω δημιουργήσει δύο δοχεία, το
.background-image
και το.content
.Και τα δύο έχουν τοποθετηθεί με
position: fixed
καιleft: 0; right: 0;
. Η διαφορά στην εμφάνισή τους προέρχεται από τις τιμές τουz-index
που έχουν οριστεί διαφορετικά για τα στοιχεία.Συγγνώμη για το κείμενο Lorem Ipsum.
Ενημέρωση
Ευχαριστώ τον Matthew Wilcoxson για μια καλύτερη υλοποίηση με τη χρήση του
.content:before
http://codepen.io/akademy/pen/FlkzBστυλό
Κατάργηση της ανάγκης για ένα επιπλέον στοιχείο, μαζί με την προσαρμογή του περιεχομένου στη ροή του εγγράφου αντί να είναι σταθερό/απόλυτο όπως άλλες λύσεις.
Επιτυγχάνεται με τη χρήση
Η αυτόματη υπερχείλιση είναι απαραίτητη, αλλιώς το φόντο θα μετατοπιστεί κατά μερικά εικονοστοιχεία στην κορυφή.
Μετά από αυτό χρειάζεστε απλά
EDIT Αν σας ενδιαφέρει να αφαιρέσετε τα λευκά περιθώρια στις άκρες, χρησιμοποιήστε πλάτος και ύψος
110%
και αριστερά και πάνω-5%
. Αυτό θα μεγεθύνει λίγο τα φόντα σας - αλλά δεν θα πρέπει να υπάρχει συμπαγές χρώμα που να αιμορραγεί από τις άκρες.Ενημερωμένη πένα εδώ: https://codepen.io/anon/pen/QgyewB - Ευχαριστώ τον Chad Fawcett για την πρόταση.
Για να το κάνετε αυτό, πρέπει να αναδιαρθρώσετε την HTML σας. Πρέπει να θολώσετε ολόκληρο το στοιχείο για να θολώσετε το φόντο. Επομένως, αν θέλετε να θολώσετε μόνο το φόντο, αυτό πρέπει να είναι δικό του στοιχείο.
Στην καρτέλα
.content
στο CSS αλλάξτε το σεposition:absolute
. Διαφορετικά, η σελίδα που εμφανίζεται δεν θα μπορεί να μετακινηθεί.