1

だから私はかなり奇妙な小さな問題を抱えています。装飾されていないアプリケーションのメニューとメニュー バーのスタイルを設定しました。コンテキスト メニューのメニュー項目にカーソルを合わせると、メニューの背景色がウィンドウのデフォルトの色に変更されます。

シナリオの写真 (2 番目の写真では、[モデル] メニュー項目にカーソルを合わせています): ここでは、その仕事をしているメニューをホバリングしています。

メニュー項目の 1 つにカーソルを合わせると、そのメニューの背景が青色にジャンプします。

マウスでメニュー項目の上に立っていない場合、メニュー項目の背景も青色になります。

青い背景を修正する方法を知っている人はいますか? 最初の写真のように、メニューにホバー背景を付けたいです。また、メニュー項目には独自の背景も必要であり、マウスを置いていない場合は青にジャンプしません。

CSS:

.menu-bar {
    -fx-background-color: transparent;
}
.menu {
    -fx-label-padding: 3px;
}
.menu .label, .menu-item .label {
    -fx-text-fill: #eee;
}
.menu:hover, .menu:focused, .menu:pressed {
    -fx-background-color: rgba(0, 0, 0, 0.2);
}
.menu-item:hover {
    -fx-background-color: rgba(0, 0, 0, 0.4);
}
.context-menu {
    -fx-background-color: rgba(0, 0, 0, 0.3);
}

前もって感謝します。

4

3 に答える 3

3

.menuおよびに冗長なプロパティ レイヤを追加していますmenu-item。関連するプロパティのみを処理しようとしています。たとえば、あなたの場合、またはイベントのmenuときにカラーリングパターンに従う必要があります。だから追加hoveredshowing

.menu:hover, .menu:showing{
  -fx-background-color: <preferred backgound>;
}

focused同様に、プロパティのみを に追加しますmenu-item。残りは背景を共有するためですcontext-menu

.menu-item:focused{
  -fx-background-color: <preferred background>;
}

簡単なデモのスナップショットを見てください。

ここに画像の説明を入力

于 2016-08-29T15:38:32.830 に答える
3

これをcssに追加します

.menu-item:focused {
   -fx-background-color : <preferred color>;
}
于 2016-08-11T23:11:53.363 に答える