【问题标题】:Root css is not working for IE browser根 css 不适用于 IE 浏览器
【发布时间】:2017-08-01 07:17:19
【问题描述】:

我使用 root css 来设置我的背景图片。所有其他浏览器都支持它,但在 IE 9+ 中我无法将背景图像应用于 css。可能是根 css 支持浏览器。 我正在使用 javascript 设置根 css 变量。 我也使用 LESS 和 Sass css,但没有任何方法通过 javascript 或 JQuery 设置 css 全局变量。 这是我的 CSS 代码:-

:root{
--mainbgimage: url("image.jpg");
}
body{
background-image: var(--mainbgimage);
}

有没有办法让IE浏览器支持这段代码 Javascript代码

var image = // image fetched from database;
document.documentElement.style.setProperty("--mainbgimage", image);

【问题讨论】:

  • 请告诉我们你是如何设置 :root via javascript
  • 由于 IE 不支持 CSS 变量(请参阅下面的答案),您也不能在 IE 中使用 setProperty 设置 CSS 变量“--mainbgimage”。

标签: javascript jquery css internet-explorer


【解决方案1】:

在 IE 11 之前不支持 CSS 变量。请参阅 http://caniuse.com/#feat=css-variables

你需要直接在body类中引用图片的url,例如

body{
background-image: url("image.jpg");
}

如果你在javascript中设置了图片url,那么你需要直接在javascript中访问body元素并更改图片url。

【讨论】:

  • 任何其他动态设置css数据的方式。我想在 css 中的多个类中设置该值
  • 如果你以前知道,哪些元素会得到这个背景图像,那么只需为它们添加一个额外的类,例如'.动态背景图像'。然后在 javascript 中,创建类并将背景图像 url 添加到它(参见例如stackoverflow.com/questions/7125453/…
猜你喜欢
  • 2015-02-12
  • 2016-10-23
  • 1970-01-01
  • 2016-12-30
  • 2018-11-21
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多