Packagemx.styles
Classpublic class CSSStyleDeclaration
InheritanceCSSStyleDeclaration Inheritance flash.events.EventDispatcher
Subclasses AdvancedDataGridColumn, DataGridColumn

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The CSSStyleDeclaration class represents a set of CSS style rules. The MXML compiler automatically generates one CSSStyleDeclaration object for each selector in the CSS files associated with a Flex application.

A CSS rule such as

      Button { color: #FF0000 }
  
affects every instance of the Button class; a selector like Button is called a type selector and must not start with a dot.

A CSS rule such as

      .redButton { color: #FF0000 }
  
affects only components whose styleName property is set to "redButton"; a selector like .redButton is called a class selector and must start with a dot.

You can access the autogenerated CSSStyleDeclaration objects using the StyleManager.getStyleDeclaration() method, passing it either a type selector

  var buttonDeclaration:CSSStyleDeclaration =
      StyleManager.getStyleDeclaration("Button");
  
or a class selector
  var redButtonStyleDeclaration:CSSStyleDeclaration =
      StyleManager.getStyleDeclaration(".redButton");
  

You can use the getStyle(), setStyle(), and clearStyle() methods to get, set, and clear style properties on a CSSStyleDeclaration.

You can also create and install a CSSStyleDeclaration at run time using the StyleManager.setStyleDeclaration() method:

  var newStyleDeclaration:CSSStyleDeclaration = new CSSStyleDeclaration(".bigMargins");
  newStyleDeclaration.defaultFactory = function():void
  {
      leftMargin = 50;
      rightMargin = 50;
  }
  StyleManager.setStyleDeclaration(".bigMargins", newStyleDeclaration, true);
  

See also

mx.core.UIComponent
mx.styles.StyleManager


Public Properties
 PropertyDefined By
  defaultFactory : Function
This function, if it isn't null, is usually autogenerated by the MXML compiler.
CSSStyleDeclaration
  factory : Function
This function, if it isn't null, is usually autogenerated by the MXML compiler.
CSSStyleDeclaration
  overrides : Object
If the setStyle() method is called on a UIComponent or CSSStyleDeclaration at run time, this object stores the name/value pairs that were set; they override the name/value pairs in the objects produced by the methods specified by the defaultFactory and factory properties.
CSSStyleDeclaration
  selector : CSSSelector
This property is the base selector of a potential chain of selectors and conditions that are used to match CSS style declarations to components.
CSSStyleDeclaration
  selectorIndex : int = 0
The order this CSSStyleDeclaration was added to its StyleManager.
CSSStyleDeclaration
  specificity : int
[read-only] Determines the order of precedence when applying multiple style declarations to a component.
CSSStyleDeclaration
  subject : String
[read-only] The subject describes the name of a component that may be a potential match for this style declaration.
CSSStyleDeclaration
Public Methods
 MethodDefined By
  
CSSStyleDeclaration(selector:Object = null, styleManager:IStyleManager2 = null, autoRegisterWithStyleManager:Boolean = true)
Constructor.
CSSStyleDeclaration
  
clearStyle(styleProp:String):void
Clears a style property on this CSSStyleDeclaration.
CSSStyleDeclaration
  
getStyle(styleProp:String):*
Gets the value for a specified style property, as determined solely by this CSSStyleDeclaration.
CSSStyleDeclaration
  
Determines whether this style declaration applies to the given component based on a match of the selector chain.
CSSStyleDeclaration
  
setStyle(styleProp:String, newValue:*):void
Sets a style property on this CSSStyleDeclaration.
CSSStyleDeclaration
Property Detail
defaultFactoryproperty
defaultFactory:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

This function, if it isn't null, is usually autogenerated by the MXML compiler. It produce copies of a plain Object, such as { leftMargin: 10, rightMargin: 10 }, containing name/value pairs for style properties; the object is used to build a node of the prototype chain for looking up style properties.

If this CSSStyleDeclaration is owned by a UIComponent written in MXML, this function encodes the style attributes that were specified on the root tag of the component definition.

If the UIComponent was written in ActionScript, this property is null.


Implementation
    public function get defaultFactory():Function
    public function set defaultFactory(value:Function):void
factoryproperty 
factory:Function

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

This function, if it isn't null, is usually autogenerated by the MXML compiler. It produce copies of a plain Object, such as { leftMargin: 10, rightMargin: 10 }, containing name/value pairs for style properties; the object is used to build a node of the prototype chain for looking up style properties.

If this CSSStyleDeclaration is owned by a UIComponent, this function encodes the style attributes that were specified in MXML for an instance of that component.


Implementation
    public function get factory():Function
    public function set factory(value:Function):void
overridesproperty 
overrides:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

If the setStyle() method is called on a UIComponent or CSSStyleDeclaration at run time, this object stores the name/value pairs that were set; they override the name/value pairs in the objects produced by the methods specified by the defaultFactory and factory properties.


Implementation
    public function get overrides():Object
    public function set overrides(value:Object):void
selectorproperty 
selector:CSSSelector

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

This property is the base selector of a potential chain of selectors and conditions that are used to match CSS style declarations to components.


Implementation
    public function get selector():CSSSelector
    public function set selector(value:CSSSelector):void
selectorIndexproperty 
public var selectorIndex:int = 0

The order this CSSStyleDeclaration was added to its StyleManager. MatchStyleDeclarations has to return the declarations in the order they were declared

specificityproperty 
specificity:int  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Determines the order of precedence when applying multiple style declarations to a component. If style declarations are of equal precedence, the last one wins.


Implementation
    public function get specificity():int
subjectproperty 
subject:String  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The subject describes the name of a component that may be a potential match for this style declaration. The subject is determined as right most simple type selector in a potential chain of selectors.


Implementation
    public function get subject():String
Constructor Detail
CSSStyleDeclaration()Constructor
public function CSSStyleDeclaration(selector:Object = null, styleManager:IStyleManager2 = null, autoRegisterWithStyleManager:Boolean = true)

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Constructor.

Parameters
selector:Object (default = null) — - If the selector is a CSSSelector then advanced CSS selectors are supported. If a String is used for the selector then only simple CSS selectors are supported. If the String starts with a dot it is interpreted as a universal class selector, otherwise it must represent a simple type selector. If not null, this CSSStyleDeclaration will be registered with StyleManager.
 
styleManager:IStyleManager2 (default = null) — - The style manager to set this declaration into. If the styleManager is null the top-level style manager will be used.
 
autoRegisterWithStyleManager:Boolean (default = true) — - If true set the selector in the styleManager. The selector will only be set if both selector and styleManager are both non-null.
Method Detail
clearStyle()method
public function clearStyle(styleProp:String):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Clears a style property on this CSSStyleDeclaration. This is the same as setting the style value to undefined.

Parameters

styleProp:String — The name of the style property.

getStyle()method 
public function getStyle(styleProp:String):*

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Gets the value for a specified style property, as determined solely by this CSSStyleDeclaration.

The returned value may be of any type.

The values null, "", false, NaN, and 0 are all valid style values, but the value undefined is not; it indicates that the specified style is not set on this CSSStyleDeclaration. You can use the method StyleManager.isValidStyleValue() to test the value that is returned.

Parameters

styleProp:String — The name of the style property.

Returns
* — The value of the specified style property if set, or undefined if not.
matchesStyleClient()method 
public function matchesStyleClient(object:IAdvancedStyleClient):Boolean

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Determines whether this style declaration applies to the given component based on a match of the selector chain.

Parameters

object:IAdvancedStyleClient — The component to match the style declaration against.

Returns
Boolean — true if this style declaration applies to the component, otherwise false.
setStyle()method 
public function setStyle(styleProp:String, newValue:*):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Sets a style property on this CSSStyleDeclaration.

Parameters

styleProp:String — The name of the style property.
 
newValue:* — The value of the style property. The value may be of any type. The values null, "", false, NaN, and 0 are all valid style values, but the value undefined is not. Setting a style property to the value undefined is the same as calling the clearStyle() method.