Если вы хотите плавно анимировать и не выполнять слишком много дополнительной работы - это хорошая задача для jQuery (или другой подобной библиотеки).
С jQuery вы можете сделать :
$('#id_of_div').fadeTo('fast', 0.5);
Чтобы получить быстрый анимированный эффект затухания для соответствующего DIV.
Обновление: , если вы хотите на самом деле затухать фоновое изображение, но не любое содержимое переднего планаиз DIV, это намного сложнее.Я бы рекомендовал использовать один контейнер DIV с позицией: относительный и два внутренних DIV с позицией: абсолютный;,Первый из внутренних DIV может иметь фоновое изображение и более низкий z-индекс, чем второй из DIV, а второй DIV будет содержать любой текст и т. Д. Для отображения на переднем плане.При необходимости вы можете вызвать $('#id_of_first_div').fadeTo('fast', 0.5);
, чтобы исчезнуть только DIV, содержащий фоновое изображение.
Кстати, буквальный ответ на ваш вопрос «Нет, вы не можете анимировать непрозрачность фонового изображения CSS» -вы можете (в настоящее время) анимировать непрозрачность элемента DOM, а не его атрибутов, поэтому требуется вышеуказанный хак.
Другое обновление: , если вы хотите избежать использования каких-либо третьихВ партийной библиотеке вы можете справиться с исчезновением фонового DIV, используя подход в Alex's answer .