如何为 DatePicker (JavaFX 11) 获取正确的 CSS 项
Howto get the correct CSS item for DatePicker (JavaFX11)
如何更改月标签和年标签的CSS?它们是灰色的,我想换成白色。我找不到这两项的 CSS。
此日期选择器的当前 CSS 代码:
/**
* https://gist.github.com/maxd/63691840fc372f22f470
*/
.calendar-grid {
-fx-background-color: rgb(20, 156, 255);
}
.combo-box-popup > .list-view > .placeholder > .label {
-fx-text-fill: white;
}
.calendar-header {
-fx-background-color: #1d1d1d;
-fx-base: #1d1d1d;
-fx-text-fill: white;
}
.date-picker-popup {
-fx-text-fill: white;
-fx-background-color:
linear-gradient(to bottom,
derive(-fx-color,-17%),
derive(-fx-color,-30%)
),
-fx-control-inner-background;
-fx-background-insets: 0, 1;
-fx-background-radius: 0;
-fx-alignment: CENTER; /* VBox */
-fx-spacing: 0; /* VBox */
-fx-padding: 0.083333em; /* 1 1 1 1 */
-fx-effect: dropshadow( gaussian , rgba(0,0,0,0.2) , 12, 0.0 , 0 , 8 );
}
.date-picker > .text-field {
-fx-text-fill: white;
}
.date-picker-popup > .month-year-pane {
-fx-background-color: #1d1d1d;
-fx-text-fill: white;
}
将 .month-year-pane
的样式更改为
.date-picker-popup > .month-year-pane {
-fx-base: #1d1d1d ;
-fx-mark-highlight-color: -fx-light-text-color ;
}
默认情况下,-fx-background-color
设置为 fx-background
,这又取决于 -fx-base
。根据背景的强度自动选择其文本呈现在 -fx-background
背景上的控件的默认文本填充;在这种情况下,它将被设置为 -fx-light-text-color
(默认为白色)。
箭头在 -fx-mark-highlight-color
中呈现,因此将其设置为 -fx-light-text-color
可确保箭头与文本颜色相同。 (可能更好的方法是模仿 -fx-text-fill
的阶梯。)
你的很多CSS好像都没有效果。有了上面的变化,这似乎是等价的:
.calendar-grid {
-fx-background-color: rgb(20, 156, 255);
}
.date-picker > .text-field {
-fx-text-fill: white;
}
.date-picker-popup > .month-year-pane {
-fx-base: #1d1d1d ;
-fx-mark-highlight-color: -fx-light-text-color ;
}
注意规则
.date-picker > .text-field {
-fx-text-fill: white;
}
使文本字段中的文本(即所选日期)不可见;不知道这是不是我想要的效果
如何更改月标签和年标签的CSS?它们是灰色的,我想换成白色。我找不到这两项的 CSS。
此日期选择器的当前 CSS 代码:
/**
* https://gist.github.com/maxd/63691840fc372f22f470
*/
.calendar-grid {
-fx-background-color: rgb(20, 156, 255);
}
.combo-box-popup > .list-view > .placeholder > .label {
-fx-text-fill: white;
}
.calendar-header {
-fx-background-color: #1d1d1d;
-fx-base: #1d1d1d;
-fx-text-fill: white;
}
.date-picker-popup {
-fx-text-fill: white;
-fx-background-color:
linear-gradient(to bottom,
derive(-fx-color,-17%),
derive(-fx-color,-30%)
),
-fx-control-inner-background;
-fx-background-insets: 0, 1;
-fx-background-radius: 0;
-fx-alignment: CENTER; /* VBox */
-fx-spacing: 0; /* VBox */
-fx-padding: 0.083333em; /* 1 1 1 1 */
-fx-effect: dropshadow( gaussian , rgba(0,0,0,0.2) , 12, 0.0 , 0 , 8 );
}
.date-picker > .text-field {
-fx-text-fill: white;
}
.date-picker-popup > .month-year-pane {
-fx-background-color: #1d1d1d;
-fx-text-fill: white;
}
将 .month-year-pane
的样式更改为
.date-picker-popup > .month-year-pane {
-fx-base: #1d1d1d ;
-fx-mark-highlight-color: -fx-light-text-color ;
}
默认情况下,-fx-background-color
设置为 fx-background
,这又取决于 -fx-base
。根据背景的强度自动选择其文本呈现在 -fx-background
背景上的控件的默认文本填充;在这种情况下,它将被设置为 -fx-light-text-color
(默认为白色)。
箭头在 -fx-mark-highlight-color
中呈现,因此将其设置为 -fx-light-text-color
可确保箭头与文本颜色相同。 (可能更好的方法是模仿 -fx-text-fill
的阶梯。)
你的很多CSS好像都没有效果。有了上面的变化,这似乎是等价的:
.calendar-grid {
-fx-background-color: rgb(20, 156, 255);
}
.date-picker > .text-field {
-fx-text-fill: white;
}
.date-picker-popup > .month-year-pane {
-fx-base: #1d1d1d ;
-fx-mark-highlight-color: -fx-light-text-color ;
}
注意规则
.date-picker > .text-field {
-fx-text-fill: white;
}
使文本字段中的文本(即所选日期)不可见;不知道这是不是我想要的效果