Подобный вопрос к Как мне наложить градиентный фон поверх существующего фона с помощью CSS? и, конечно, Как мне объединить фоновое изображение и CSS3 градиент для одного и того же элемента? , но в этом случае я не имею контроль над URL-адресом фонового изображения.
Показательный пример
В рамках некоторых стилей, которые я применял для улучшения своего Facebookопыт, я написал этот кусок CSS:
.jewelCount > span { /* replaces notification color with a more neutral tone of red */
background-color: #ab5151;
}
.jewelButton > div { /* adds a faint overlay on top of notification icons to achieve a more neutral shade of white */
background-image: linear-gradient(rgba(66, 103, 178, 0.1), rgba(66, 103, 178, 0.1)), url(/rsrc.php/v3/yc/r/rZKhvPo9Lsv.png) !important;
}
(используя Стильное расширение для Firefox ).
и все работает,
![fb notifications - edited](https://i.stack.imgur.com/goI84.png)
, но в то же время URL фонового изображения изменился с /rsrc.php/v3/yc/r/rZKhvPo9Lsv.png
на /rsrc.php/v3/y1/r/vZXeFuzjfGs.png
, и мне пришлось обновить свойстиль вручную, который отстой.
Так как я вообще не изменяю url()
фонового изображения (я только повторно использую его в свойстве background-image
для достижения эффекта наложения), есть ли способ"предварительно добавить" функцию linear-gradient
к тому, что background-image
уже используется для этого элемента?
Если это невозможно в CSS (и я предполагаю, что это не так), я остановлюсь на решении, использующем javascript для использования с Greasemonkey (но без jQuery).
Спасибо.