2012-03-19 166 views
0

我想根据某些逻辑更改TabNavigator中几个选项卡的边框颜色。我有以下的答案的帮助下做这件事:
Changing tab border color at run time in flex特定于flex中id的CSS样式

var cssStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".MyTabs"); 
       cssStyle.setStyle("borderColor", "red"); 

但现在边框颜色改变与“MyTabs”类中的所有选项卡。我想用特定的id将它指定为少数选项卡。

我试过它只通过它的ID访问一个选项卡,但它不适合我。

1. var cssStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration("#myTabId.MyTabs"); 

2. var cssStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".MyTabs#myTabId"); 

3. var cssStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration("#myTabId"); 

4. cssStyle.setStyle("#myTabId.borderColor", "red"); 

有没有办法实现呢?

+0

#3应该工作。它有什么作用? – 2012-03-20 13:14:47

回答

1

为了将css应用于flex中具有特定id的对象,可以使用高级css id选择器:#objectidMyTabs#objectidSee this adobe resource.

+0

ID选择器是选择器中的基本构建模块 - 无处不在。愚蠢的Adobe和他们愚蠢的误导性文章标题:P – BoltClock 2012-03-19 20:02:55

+0

@BoltClock是的,但如果OP想要搜索更多的信息,他会有更好的运气,在那里的advaned关键字。 – 2012-03-19 20:05:47

+0

@SamDeHaan根据StyleManager JavaDocs,它只接受句点(。)和类型选择器。它不支持ID选择器。 – 2012-03-20 13:32:44