Flex:如何将CSS应用于ActionScript组件?

时间:2011-07-26 16:33:20

标签: css flex

我有一个Flex ActionScript组件。如何将CSS应用于此组件?我希望能够从外部CSS文件中应用样式。

文件'global.css'中的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();
}
}
}

2 个答案:

答案 0 :(得分:0)

不幸的是,如果你的组件是通过Actionscript定义的,你必须在构造函数或init函数中手动定义你的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文件:

答案 1 :(得分:0)

您可以为元素添加样式:

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

(不确定这个,需要检查,但是如果你有元素就行了)在这种情况下选择器

.myPanel

将起作用

要加载css文件:

<fx:Style source="qx.css"/>
你在mxml文件中的