【问题标题】:JavaFX CSS: How to inherit background color from other CSS settings?JavaFX CSS:如何从其他 CSS 设置继承背景颜色?
【发布时间】:2016-05-23 07:57:16
【问题描述】:

我有一个 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;
}

【问题讨论】:

    标签: java css javafx background-color


    【解决方案1】:

    可以设置Tabtransparent或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 的 CSS 结构。

    要了解有关 JavaFX 中命名颜色的更多信息,请参阅 this section。

    inherit的文档可以在here找到。

    【讨论】:

      【解决方案2】:

      我做了更多的挖掘工作,找到了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;
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        • 2015-10-13
        • 2016-03-17
        • 1970-01-01
        • 2021-07-09
        相关资源
        最近更新 更多