我创建了一个小部件,让我们称之为Vaadin插件,并使用样式表注释包含一个css文件:@StyleSheet({ "custom.css" })
现在我想知道如何处理不同主题中的用法。我的第一个想法是,写下这样的CSS:
.valo .mybutton { background: red;}
.reindeer .mybutton {background: yellow;}
问题是,如果我的应用程序主题扩展了reindeer
主题,则html将不包含任何reindeer
类名称,与valo
相同。我没有找到关于这个主题的文档..(我读的是this post)
答案 0 :(得分:1)
这是正确的方法吗?您必须为自己可用的每个主题定义组件的外观,并确定组件在给定主题中的最佳可视化表示形式。如果该主题发生变化,您还必须更改您的加载项。如果有新主题,您还必须更新组件。
更合适的方法可能只是使用标准的vaadin css类,从而让主题决定组件的外观。您只需使用标准vaadin类定义组件的结构和逻辑部件。这样,无论使用什么主题,您的组件都将完美适合,并且它还准备好发布任意数量的新自定义主题。我不是说你不应该在你的附加组件中包含样式,我只是说你应该考虑不要将你的插件与任何一致的主题联系起来。