繁体   English   中英

如何只更改javafx css中的左边距

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM