F*CSS是一个新的类库,是用来弥补AS3在CSS支持方面的空白。这个库原本用于Flash CamoFramework中的PropertySheet体系,由于它的重要性现在逐渐发展成为一个独立的项目。过去我一直非常关注关于原型CSS在AS3中支持的匮乏,因此我希望通过开源这个解决方案来获得Flash社区的反馈。 在进入代码之前,先明确一下这个工具类库需要实现的目标:
需要重点指出的是,这个工具类库并不试图重新建立一个HTML表现引擎。F*CSS是为了设置TextField文本样式而建立的一个专用的CSS适配工具。在你的应用中使用F*CSS,建立外部类似CSS文本定义来设置TextField文本样式。下面让我们看一下如何使用F*CSS来定义TextField的样式。 目前,如果你想改变TextField的显示样式,你必须设置TextField类的一些属性和TextFormat类的另外一些属性。而且,有些属性必须用特别的方式设置,否则将不会显示。为什么要那么麻烦呢?F*CSS将替你设置TextField类和TextFormat类,而你只需一次定义CSS的样式。下面的demo将展现给你看,这样的设置是如此的简单: 就如你看到的那样,F*CSS帮你做了所有的脏活累活:使用一个单一的样式对象来抽象定义TextField/TextFormat类的属性。对所有重要的属性都有很好的支持,F*CSS使用破折号属性名来代替驼峰式命名。这样也能清理CSS标准属性名,例如在TextField类中的font-face属性将改为font定义。 还有两个额外的类允许在你应用的任何地方创建、添加、获得样式表。让我们看一下: 通过使用StyleSheetManager类的单例对象SytleSheetCollection,你可以管理你已加载的StyleSheet。 你还会发现更多有用的工具。例如com.flashartofwar.fcss.utils.StyleApplierUtil这个工具类。 这些是F*CSS的一些基本介绍。目前F*CSS只是一个Alpha版本,但由于它来自Flash Camo项目中的CSS解析器,你会发现它异常的稳定。这里罗列了一些我将在下一版本增加的新特性:
源代码请访问Google code:F*CSS |