我对CSS很陌生,想知道是否有人可以为我回答问题。
在很多CSS示例代码中,我看到如下部分:
.listview{
...
-fx-background-color: -fx-box-border, -fx-control-inner-background ;
...
}
所以我的问题是-fx-box-border,-fx-control-inner-background值来自哪里?它们似乎是某些地方的定义,但它们的价值在哪里以及它们是什么?
提前致谢。
答案 0 :(得分:1)
-fx-background-color
等值是default JavaFX (8) stylesheet,modena.css
中定义的“查找颜色”。
通过检查Java Runtime Environment(JRE)附带的默认样式表,您可以找到它们的值(以及许多其他内容)。
jar xvf $JAVA_HOME/jre/lib/ext/jfxrt.jar com/sun/javafx/scene/control/skin/modena/modena.css
cat com/sun/javafx/scene/control/skin/modena/modena.css
(如果您的环境中未设置JAVA_HOME,请为已安装的JRE位置调整上述命令。)
从“JavaFX CSS参考指南”:复制的“查找颜色”的定义
使用查找颜色,您可以引用当前节点或其任何父节点上设置的任何其他颜色属性。这是一个非常强大的功能,因为它允许在场景中指定颜色的通用调色板,然后在整个应用程序中使用。如果要更改其中一种调色板颜色,可以在场景树中的任何级别执行此操作,它将影响该节点及其所有后代。查找颜色在应用之前不会被查找,因此它们处于活动状态并对可能发生的任何样式更改做出反应,例如在运行时使用节点上的“样式”属性替换调色板颜色。
在以下示例中,所有按钮的所有背景颜色都使用查找的颜色“abc”。
.root { abc: #f00 } .button { -fx-background-color: abc }