我有一个CSS文件来设置JavaFX TabPane
和Tab
中的样式。
有没有办法设置TabPane
的背景颜色并继承Tab
背景颜色?
如果我设置了tab-content-area
背景颜色,我是否可以选择此选项卡而无需再次明确指定颜色?
.tab-content-area
{
-fx-background-color: #d9d9d9; /* I want to apply this color to tab background */
}
.tab:selected
{
-fx-background-color : -fx-something; <?? what do i put here??>
-fx-background-insets: 0, 1 1 0 1;
-fx-background-radius: 5 5 0 0, 4 4 0 0;
}
答案 0 :(得分:4)
您可以设置Tab
transparent
或inherit
的背景:
.tab-content-area {
-fx-background-color: #d9d9d9; /* I want to apply this color to tab background */
}
.tab:selected {
-fx-background-color : transparent; /* Or: -fx-background-color : inherit;*/
-fx-background-insets: 0, 1 1 0 1;
-fx-background-radius: 5 5 0 0, 4 4 0 0;
}
您可以查看TabPane
here。
要了解有关JavaFX中命名颜色的更多信息,请参阅this section。
可以找到inherit
的文档here。
答案 1 :(得分:3)
我做了一些挖掘,发现问题的答案Declaring Variable In JavaFX CSS File允许我创建一个足以满足我需要的解决方案。
我的css现在看起来像这样:
* {
-fx-my-global-color:#d9d9d9;
}
.tab-content-area
{
-fx-background-color: -fx-my-global-color;
}
.tab:selected
{
-fx-background-color : -fx-my-global-color;
-fx-background-insets: 0, 1 1 0 1;
-fx-background-radius: 5 5 0 0, 4 4 0 0;
}