[英]How to only change left padding in javafx css
我已经使用了很多html + css,但我对javafx + css完全不熟悉。 所以这将是一个新手问题,但我无法在任何地方找到答案。
我有一个充满标签的大型GridPane(除了其他标签)。 我可以为所有这些标签设置填充,例如:
GridPane.containerLevel02 Label {
-fx-padding: 0 0 0 5;
}
这有效。 我希望一些标签更加缩进,所以我为它们创建了“leftIndent”类:
GridPane.containerLevel02 Label.leftIndent {
-fx-padding: 0 0 0 20;
}
这也有效。
但是 ,我不想在那里指定三个零,因为如果我决定将一般的顶部/底部填充添加到标签,它将不会影响“leftIndent”标签。
我正在寻找的是:
GridPane.containerLevel02 Label.leftIndent {
-fx-padding-left: 20;
}
...喜欢“正常”的CSS或......
GridPane.containerLevel02 Label.leftIndent {
-fx-padding: null null null 20;
}
...或者任何可以让我指定左边填充的东西, 使顶部,右边和底部填充不受当前任何值的影响 。
那可能吗? 谢谢!
由于JavaFX不提供-fx-padding-left
或类似,我认为最简单的解决方法是使用变量。 例如:
.root {
LABEL_PADDING_TOP: 0;
LABEL_PADDING_RIGHT: 0;
LABEL_PADDING_BOTTOM: 0;
LABEL_PADDING_LEFT: 5;
}
GridPane.containerLevel02 Label {
-fx-padding: LABEL_PADDING_TOP LABEL_PADDING_RIGHT LABEL_PADDING_BOTTOM LABEL_PADDING_LEFT;
}
GridPane.containerLevel02 Label.leftIndent {
-fx-padding: LABEL_PADDING_TOP LABEL_PADDING_RIGHT LABEL_PADDING_BOTTOM 20;
}
它仍然要求您覆盖在某些用例中可能不需要的所有值,但至少您必须仅在一个地方指定默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.