是否可以在CSS声明中嵌入Flex资产类?
问题描述:
我有一个SWC,其中包含我的项目的一些资产。在这个SWC中也是一个静态AS文件,它包含库中每个图像的Class声明。是否可以在CSS声明中嵌入Flex资产类?
例如,SWF包含这些图片:
/assets/foo/bar/img1.jpg
/assets/foo/bar/img2.jpg
它包括AS文件,该文件是这样的:
[Embed(source="/assets/foo/bar/img1.jpg")]
public static const IMG_1:Class;
[Embed(source="/assets/foo/bar/img2.jpg")]
public static const IMG_2:Class;
我想创建一个使用这两个CSS声明图像,但我不想嵌入完整的路径。 是否可以像这样做?
<mx:Style>
.mySampleStyle {
upIcon: Assets.IMG_1;
downIcon: Assets.IMG_2;
}
</mx:Style>
此刻,这个特殊的语法是无效的 - 我得到“。”的编译错误。样式声明中的字符。
是否有另一种方法做到这一点没有嵌入路径(例如upIcon: Embed(source="/assets/foo/bar/img1.jpg")
)在CSS?
答
如陈述here为了在CSS中使用ClassReference引用class类的类成员,应该使用“_”而不是“。”。在您要使用的字段的完全限定名称中。
在你的榜样,
<mx:Style>
.mySampleStyle {
upIcon: ClassReference("Assets_IMG_1");
downIcon: ClassReference("Assets_IMG_2");
}
应该作品。
看来你想嵌入一个类的实例。我不确定这是否可能。但是,请看一下ClassReference以利用样式表中的类。 – JeffryHouser 2010-12-08 18:06:41