Работаете с css на vaadin?

Я читаю главу 8 в книге vaadin и не могу понять, как определить стиль CSS для каждого компонента. Я сделал настройку в styles.scss, но все настройки коснулись всех компонентов, и я не хочу этого.

пример

HorizontalLayout hLayout = new HorizontalLayout();
HorizontalLayout hMainLayout = new HorizontalLayout();

Я хочу, чтобы у hLayout было фоновое изображение, а у hMainLayout — нет.

Я пробую это, но не работаю.

.v-horizontallayout-hLayout {
     background:url("myimage.jpg");
}

.v-horizontallayout-hMainLayout {
     background: none;
}

Есть идеи ?


person FernandoPaiva    schedule 13.12.2013    source источник


Ответы (2)


Я хочу добавить что-то небольшое к ответу пользователя «локаль по умолчанию»:

Существует также метод под названием 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
person nexus    schedule 13.12.2013

Vaadin не определяет стили на основе имен переменных Java.

Вы можете использовать Component.setStyleName чтобы применить собственное имя стиля к вашему компоненту:

HorizontalLayout hLayout = new HorizontalLayout();
hLayout.setStyleName("hLayout");

Тогда вы можете подобрать стиль v-horizontallayout-hLayout

person default locale    schedule 13.12.2013