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);
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.
Sets a style property on this CSSStyleDeclaration.
CSSStyleDeclaration
Property Detail
defaultFactory
property
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
factory
property
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
overrides
property
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
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
selectorIndex
property
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
specificity
property
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
subject
property
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.
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.