2011-07-26 41 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"/>