2011-07-26 43 views
0

我有一个Flex ActionScript组件。我如何将CSS应用到这个组件?我希望能够从外部CSS文件应用样式。Flex:如何将CSS应用到ActionScript Componet?

CSS选择器中的文件 'global.css中':

.myPanel 
{ 
color:#cccccc; 
background-color:#333333; 
border-color:#ff0000; 
border-style:solid; 
} 

我的Flex组件:

package components 
{ 
import mx.containers.Panel; 

public class myPanel extends Panel 
{ 
public function myPanel() 
{ 
    super(); 
} 

override protected function createChildren():void 
{ 
super.createChildren(); 
} 
} 
} 

回答

0

不幸的是,如果你的组件是通过ActionScript定义,你必须手动定义CSS构造函数或初始化函数中的样式(例如):

//create and initialize css 
var myCSS:StyleSheet = new StyleSheet(); 
myCSS.setStyle("body", {fontSize:'15',color:'#000066'}); 
myCSS.setStyle("h1", {fontSize:'25',color:'#000000'}); 
myCSS.setStyle("h2", {fontSize:'19',color:'#000000'}); 
myCSS.setStyle("a:link", {color:'#0000CC',textDecoration:'none'}); 
myCSS.setStyle("a:hover", {color:'#0000FF',textDecoration:'underline'}); 
myCSS.setStyle("b", {fontWeight:'bold'}); 
myCSS.setStyle("em", {fontWeight:'bold'}); 

更简单的方法是精细您的组件为MXML组件,并在标题定义样式表,就像这样:

<fx:Style source="../assets/css/global.css"/> 

而且你的CSS文件:

0

您可以添加样式到您的元素:

this.setStyle('styleName', 'myPanel'); 

(不知道这一点,需要检查,但如果你有元素它将工作)在这种情况下,选择器

.myPanel 

将工作

要加载CSS文件使用:在你的MXML文件

<fx:Style source="qx.css"/>