【发布时间】:2015-06-08 10:02:43
【问题描述】:
我正在尝试使用线性渐变更新现有的背景图像。目前我的 CMS 正在创建背景图像,但我无法使用线性渐变更改不透明度。我只想使每个 CSS 的背景图像变暗。
我的解决方案 -> 从所有背景图像 div 类 (.bg-image) 中获取 url 以设置“setAttribute”一个新的背景图像标签。
var elems = document.getElementsByClassName("bg-image");
for (var i = 0, n = elems.length; i<n; ++i){
var img = document.getElementsByClassName('bg-image')[i],
bi = style.backgroundImage.slice(4, -1);
img.setAttribute('style', 'background-image: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5),url("' bi +'"));');};
【问题讨论】:
-
你也可以发布你的html吗?
-
您可以在新的 css 文件中覆盖 .bg-image 类,对吗?您根本不需要为此使用 jquery 或 javascript
-
这个需要js吗?
-
@JeremyC。它不适用于 :before 或其他 CSS 内容。
-
你试过重要吗?
标签: javascript jquery css background-image