禁用Flex CSS类型选择器警告?

dav*_*avr 14 css apache-flex warnings flex4 flex-spark

我正在构建一个包含多个模块的大型Flex项目(一个生成多个SWF的Flex项目)

现在,我有一个css文件,被加载到主SWF标签中:

<s:Application ... >
    <fx:Style source="css/main.css" />
...
</s:Application>
Run Code Online (Sandbox Code Playgroud)

在CSS文件中:

/* CSS file */
@namespace s "library://ns.adobe.com/flex/spark";

s|Panel { 
    skinClass: ClassReference("com.skins.DefaultPanelSkin"); 
} 

s|Button {
    skinClass: ClassReference("com.skins.DefaultButtonSkin");
}
Run Code Online (Sandbox Code Playgroud)

CSS文件不会在其他任何地方引用.

我目前有6个模块(加上主SWF,总共7个SWF).我注意到警告的数量与模块的数量有关......每次添加模块时,我都会收到更多警告.现在,我对CSS文件中的每个条目都收到6个警告,所以:

CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
CSS type selectors are not supported in components: 'Panel'
Run Code Online (Sandbox Code Playgroud)

并重复按钮,TextArea等等.我有很多无用的警告,不可能看到是否有任何有效的警告.

这个警告是由我做错了吗?这些样式都正确应用,并且似乎在运行时以我想要的方式工作.如果我没有做错什么,我可以告诉编译器忽略这个警告吗?

注意:我已经尝试了-show-unused-type-selector-warnings=false编译器标志,它不起作用......这是一个类似但不同的警告.

And*_*ett 6

如果您正在查看FlexBuilder中的警告,您应该能够使用Eclipse的问题过滤GUI.假设Flex 4在这方面与Flex 3非常相似,在右上方的问题标签上,有一个按钮,其工具提示"配置要应用于此视图的过滤器".这是带箭头的那个.

在过滤器对话框中,在默认过滤器上,将描述设置为"不包含",将其下面的文本设置为"组件中不支持CSS类型选择器".


sha*_*vey 1

问题是您无法在加载的模块中定义全局样式。您可以为 Module 标记使用特定的样式名称,并在 css 中使用后代将样式应用到子组件:

<mx:Module styleName='mySubStyle' .../>
Run Code Online (Sandbox Code Playgroud)

并在CSS中使用:

.mySubStyle s|Panel { color: #FF0000; }
Run Code Online (Sandbox Code Playgroud)