JavaFX CSS : Apply hover effect to Child nodes when Parent node is hovered on
是否可以在悬停父节点时对节点的子节点应用悬停效果,而不必将每个子节点本身悬停在上面以实现其悬停效果?
例如,假设我有以下节点:
-
HBox-> #parent
- 标签-> #label
- 按钮-> #button
当Hbox悬停在上面时,我希望能够触发按钮和标签的悬停伪类。
JavaFX 2(使用公共API)无法执行此操作,因为它不提供对伪类的访问。即使使用JavaFX 8,我也不建议这样做,因为这会干扰JavaFX管理的伪类。
但是,您可以基于CSS样式表中基于父级的悬停状态应用CSS规则,以使它们看起来与悬停的节点相同。以下CSS假定您将
1 2 3 4 5 6 7 8 9 | /* a button in a hovered container should look the same as a hovered button */ .hover-container:hover .button { -fx-color: -fx-hover-base; } /* override above rule for armed buttons */ .hover-container:hover .button:armed { -fx-color: -fx-pressed-base; } |