0

GWT MenuBar で MenuItem をスタイル/マークしたい。そのため、メニュー項目にスタイル名を追加するロジックがいくつかあります (ロジックは正しく機能しています)。

mItem.setStyleName("menuItemMarked", true);

このセットを使用すると、getStyleName は期待どおり「gwt-MenuItem menuItemMarked」を生成します。

しかし、このスタイルをcssで使用/適用する方法(現時点ではcssをuibinder.xmlに入れています)? (ご覧のとおり、私はCSSの専門家ではありません)

更新:私が試したのはそれです。

.menuItemMarked{background-color: yellow}

これは機能していません。「要素の検査」(chrome) を呼び出すと、「class="gwt-MenuItem menuItemMarked」が表示されますが、適用されたスタイルのリストに「menuItemMarked」というスタイルが見つかりません。

4

2 に答える 2

4

CSS はどこで指定していますか?

コードがコード パッケージ内にある場合、GWT コンパイラによって難読化されている可能性があります。これは、ファイル内の<ui:style>ブロック.ui.xml、および.cssClientBundles に含まれるファイルに適用されます。

この場合、GWT のドキュメントからインライン スタイルへのプログラムによるアクセスを確認してください。これにより、コードを次のように変更できます。

mItem.setStyleName(style.menuItemMarked(), true);

または、特定の CSS クラスを難読化しないように GWT に指示することもできます。これは、同様の質問に対する詳細な回答です


最後に、GWT が CSS ファイルに触れない場合 (他のファイルと同様にサーバーから提供されている場合)、ファイルがページに適切に含まれていることを確認する必要があります。ブラウザの開発ツールがそれを支援できるはずです。

于 2012-07-06T14:10:49.373 に答える
1

CSS で正しいセレクター名を指定していることを確認してください。この場合、次のものが必要です。

.gwt-MenuItem.menuItemMarked {
    background-color: yellow;
}

リストの最初のクラス名のままであるため、後続のクラスで定義されているgwt-MenuItemスタイル (を含む) よりも優先されます。background-colorこれを却下する唯一の方法は、上記のようなより具体的なセレクターでスタイルを定義することです。詳細な説明については、このリンクを参照してください。

于 2012-07-07T02:08:53.613 に答える