CSSStyleSheet - 表示一个 CSS 样式表

CSSStyleSheet 接口表示一个 CSS 样式表。它从其父类 StyleSheet 继承了属性和方法。

样式表由 rules 组成,例如 style rules(“h1,h2 { font-size: 16pt }"),各种 at-rules@import@media,...)等等。这个接口让你检查和修改样式表中的规则列表。

有关可以获取 CSSStyleSheet 对象的各种方法,请参阅 注意 部分。

属性

继承其父类 StyleSheet 的属性。

CSSStyleSheet.cssRules

返回一个实时的 CSSRuleList,包含了样式表中的 CSSRule 对象。这通常用于访问单个规则,如下所示:styleSheet.cssRules[i] // where i = 0..cssRules.length-1
要添加或删除 cssRules 中的项目,请使用 CSSStyleSheetdeleteRule()insertRule() 方法,如下所述。

CSSStyleSheet.ownerRule

如果使用 @import 规则将该样式表导入到文档中,则 ownerRule 属性将返回 CSSImportRule,否则返回 null

方法

继承其父类 StyleSheet 的方法。

CSSStyleSheet.deleteRule()

从样式表中删除指定位置的规则。

CSSStyleSheet.insertRule()

在样式表中的指定位置,将给定规则的文本,插入为新的规则。

注意

在某些浏览器中,如果样式表从另一个域名加载,调用 cssRules 将导致 SecurityError

样式表至多与一个它所属的 Document 相关联(除非是 disabled)。可以使用 document.styleSheets 属性获取给定文档的 CSSStyleSheet 对象列表。如果有的话,还可以通过它的 owner 对象(NodeCSSImportRule)访问特定的样式表。

当文档加载样式表时,浏览器会自动创建一个 CSSStyleSheet 对象并将其插入到文档的 styleSheets 列表中。由于无法直接修改 document.styleSheets 列表,因此无法手动创建新的 CSSStyleSheet 对象(但是可构造的样式表可能在将来会添加到 Web API 中)。要创建新的样式表,请在文档中插入 <style><link> 元素。

样式表可以与文档关联的方式列表(可能不完整)如下:

样式表与文档关联的原因 出现在 document.styleSheets 列表中 在给定样式表对象的情况下获取所有者元素/规则 所有者对象的接口 从所有者获取 CSSStyleSheet 对象
文档中的 <style><link> 元素 Yes .ownerNode HTMLLinkElement,
HTMLStyleElement
SVGStyleElement
.sheet
CSS @import 规则应用于文档的其他样式表 Yes .ownerRule CSSImportRule .styleSheet
<?xml-stylesheet ?> 处理(非 HTML)文档中的指令 Yes .ownerNode ProcessingInstruction .sheet
HTTP Link Header Yes N/A N/A N/A
用户代理(默认)样式表 No N/A N/A N/A

规范

规范 状态 备注
CSS Object Model (CSSOM)
CSSStyleSheet 的定义
工作草案 -
Document Object Model (DOM) Level 2 Style Specification
CSSStyleSheet 的定义
已过时 初始定义

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持 支持 支持 支持 9 支持 支持
cssRules 支持 支持 支持 9 支持 支持
ownerRule 支持 支持 支持 9 支持 支持
deleteRule 支持 支持 支持 9 支持 支持
insertRule 支持 支持 支持 9 支持 支持

移动浏览器兼容性

特性 Android Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
基础支持 支持 支持 支持 支持 未知 支持 支持
cssRules 支持 支持 支持 支持 未知 支持 支持
ownerRule 支持 支持 支持 支持 未知 支持 支持
deleteRule 支持 支持 支持 支持 未知 支持 支持
insertRule 支持 支持 支持 支持 未知 支持 支持

相关链接