如何在JS中定义CSS

html-css016

如何在JS中定义CSS,第1张

var domObj = document.getElementById("tagId")

//使用domObj.style来设置css:

domObj.style.backgroundColor="#000"//对应style里 background-color

domObj.style.fontSize="#000"//对应style里 font-size

//如果对这个表不太清楚可以在w3c上查一下

//但是一般有个规律就是,首单词小写 “-”后面的第一个字母大写,如:font-size 就是fontSize

如果是想更换标签的class的话,可以使用

domObj.className = "other_class"

-moz-, -webkit-, -o-这些都是浏览器前缀。box-shadow才是css样式。

通过js获取css的box-shadow的方法:

div

{

box-shadow: 10px 10px 5px #888888

}

js方法:

document.div[0].style.box-shadow = "12px 11px 5px #888888"

常用前缀和浏览器的对应关系如下:

Firefox: -moz-

Chrome, Safari: -webkit-

Opera: -o-

IE: -ms-

css标准中各个属性也要经历从草案(WD)到推荐(REC)的过程,css3中的属性进展都不一样。浏览器厂商在标准尚未明确情况下提前支持会有风险,同时也会出现有的浏览器厂商支持的好,有的支持的不好,所以就用厂商前缀加以区分。

PPK建议如果已成为REC或接近REC的属性,厂商如果完全实现了w3c的test case,就不用加厂商前缀,像border-radius在ie9下就不用加前缀。

如果你用了jQuery库,参考楼上的,否则用下面的代码:

function bj(){

var divNodes = document.getElementsByTagName("div")

for(var i=0,j=divNodes.lengthi<ji++){

var divObj = divNodes[i]

if(divObj.className == "caa" || divObj.className == "cab") {

divObj.style.background = "url(xx.jpg) no-repeat fixed left top"

}

}

}