【发布时间】:2016-08-24 11:37:25
【问题描述】:
编辑(9/05/2016):
检查我写的答案..
第 1 部分
我对应用的所有 TabPanes 都使用 这个 CSS:
.tab-pane .tab-header-area .tab-header-background {
-fx-opacity: 0.0;
}
.tab-pane{
-fx-tab-min-width:90.0px;
}
.tab-pane .tab{
-fx-background-color: orange;
-fx-background-radius:0.0 20.0 0.0 20.0;
-fx-focus-color: transparent;
-fx-faint-focus-color: transparent;
}
.tab-pane .tab:selected{
.....
}
.tab .tab-label {
.....
}
.tab:selected .tab-label {
....
}
第 2 部分)
但是我有一个带有 id="SpecialTabPane" 的 TabPane 并且我希望它具有不同的 css 值,所以:
#SpecialTabPane.tab{
-fx-background-color:cyan;
-fx-background-radius:20 20 0 0;
-fx-padding:3em 0em 3em 0em;
-fx-cursor:hand;
}
#SpecialTabPane.tab:selected{
-fx-background-color:magenta;
}
问题
第 2 部分 css 更改了所有 TabPanes。为什么会这样?它必须只选择 id="SpecialTabPane" 和类选择器=".tab"的 tabPane ...我使用的是 Java 1.8 _91
编辑:
我找到了与 css 以及孩子如何从父母那里继承有关的答案。
【问题讨论】:
-
你能创建一个minimal reproducible example吗?看起来它应该可以工作,但是给标签窗格一个样式类
tab有点奇怪;因为各个选项卡已经具有该类。 -
@James_D 我想让具有此 ID 的 TabPane 与其他 TabPane 不同,在这里我只为选项卡提供 css,但我也想更改其他内容,例如旋转选项卡的文本标签,但是我只希望这个 TabPane 使用它。实际上,如果 ID 和 .tab 之间没有空格,第 2 部分代码根本不起作用...谢谢您的帮助。
-
但正如您所说,您将 id 应用于 tab 窗格,而不是 tab。除非您将样式类
tab显式添加到 选项卡窗格(这很奇怪),否则选择器实际上不应选择任何内容。发布minimal reproducible example。 -
@James_D 我试图理解 .tab 或 .tab .text-label 是在 javaFX 中构建的?在带有 html 的 css 中,如果我使用选择器 p 正在选择所有段落,但在这里我必须使用 .tab这是如何在 javaFX 内部工作的。如果我创建一个新控件,如果它有子控件,例如带有子控件文本的圆圈,我该怎么做?