Wenn Sie glatt und ohne zu viel zusätzliche Arbeit zu tun animieren wollen - das ist eine gute Aufgabe für jQuery (oder eine andere, ähnliche Bibliothek).
Mit jQuery you could do:
$('#id_of_div').fadeTo('fast', 0.5);
Um einen schnellen animierte Fade-Effekt auf der entsprechenden DIV zu erhalten.
Update: Wenn Sie eigentlich das Hintergrundbild verblassen wollen, aber keine Vordergrundinhalte des DIV, ist dies viel schwieriger. Ich würde empfehlen, einen Container DIV mit Position: relative und zwei innere DIVs mit Position: absolute; . Der erste der inneren DIVs kann das Hintergrundbild und einen niedrigeren Z-Index als der zweite der DIVs haben, und der zweite DIV würde irgendeinen Text usw. enthalten, um im Vordergrund zu zeigen. Bei Bedarf können Sie $('#id_of_first_div').fadeTo('fast', 0.5);
aufrufen, um nur das DIV zu verblassen, das das Hintergrundbild enthält.
Übrigens, die wörtliche Antwort auf Ihre Frage ist "Nein, Sie können nicht die Opazität eines CSS-Hintergrundbilds animieren" - Sie können nur die Deckkraft eines DOM-Elements, nicht seine Attribute, also die Notwendigkeit für den obigen Hack.
Andere Aktualisierung: Wenn Sie die Verwendung von Drittanbieterbibliotheken vermeiden möchten, können Sie die Fade des Hintergrund-DIV unter Verwendung von Ansatz in Alex's answer behandeln.
Gibt es einen Grund, warum ich die Deckkraft nicht auf 1 zurücksetzen kann? – nacho4d
@ nacho4d Meinst du mit CSS? Sie können nicht, weil Elemente die "Opazität" ihres Vorfahren erben. – alex