关于组件中的样式定义(styles)
可以通过 style 属性来更改 Flex 组件的外观。这些样式属性能够定义 Label 控件的字体大
小,或者 Tree 控件的背景色。在 Flex 中,一些样式从父容器传承给它们的子控件,并跨越了
样式类型和类。这意味着,样式能一次性定义,然后将其应用给一个类型的所有控件,或者应
用于一系列的控件,而且,也在允许在 local,document,global 三个级别来重载每个控件的单
个(样式)属性,这就给控制应用的外观带来很大的灵活性。
更多信息参见 Using Styles and Themes.
关于级联样式表中的继承
在 ActionScript 组件中实现一个样式属性,则该属性会自动被所有的子类继承,这同常见
的方法和属性继承是一样的,这种类型的继承被称作“面向对象继承”。
一些样式属性也支持级联样式表(CSS)继承,CSS 继承的意思是,如果在父容器上设置了样
式属性的值,那么在应用运行时,容器的子控件会继承这个属性值。例如,如果将 Panel 容器
的 fontFamily 样式设置为 Times,那么,这个 Panel 容器的容器的所有子控件都会使用 Times
作为 fontFamily 样式属性的值,除非,在子控件上重设 fontFamily 样式属性。
通常颜色(color)和文本(text)的样式支持 CSS 继承,不论它们的样式通过 CSS 设置,
还是通过 style 属性进行设置。除非有其它的说明,所有其它样式不支持 CSS 继承。
如果在父容器上设置的样式属性不支持 CSS 继承,比如 textDecoration,那么只有父容器
使用这个样式值,它的子控件不会使用这个值。但是 CSS 继承规则有一个例外,如果在 CSS 样
式定义中使用全局(global)类型(type)选择器(selector),那就不管属性是否可以被继
承,都会起作用。
关于样式继承的更多信息参见 Using Styles and Themes.
关于设置样式
Flex 提供几种方式来设置组件的样式:使用 MXML 标记属性,调用 setStyle()方法,以及
使用 CSS.
使用 MXML 标记设置样式
组件用户能用 MXML 标记的属性(attributes)设置组件上的 style 属性(property)。例
如,下面的代码创建一个 TextArea 控件,然后将其 backgroundColor 设置为蓝色(0x0000FF):