Краткий ответ - да. И это одно из основных изменений между Vaadin Platform версии 10 и более поздними по сравнению с Vaadin 8 и более ранними. В Vaadin Platform тематика больше не основана на SASS.
Причина этого изменения в том, что мы используем веб-компоненты для создания клиентских «виджетов», а веб-компоненты основаны на новейшем стандарте HTML5. Они вводят так называемые концепции теневого DOM и локального DOM. То есть Внутренние элементы веб-компонентов не могут быть стилизованы в глобальной теме. Поэтому необходимо количество новых концепций для тематики. Пользовательские свойства , themable mixins и т. Д. В нашей документации есть глава , подробно описывающая это.
Ваш конкретный вопрос может быть решен с помощью пользовательских свойств CSS. В основном они являются переменными CSS и имеют обозначение --my-property
. В документации приведен пример , как добавить пользовательские свойства в пользовательские виджеты. Значения этих пользовательских свойств могут быть определены в глобальных стилях и / или во время выполнения через Element API потока element.getStyle().set("--my-property", "red");
.
Кроме того, те стили, которые отображаются естественным образом, могут быть изменены во время выполнения с использованием Element API element.getStyle()
, например element.getStyle().set("fontWeight", "bold");
В общем, Vaadin Flow предлагает гораздо больше возможностей для динамического моделирования , чем когда-либо делал Vaadin 8.
См. Также: Компонент стиля Vaadin Flow / 10/11 через css