Css rule class for css::dom
Version 0.15
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
This module provides the \s-1CSS\s0 rule class for \s-1CSS::DOM\s0. It implements the CSSRule and CSSUnknownRule \s-1DOM\s0 interfaces.
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 \s-1CSS::DOM\s0's \*(C`parse\*(C' and \*(C`insertRule\*(C' 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.
Returns one of the constants below indicating the type of rule.
Returns this rule's \s-1CSS\s0 code. If you pass an argument, it will be parsed as the new \s-1CSS\s0 code for this rule (replacing the existing data), and the old value will be returned. This method will die if the replacement \s-1CSS\s0 code creates a different type of rule.
This returns the style sheet to which the rule belongs.
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.
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
\s-1CSS::DOM\s0
CSS::DOM::Rule::Style
CSS::DOM::Rule::Media
CSS::DOM::Rule::Page
CSS::DOM::Rule::Import