К сожалению, нет способа предотвратить применение стиля к узлам с определенным предком.Это требует, чтобы вы
- нашли способ ограничить узлы, к которым применяется ваш стиль, таким образом, чтобы не изменять потомков, например,
DatePicker
или - сброситьсвойства, которые вы изменили до значений
modena.css
, применяются к ним.
Для второго варианта вы можете использовать
Button {
-fx-font-size: 20;
-fx-font-family: "Arial";
-fx-pref-width: 300;
-fx-pref-height: 60;
-fx-background-radius: 16px;
-fx-background-color: lightgrey;
-fx-text-fill: black;
}
.date-picker-popup > * > .spinner > .button {
-fx-font-size: 1em;
-fx-font-family: "System";
-fx-pref-width: -1;
-fx-pref-height: -1;
-fx-background-color: -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-radius: 0;
}
.date-picker-popup > * > .spinner > .button:focused {
-fx-background-color: -fx-focus-color, -fx-inner-border, -fx-body-color, -fx-faint-focus-color, -fx-body-color;
}
Однако обратите внимание, что это необходимо сделать для каждого стандартного элемента управления, использующего кнопку.Добавление способа выбора кнопок, которые вы хотите стилизовать, может быть намного проще.Например, вы можете добавить класс стилей к кнопкам, которые хотите стилизовать:
button.getStyleClass().add("my-style");
Button.my-style {
-fx-font-size: 20;
-fx-font-family: "Arial";
-fx-pref-width: 300;
-fx-pref-height: 60;
-fx-background-radius: 16px;
-fx-background-color: lightgrey;
-fx-text-fill: black;
}