用JavaScript动态建立或增加CSS样式表的实现方法

html-css020

用JavaScript动态建立或增加CSS样式表的实现方法,第1张

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们{……}'

}

以上这篇用JavaScript动态建立或增加CSS样式表的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

用css样式相关的接口 stylesheet.insertRule或者stylesheet.addRule 这两个都可以动态插入css样式 兼容性还可以 ie9+

比如

myStyle.insertRule("#blanc { color: white }", 0)

需要删除的时候还有deleteRule和removeRule两个方法