css - 动态改变背景颜色

标签 css vaadin

我想在 OptionGroup 组件的 valueChange 事件上更改我的 Vaadin 应用程序的背景颜色。

由于我的页面上有相当多的布局,最好是更改每个 Horizo​​ntalLayout 和 VerticalLayout 的背景颜色,但每个可以添加的新组件也应该具有这种颜色。

我怎样才能做到这一点?谢谢。

最佳答案

想到了两种方法。

从概念上和实现上来说,最简单的方法是使用一个组件作为背景,并提供 Horizo​​ntalLayoutVerticalLayout 组件透明背景。如果你的布局对于这个来说太复杂了,你可以有一些基本的“背景”组件,同样,你的布局组件在顶部是透明的。这个想法是将需要更改颜色的组件减少到易于管理的程度。

如果该方法不能转化为您的用例,您始终可以使用 JavaScript 动态选择布局组件并重新定义它们的背景。通过为所有布局组件提供一个通用的 CSS 类(例如:'dynamic-background')可以使这更易于管理。

JavaScript.getCurrent().execute("$('.dynamic-background').css('background-color', 'purple')");

请注意,此 JavaScript 依赖于 JQuery,请查看有关将 JQuery 与 Vaadin 集成的更多详细信息:
Add javascript/Jquery & client side code in Vaadin 7
Integrating HTML and JavaScript in Vaadin 7

关于css - 动态改变背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21306099/

相关文章:

javascript - 全宽/拉伸(stretch)网站背景图片

html - 容器中的文本溢出

html - float 在绝对定位的 div 内,放置在相对定位的元素内

java - 在已发布的 Tomcat 10 上运行 Vaadin 7/8 Web 应用程序是否存在任何已知的兼容性问题?

java - 如何将文件保存在内存中并读取文件输出流?

java - 如何在 Vaadin 8 中设置 DateField 以根据用户的时区突出显示默认日期

html - 如何在 Safari 和移动设备上防止 overflow-x

javascript - HTML5 拖放——在 HTML 表单上放置一个计数器来计算拖放次数

java - Vaadin 网格表 : how to draw border for certain columns?

Java-Vaadin 如何设置变量包含任何类型的字段?