Java 在vaadin上使用css?
我正在阅读《瓦丁之书》的第8章,我无法理解如何为每个组件定义css样式。我在styles.scs上做了自定义,但是所有的自定义都转到了所有组件,我不想这样 范例Java 在vaadin上使用css?,java,vaadin,vaadin7,Java,Vaadin,Vaadin7,我正在阅读《瓦丁之书》的第8章,我无法理解如何为每个组件定义css样式。我在styles.scs上做了自定义,但是所有的自定义都转到了所有组件,我不想这样 范例 HorizontalLayout hLayout = new HorizontalLayout(); HorizontalLayout hMainLayout = new HorizontalLayout(); 我希望hLayout有一个背景图像,hMainLayout没有 我试过了,但没用 .v-horizontallayout-h
HorizontalLayout hLayout = new HorizontalLayout();
HorizontalLayout hMainLayout = new HorizontalLayout();
我希望hLayout有一个背景图像,hMainLayout没有
我试过了,但没用
.v-horizontallayout-hLayout {
background:url("myimage.jpg");
}
.v-horizontallayout-hMainLayout {
background: none;
}
有什么想法吗?Vaadin没有基于java变量名定义样式 可以使用将自定义样式名称应用于构件:
HorizontalLayout hLayout = new HorizontalLayout();
hLayout.setStyleName("hLayout");
然后您可以匹配样式
v-horizontallayout-hLayout
我想在用户的默认区域设置中添加一些内容回答:
还有一个名为addStyleName(String)
的方法,在某些情况下更好,尤其是当您不想替换任何以前的用户定义样式时
顺便说一句:
您可以使用setStyleName(String)
/addStyleName(String)
应用多个样式,方法如下:
hLayout.setStyleName("aLayout bLayout cLayout"); // replaces any previous styles
hLayout.addStyleName("dLayout eLayout fLayout"); // add styles without any replacement