# Interface CSSRule

All Known Subinterfaces:
  `CSSCharsetRule`, `CSSFontFaceRule`, `CSSImportRule`, `CSSMediaRule`, `CSSPageRule`, `CSSStyleRule`, `CSSUnknownRule`

public interface CSSRule
The `CSSRule` interface is the abstract base interface for any type of CSS statement. This includes both rule sets and at-rules. An implementation is expected to preserve all rules specified in a CSS style sheet, even if the rule is not recognized by the parser. Unrecognized rules are represented using the `CSSUnknownRule` interface.

See also the Document Object Model (DOM) Level 2 Style Specification.

Since:
  1.4, DOM Level 2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final short`
  `CHARSET_RULE`
  The rule is a `CSSCharsetRule`.
  `static final short`
  `FONT_FACE_RULE`
  The rule is a `CSSFontFaceRule`.
  `static final short`
  `IMPORT_RULE`
  The rule is a `CSSImportRule`.
  `static final short`
  `MEDIA_RULE`
  The rule is a `CSSMediaRule`.
  `static final short`
  `PAGE_RULE`
  The rule is a `CSSPageRule`.
  `static final short`
  `STYLE_RULE`
  The rule is a `CSSStyleRule`.
  `static final short`
  `UNKNOWN_RULE`
  The rule is a `CSSUnknownRule`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getCssText()`
  The parsable textual representation of the rule.
  `CSSRule`
  `getParentRule()`
  If this rule is contained inside another rule (e.g. a style rule inside an @media block), this is the containing rule.
  `CSSStyleSheet`
  `getParentStyleSheet()`
  The style sheet that contains this rule.
  `short`
  `getType()`
  The type of the rule, as defined above.
  `void`
  `setCssText(String cssText)`
  The parsable textual representation of the rule.

- ## Field Details

  - ### UNKNOWN_RULE

    static final short UNKNOWN_RULE
    The rule is a `CSSUnknownRule`.
    See Also:
      - Constant Field Values

  - ### STYLE_RULE

    static final short STYLE_RULE
    The rule is a `CSSStyleRule`.
    See Also:
      - Constant Field Values

  - ### CHARSET_RULE

    static final short CHARSET_RULE
    The rule is a `CSSCharsetRule`.
    See Also:
      - Constant Field Values

  - ### IMPORT_RULE

    static final short IMPORT_RULE
    The rule is a `CSSImportRule`.
    See Also:
      - Constant Field Values

  - ### MEDIA_RULE

    static final short MEDIA_RULE
    The rule is a `CSSMediaRule`.
    See Also:
      - Constant Field Values

  - ### FONT_FACE_RULE

    static final short FONT_FACE_RULE
    The rule is a `CSSFontFaceRule`.
    See Also:
      - Constant Field Values

  - ### PAGE_RULE

    static final short PAGE_RULE
    The rule is a `CSSPageRule`.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getType

    short getType()
    The type of the rule, as defined above. The expectation is that binding-specific casting methods can be used to cast down from an instance of the `CSSRule` interface to the specific derived interface implied by the `type`.

  - ### getCssText

    String getCssText()
    The parsable textual representation of the rule. This reflects the current state of the rule and not its initial value.

  - ### setCssText

    void setCssText(String cssText) throws DOMException
    The parsable textual representation of the rule. This reflects the current state of the rule and not its initial value.
    Throws:
      `DOMException` - SYNTAX_ERR: Raised if the specified CSS string value has a syntax error and is unparsable.
      INVALID_MODIFICATION_ERR: Raised if the specified CSS string value represents a different type of rule than the current one.
      HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at this point in the style sheet.
      NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.

  - ### getParentStyleSheet

    CSSStyleSheet getParentStyleSheet()
    The style sheet that contains this rule.

  - ### getParentRule

    CSSRule getParentRule()
    If this rule is contained inside another rule (e.g. a style rule inside an @media block), this is the containing rule. If this rule is not nested inside any other rules, this returns `null`.