Flex 4 提供后代 css 选择器和伪选择器,例如:
s|DropDownList:open {
font-size: 11;
}
s|DropDownList #labelDisplay {
font-size: 12;
}
但是,如果我将这两者结合起来并想做这样的事情,它似乎不起作用:
s|DropDownList:open #labelDisplay {
font-size: 13;
}
后代伪选择器是否可行?
(当然我可以在 labelDisplay
上使用 styleName.open
属性,但我认为使用伪选择器是更优雅的解决方案)
最佳答案
这看起来可能是 Flex 错误。
当尚未使用 :open
伪选择器时,不会应用后代样式,如您所见:
s|DropDownList #labelDisplay {
font-size: 12;
}
s|DropDownList:open #labelDisplay {
font-size: 14;
}
但是,如果你使用伪选择器;甚至是空的,没有样式信息;它似乎修复了它:
s|DropDownList #labelDisplay {
font-size: 12;
}
/* this line fixes it */
s|DropDownList:open {}
s|DropDownList:open #labelDisplay {
font-size: 14;
}
我可以在 sdk 的 4.0、4.1 和 4.5 中看到相同的行为。不太好,但至少有一个解决方法。
关于css - 带有 CSS 的 Flex 4 后代伪选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2857776/