CSSNestedDeclarations
Baseline 2024Newly available
Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
TheCSSNestedDeclarations interface of theCSS Rule API is used to group nestedCSSRules.
The interface allows theCSS Object Model (CSSOM to mirror the structure of CSS documents with nested CSS rules, and ensure that rules are parsed and evaluated in the order that they are declared.
Note:Implementations that do not support this interface may parse nested rules in the wrong order.SeeBrowser compatibility for more information.
In this article
Instance properties
Inherits properties from its ancestorCSSRule.
CSSNestedDeclarations.styleRead onlyReturns the values of the nested rules.
Instance methods
No specific methods; inherits methods from its ancestorCSSRule.
Examples
>CSS
The CSS below includes a selector.foo that contains two declarations and a media query.
.foo { background-color: silver; @media screen { color: tomato; } color: black;}This is represented by a number of JavaScript objects in theCSS Object Model:
- A
CSSStyleRuleobject that represents thebackground-color: silverrule.This can be returned viadocument.styleSheets[0].cssRules[0]. - A
CSSMediaRuleobject that represents the@media screenrule, and which can be returned viadocument.styleSheets[0].cssRules[0].cssRules[0].- The
CSSMediaRuleobject contains aCSSNestedDeclarationobject which represents thecolor: tomatorule nested by the@media screenrule.This can be returned viadocument.styleSheets[0].cssRules[0].cssRules[0].cssRules[0].
- The
- The final rule is a
CSSNestedDeclarationobject that represents thecolor: blackrule in the stylesheet, and which can be returned viadocument.styleSheets[0].cssRules[0].cssRules[1].
Note:All top-level styles after the firstCSSNestedDeclaration must also be represented asCSSNestedDeclaration objects in order to follow theCSS nested declarations rule
CSSOM (CSS Object Model)
↳ CSSStyleRule .style - background-color: silver ↳ CSSMediaRule ↳ CSSNestedDeclarations .style (CSSStyleDeclaration, 1) = - color: tomato ↳ CSSNestedDeclarations .style (CSSStyleDeclaration, 1) = - color: black
Specifications
| Specification |
|---|
| CSS Nesting Module> # cssnesteddeclarations> |