JavaScript动态建立或增加CSS样式表,参考如下:
1、简单的方法:
document.createStyleSheet().cssText = '标签{color:red' +// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'width:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:
if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加var ss = document.createStyleSheet()
ss.owningElement.id = '要建立的样式表ID如theforever'
ss.cssText = '标签{display:inline-blockoverflow:hidden' +
// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'text-align:leftwidth:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
}
<span id="Css"></span><script>
if(navigator.userAgent.indexOf("MSIE")>0)
{
//是否是IE浏览器
if(navigator.userAgent.indexOf("MSIE 6.0")>0)
{
//6.0 使用1.CSS
Css.innerHTML='<link href="1.css" rel="stylesheet" type="text/css" >'
}
if(navigator.userAgent.indexOf("MSIE 7.0")>0)
{
//7.0 使用2.CSS
Css.innerHTML='<link href="2.css" rel="stylesheet" type="text/css" >'
}
}else
{
//否则使用3.CSS 还有具体的浏览器 你可以用navigator.userAgent 去获取信息 具体使用 看你自己
Css.innerHTML='<link href="3.css" rel="stylesheet" type="text/css" >'
}
</script>
JavaScript访问修改样式表,可以方便的动态修改页面:一、访问元素中style属性的CSS样式
这个可以直接使用style对象方便的访问,例如:
<div id = "mdiv" style="background-color:blue">....</div>
访问CSS的方法是:
<script type="text/javascript">
//获得元素
var oDiv = document.getElementyId("mdiv")
//访问元素的style对象,再访问对象中的属性,也可以修改属性的值,直接为他赋值
alert(oDiv.style.backgroundColor)
</script>
二、访问外部定义的CSS样式(类定义的CSS样式)
这个没法使用上面的方法去访问,因为CSS数据不是存储在style属性中,它是存储在类中的。
访问方法:先取得定义类的样式表的引用,用document.styleSheets集合实现这个目的,这个集合包含HTML页面中所有的样式表,DOM为每个样式表定义一个cssRules的集合,这个集合中包含定义在样式表中的所用CSS规则(注意:Mozilla和Safasi中是 cssRules,而IE中式rules)。
例如:
<style>
/*第一条规则*/
div.ss{
background-color:red
width:101px
}
/*第二条规则*/
a.btn2{
background:url(imag/2-AccessCtl.jpg)
}
</style>
访问CSS:
var ocssRules = document.styleSheets[0].cssRules||document.styleSheets[0].rules
//访问第一条规则
alert(ocssRules[0].style.backgroundColor)
//设置值
ocssRules[0].style.width = "992px"
//访问第二条规则
alert(ocssRules[1].style.background)
//设置值
ocssRules[0].style.background = "url(imag/3-back.jpg)"
以上内容是百度出来的