The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CSS::DOM::Rule - CSS rule class for CSS::DOM

VERSION

Version 0.15

SYNOPSIS

  use CSS::DOM::Rule ':all'; # import constants

  use CSS::DOM;
  $sheet = new CSS::DOM;
  $sheet->insertRule('bla blah blah {}');
  $rule = $sheet->cssRules->[0];
  
  $rule->type; # STYLE_RULE
  $rule->cssText; # 'bla blah blah {}' or similar
  $rule->cssText('p { margin: 0 }'); # replace it
  $rule->parentStyleSheet; # $sheet

DESCRIPTION

This module provides the CSS rule class for CSS::DOM. It implements the CSSRule and CSSUnknownRule DOM interfaces.

METHODS

Constructor

Only call the constructor on this class to create an 'unknown' rule. You have to call the constructor on a particular subclass to get another type. Normally you do not need to call this directly anyway. (See CSS::DOM's parse and insertRule methods.) But just in case you do want to call it, here it is:

  new CSS::DOM::Rule $parent; # unknown rule
  
  require CSS::DOM::Rule::Style
  new CSS::DOM::Rule::Style $parent;
  # etc.

$parent is the parent rule, if the rule is nested, or the parent style sheet otherwise.

Object Methods

type

Returns one of the constants below indicating the type of rule.

cssText

Returns this rule's CSS code. If you pass an argument, it will be parsed as the new CSS code for this rule (replacing the existing data), and the old value will be returned. This method will die if the replacement CSS code creates a different type of rule.

parentStyleSheet

This returns the style sheet to which the rule belongs.

parentRule

This returns the rule's parent rule, if there is one, or an empty list otherwise. There is only a parent rule if this one is nested, e.g., inside a media rule.

EXPORTS

The following constants that indicate the type of rule will be exported on request (individually or with the ':all' tag):

  UNKNOWN_RULE
  STYLE_RULE    
  CHARSET_RULE  
  IMPORT_RULE   
  MEDIA_RULE    
  FONT_FACE_RULE
  PAGE_RULE

SEE ALSO

CSS::DOM

CSS::DOM::Rule::Style

CSS::DOM::Rule::Media

CSS::DOM::Rule::Page

CSS::DOM::Rule::Import