java - Vaadin - 动态布局背景

标签 java css vaadin

我试图在单击按钮时更改布局的背景图像。我最初使用以下 css 规则添加背景,并在按钮单击事件中尝试覆盖 css 规则。

.appname .v-desktop {
     background: url(icons/material_wallpaper.jpg) no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

覆盖代码

    private void setImage(String url) {
         Styles styles = Page.getCurrent().getStyles();
         styles.add(".appname .v-desktop {"
            +"background: url(icons/img.jpg) no-repeat center center fixed;"
            +"-webkit-background-size: cover;"
            +"-moz-background-size: cover;"
            +"-o-background-size: cover;"
            +"background-size: cover;}");
     }

它不会按预期工作。当我从浏览器的检查元素功能检查 css 规则时,css 规则被正确覆盖。 任何帮助

最佳答案

您应该在按钮单击时添加样式(例如“更改背景”):

button.addClickListener(...){
   myLayout.addStyleName("changed-background");

}

在您的主题 SCSS 文件中,添加自定义样式

.changed-background{
    background: url(icons/material_wallpaper.jpg) no-repeat center center fixed;
}

关于java - Vaadin - 动态布局背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41026042/

相关文章:

java - 定时器启动/停止参数

java - 如何清除JSP程序中的数据库连接错误?

css - 如何从我的 wordpress 页面覆盖或删除插件的 CSS?

java - Vaadin 流空 View

java - Horizo​​ntalLayout 带有包装组件?

java - 使用java代码获取完整的网页

java - 不可能的Java内存一致性错误

html - 填充给定 div 的高度

css - 动画不透明度延迟淡出 - 将图像的不透明度设置为 0 直到 X 秒?

java - java程序在eclipse IDE中编译错误