CSS::DOM::Style - CSS style declaration class for CSS::DOM
use CSS::DOM::Style;
$style = CSS::DOM::Style::parse(' text-decoration: none ');
$style->cssText; # returns 'text-decoration: none'
$style->cssText('color: blue'); # replace contents
$style->getPropertyValue('color'); # 'blue'
$style->color; # same
$style->setProperty(color=>'green'); # change it
$style->color('green'); # same
This module provides the CSS style declaration class for CSS::DOM. (A style
declaration is what comes between the braces in "p {
margin: 0 }".) It implements the CSSStyleDeclaration DOM
interface.
- CSS::DOM::Style::parse( $string )
- CSS::DOM::Style::parse( $string, property_parser => $parser )
- This parses the $string and returns a new style
declaration object. This is useful if you have text from an HTML
"style" attribute, for instance.
For details on $property_parser, see
CSS::DOM::PropertyParser.
- new CSS::DOM::Style $owner_rule
- new CSS::DOM::Style owner => $owner_rule, property_parser => $p
- You don't normally need to call this, but, in case you do, here it is.
$owner_rule, which is optional, is expected to be
a CSS::DOM::Rule object, or a subclass like CSS::DOM::Rule::Style.
- cssText ( $new_value )
- Returns the body of this style declaration (without the braces). If you
pass an argument, it will parsed and replace the existing CSS data.
- getPropertyValue ( $name )
- Returns the value of the named CSS property as a string.
- getPropertyCSSValue ( $name )
- Returns an object representing the property's value. (See
CSS::DOM::Value.)
- removeProperty ( $name )
- Removes the named property, returning its value.
- getPropertyPriority
- Returns the property's priority. This is usually the empty string or the
word 'important'.
- setProperty ( $name, $value, $priority )
- Sets the CSS property named $name, giving it a
value of $value and setting the priority to
$priority.
- length
- Returns the number of properties
- item ( $index )
- Returns the name of the property at the given index.
- parentRule
- Returns the rule to which this declaration belongs.
- modification_handler ( $coderef )
- This method, not part of the DOM, allows you to attach a call-back routine
that is run whenever a change occurs to the style object (with the style
object as its only argument). If you call it without an argument it
returns the current handler. With an argument, it returns the old value
after setting it.
- property_parser
- This returns the parser that was passed to the constructor.
This module also has methods for accessing each CSS property
directly. Simply capitalise each letter in a CSS property name that follows
a hyphen, then remove the hyphens, and you'll have the method name. E.g.,
call the "borderBottomWidth" method to
get/set the border-bottom-width property. One exception to this is that
"cssFloat" is the method used to access
the 'float' property. (But you can also use the
"float" method, though it's not part of
the DOM standard.)
CSS::DOM
CSS::DOM::Rule::Style
CSS::DOM::PropertyParser
HTML::DOM::Element