【发布时间】:2016-04-17 10:55:22
【问题描述】:
如果我尝试在 FXML 和 CSS 中的类定义中设置相同的属性,我希望 FXML 中设置的属性被认为比 CSS 中的属性更具体。
例如,如果我有一个控件,例如
<Label styleClass="myLabel" prefHeight="40.0">
同时,还有一个 CSS 定义,例如
Label.myLabel {
-fx-pref-height: 100px;
}
我希望标签的高度为 40 像素。相反,它有 100 像素。 有没有办法让 FXML 中的属性优先?
【问题讨论】:
-
在 HTML 中,浏览器只是将表示属性映射到 CSS 规则,其特异性低于 * 规则。这允许浏览器单独使用 CSS 实现所有布局,同时始终允许作者使用 CSS 覆盖表示属性。另一方面,不可能强制表现属性覆盖 CSS 规则。取决于 CSS 在 JavaFX 中的实现方式,FXML 可能会也可能不会。
-
@BoltClock 如此映射到“浏览器域”,这确实是想要的行为吗?所以它在 FXML 中可能是一样的。谢谢你的来信!
-
我会说它们介于浏览器和作者域之间 - 比任何浏览器默认设置都更具体,但比作者 CSS 更具体(包括外部链接、