可能重复:
在 CSS 中使用 Javascript
是否可以javascript
在 css 中使用代码background
?
意思是这样的:
样式=“背景:网址(javascript:---javascript代码---);” 这种语法是否有效?
提前致谢
可能重复:
在 CSS 中使用 Javascript
是否可以javascript
在 css 中使用代码background
?
意思是这样的:
样式=“背景:网址(javascript:---javascript代码---);” 这种语法是否有效?
提前致谢
你不能在 CSS 中使用 JavaScript。但是,如果您想使用 JavaScript 更改背景图像,则以下行将起作用,
document.getElementById("<element ID>").style.backgroundImage = "url(<url of image>)";
你不能在你的 CSS 中使用 JavaScript,但你可以使用 JavaScript 来设置你的 CSS 规则。例如:
// Create CSS BackgroundImage Rule
var bg = "url('http://placekitten.com/200/300)";
// Apply Rule
document.getElementById("foo").style.backgroundImage = bg;
此外,还有一系列框架和工具允许您在 CSS 中使用函数和变量,例如SASS或LESS。
在CSS 中最接近 JavaScript的是动态属性(在 IE5 中引入),它对跨浏览器的支持非常差,并且在现代版本的 IE 中不再支持。
如果您需要使用 JavaScript 对您的样式进行大量修改,总的来说,人们正在转向采用框架来帮助您解决这个问题。例如,一个流行的框架是 jQuery,它允许执行以下操作:
$("#foo").css('background-color', 'red');
以及通过对象的质量分配:
var color = "#ffe",
border = "5px solid #ccc";
$("#foo").css({ 'background-color': color, 'border-left': border });
从技术上讲是的,有一个表达式:
background: expression(JS code resulting in a vali background image string here)
但是我认为它只适用于 IE,这是非常糟糕的做法,因为它可能必须每秒重新评估代码数百次。
相反,您应该在那里有一个合适的默认值,然后稍后在页面上使用 JavaScript 来更改它。