NAME

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

VERSION

Version 0.17

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