【问题标题】:How to provide Vaadin addon @StyleSheets for different themes如何为不同主题提供 Vaadin 插件 @StyleSheets
【发布时间】:2015-03-06 11:00:32
【问题描述】:

我创建了一个小部件,我们称之为 Vaadin 插件,并使用样式表注解包含一个 css 文件:@StyleSheet({ "custom.css" })

现在我想知道如何处理不同主题中的使用情况。我的第一个想法是,像这样编写 css:

.valo .mybutton { background: red;}
.reindeer .mybutton {background: yellow;}

问题是,如果我的应用程序主题扩展了reindeer 主题,html 将不包含任何reindeer 类名,与valo 相同。我没有找到关于这个主题的文档..(我读的是this post

【问题讨论】:

    标签: css themes vaadin vaadin7


    【解决方案1】:

    这是正确的方法吗?您必须为自己可用的每个主题定义组件的外观,并决定在给定主题中组件的最佳视觉表示。如果该主题发生变化,您也必须更改您的附加组件。如果有新主题,你也必须更新你的组件。

    更合适的方法可能只是使用标准的 vaadin css 类,从而让主题决定您的组件的外观。您只需使用标准 vaadin 类定义组件和逻辑部分的结构。这样,无论使用什么主题,您的组件都将完美契合,并且为发布任意数量的新自定义主题做好了准备。我并不是说你不应该在你的插件中包含样式,我只是说你应该考虑不要将你的插件绑定到任何音乐会主题。

    【讨论】:

    • 我喜欢你的想法,但我认为这并不像听起来那么容易存档。例如除了按钮之外还有一个文本字段,在驯鹿中,文本字段的高度为 24 像素,在 valo 中要高得多。两个主题的默认按钮高度似乎相同,那么我将如何归档一个漂亮的外观和感觉?我可以将它们添加到布局中,并且 seht 高度为 100%,但这似乎有很多开销。还是我错过了什么?
    • 除了注解之外,还有其他方法可以包含 css 文件吗?
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2018-08-08
    • 2011-07-30
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多