CSSStyleSheet
CSSStyleSheet
interface представляет одну CSS таблицу стилей. CSS таблица наследует свойства и методы от родителя, StyleSheet
.
Таблица стилей состоит (правил) rules, таких как style rules ("h1,h2 { font-size: 16pt }"
), и различных (@import
, @media
, ...), etc. CSSStyleSheet
interface позволяет получать и изменять список правил в таблице стилей.
Смотрите Notes секцию о различных способах получения CSSStyleSheet
object.
Properties
Inherits properties from its parent, StyleSheet
.
CSSStyleSheet.cssRules
-
Returns a live
CSSRuleList
, listing theCSSRule
objects in the style sheet. This is normally used to access individual rules like this:styleSheet.cssRules[i] // where i = 0..cssRules.length-1
To add or remove items in
cssRules
, use theCSSStyleSheet
'sdeleteRule()
andinsertRule()
methods, described below. CSSStyleSheet.ownerRule
-
If this style sheet is imported into the document using an
@import
rule, theownerRule
property will return thatCSSImportRule
, otherwise it returnsnull
.
Methods
Inherits methods from its parent, Stylesheet
.
CSSStyleSheet.deleteRule()
-
Deletes a rule at the specified position from the style sheet.
CSSStyleSheet.insertRule()
-
Inserts a new rule at the specified position in the style sheet, given the textual representation of the rule.
Notes
In some browsers, if a stylesheet is loaded from a different domain, calling cssRules
results in SecurityError
.
A stylesheet is associated with at most one Document
, which it applies to (unless disabled). A list of CSSStyleSheet
objects for a given document can be obtained using the document.styleSheets
property. A specific style sheet can also be accessed from its owner object (Node
or CSSImportRule
), if any.
A CSSStyleSheet
object is created and inserted into the document's styleSheets
list automatically by the browser, when a style sheet is loaded for a document. As the document.styleSheets
list cannot be modified directly, there's no useful way to create a new CSSStyleSheet
object manually (although Constructable Stylesheet Objects is coming to the web platform soon and is already supported in Blink). To create a new stylesheet, insert a <style>
or <link>
element into the document.
A (possibly incomplete) list of ways a style sheet can be associated with a document follows:
Reason for the style sheet to be associated with the document | Appears in document. styleSheets list |
Getting the owner element/rule given the style sheet object | The interface for the owner object | Getting the CSSStyleSheet object from the owner |
---|---|---|---|---|
<style> and <link> elements in the document |
Yes | .ownerNode |
HTMLLinkElement , HTMLStyleElement , or SVGStyleElement |
.sheet |
CSS @import rule in other style sheets applied to the document |
Yes | .ownerRule |
CSSImportRule |
.styleSheet |
<?xml-stylesheet ?> processing instruction in the (non-HTML) document |
Yes | .ownerNode |
ProcessingInstruction |
.sheet |
HTTP Link Header | Yes | N/A | N/A | N/A |
User agent (default) style sheets | No | N/A | N/A | N/A |
Спецификации
Specification |
---|
CSS Object Model (CSSOM) # the-cssstylesheet-interface |
Совместимость с браузерами
BCD tables only load in the browser