gpt4 book ai didi

css - 在 FXML 和 CSS 中设置属性

转载 作者:行者123 更新时间:2023-11-28 16:21:50 28 4
gpt4 key购买 nike

如果我试图在 FXML 和 CSS 的类定义中设置相同的属性,我希望 FXML 中设置的属性被认为比 CSS 中的属性集更具体。

例如,如果我有一个控件,例如

<Label styleClass="myLabel" prefHeight="40.0">

同时还有一个 CSS 定义,例如

Label.myLabel {
-fx-pref-height: 100px;
}

我希望标签的高度为 40 像素。相反,它有 100 像素。有没有办法让 FXML 中的属性具有优先权?

最佳答案

在(到目前为止)没有合格答案的情况下,我只能猜测:

虽然人们可以预期 FXML 属性具有与内联样式定义大致相同的特异性,但它们没有任何关系。

原因是评估顺序:FXML 属性的评估时间早于 CSS 定义,并且完全独立于 CSS 定义。这就是 CSS 定义完全覆盖属性定义,使它们过时的原因。


现在不仅仅是猜测:Here我刚刚发现优先顺序是

  1. a style from a user agent stylesheet in Application.setUserAgentStylesheet(java.lang.String)
  2. value set from code, for example calling Node.setOpacity(double)
  3. a style from an author stylesheet in Scene.getStylesheets() or Parent.getStylesheets()
  4. a style from Node.setStyle(java.lang.String)

假设在 FXML 中预先设置一个值等同于从代码中设置的值。

关于css - 在 FXML 和 CSS 中设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675595/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com