首页 > 解决方案 > 在样式表中覆盖 modena 选择器

问题描述

我有一个 Javafx 应用程序,我希望为其添加更改配色方案的功能。该应用程序使用 modena.css 作为默认样式表。

如果我在场景的单独样式表中覆盖 -fx-color,例如。

.root {
  -fx-color:black;
}

依赖于 -fx-color 的选择器会被重新定义吗?例如。

   -fx-inner-border: linear-gradient(to bottom,
                ladder(
                    -fx-color,
                    derive(-fx-color,30%) 0%,
                    derive(-fx-color,20%) 40%,
                    derive(-fx-color,25%) 60%,
                    derive(-fx-color,55%) 80%,
                    derive(-fx-color,55%) 90%,
                    derive(-fx-color,75%) 100%
                ),
                ladder(
                    -fx-color,
                    derive(-fx-color,20%) 0%,
                    derive(-fx-color,10%) 20%,
                    derive(-fx-color,5%) 40%,
                    derive(-fx-color,-2%) 60%,
                    derive(-fx-color,-5%) 100%
                ));

还是我必须在我的样式表中重新定义这些以确保它们使用 -fx-color 的新值?

标签: cssjavafx

解决方案


根据@fabian 的评论,每个选择器在使用时都会进行评估,因此在这种情况下 -fx-inner-border 将使用更新后的 -fx-color。


推荐阅读