# Interface CSSMediaRule

All Superinterfaces:
  `CSSRule`

public interface CSSMediaRule extends CSSRule
The `CSSMediaRule` interface represents a @media rule in a CSS style sheet. A `@media` rule can be used to delimit style rules for specific media types.

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

Since:
  1.4, DOM Level 2

- ## Field Summary

  ### Fields declared in interface CSSRule

  `CHARSET_RULE, FONT_FACE_RULE, IMPORT_RULE, MEDIA_RULE, PAGE_RULE, STYLE_RULE, UNKNOWN_RULE`
  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
  `void`
  `deleteRule(int index)`
  Used to delete a rule from the media block.
  `CSSRuleList`
  `getCssRules()`
  A list of all CSS rules contained within the media block.
  `MediaList`
  `getMedia()`
  A list of media types for this rule.
  `int`
  `insertRule(String rule, int index)`
  Used to insert a new rule into the media block.

  ### Methods declared in interface CSSRule

  `getCssText, getParentRule, getParentStyleSheet, getType, setCssText`
  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.

- ## Method Details

  - ### getMedia

    MediaList getMedia()
    A list of media types for this rule.

  - ### getCssRules

    CSSRuleList getCssRules()
    A list of all CSS rules contained within the media block.

  - ### insertRule

    int insertRule(String rule, int index) throws DOMException
    Used to insert a new rule into the media block.
    Parameters:
      `rule` - The parsable text representing the rule. For rule sets this contains both the selector and the style declaration. For at-rules, this specifies both the at-identifier and the rule content.
      `index` - The index within the media block's rule collection of the rule before which to insert the specified rule. If the specified index is equal to the length of the media blocks's rule collection, the rule will be added to the end of the media block.
    Returns:
      The index within the media block's rule collection of the newly inserted rule.
    Throws:
      `DOMException` - HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the specified index, e.g., if an `@import` rule is inserted after a standard rule set or other at-rule.
      INDEX_SIZE_ERR: Raised if the specified index is not a valid insertion point.
      NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is readonly.
      SYNTAX_ERR: Raised if the specified rule has a syntax error and is unparsable.

  - ### deleteRule

    void deleteRule(int index) throws DOMException
    Used to delete a rule from the media block.
    Parameters:
      `index` - The index within the media block's rule collection of the rule to remove.
    Throws:
      `DOMException` - INDEX_SIZE_ERR: Raised if the specified index does not correspond to a rule in the media rule list.
      NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is readonly.