我想在 GWT MenuBar 中设置/标记 MenuItem 的样式。所以我有一些逻辑可以将样式名称添加到菜单项(逻辑工作正常)。
mItem.setStyleName("menuItemMarked", true);
使用此设置 getStyleName 会按预期产生“gwt-MenuItem menuItemMarked”。
但是如何在 css 中使用/应用这种样式(目前我将 css 放在 uibinder.xml 中)? (如你所见,我不是 CSS 专家)
更新:我试过的是that .
.menuItemMarked{background-color: yellow}
这是行不通的。如果我调用“inspect element”(chrome),我可以看到“class="gwt-MenuItem menuItemMarked”,但我在应用样式列表中找不到样式“menuItemMarked”?!
最佳答案
您在哪里指定 CSS?
如果您的代码位于您的代码包中,它很可能被 GWT 编译器混淆了。这适用于 <ui:style>
.ui.xml
中的 block 文件,和 .css
ClientBundles 中包含的文件。
在这种情况下,您需要查看 Programmatic Access to Inline Styles来自 GWT 文档。这将允许您将代码更改为:
mItem.setStyleName(style.menuItemMarked(), true);
或者,您可以告诉 GWT 不要混淆某些 CSS 类。 Here is a detailed answer to a similar question
最后,如果 GWT 不接触您的 CSS 文件(它像其他文件一样从您的服务器提供),那么您将需要确保您的文件正确包含在您的页面中。您浏览器的开发工具应该能够帮助解决这个问题。
关于css - gwt 如何使用 setStyleName(String style, boolean add) - 对于 gwt 标准小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362442/