Атрибут класса тега div содержит много строк и не может быть заменен строкой определения строки css - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь разработать пользовательский интерфейс, и первым шагом является создание CssLayout. Каждый компонент CssLayout добавляется иерархически вместе со многими компонентами CssLayout.

Проблема в том, что когда я запускаю приложение и проверяю теги div, атрибут class содержит дополнительные строки, которые необходимо удалить.

<div class="v-csslayout v-layout v-widget .content-container v- 
csslayout-.content-container v-has-width v-has-height" style="width: 100%; 
height: 100%;"><div class="v-csslayout v-layout v-widget .inner-content- 
container v-csslayout-.inner-content-container"></div></div>

и что мне нужно, это

<div class=".content-container">
      <div class=".inner-content-container">
      </div>
</div>

Java-код:

@StyleSheet("{css/spreadjsdefault.css}")
public class SpreadJSWidget extends CssLayout {

   /**
    * 
    */
   public SpreadJSWidget() {
      super();

      addStyleName(".content-container");

      CssLayout mainBox = new CssLayout();
      mainBox.addStyleName(".inner-content-container");

      addComponent(mainBox);

   }

spreadjsdefault.css (пока они пусты)

.content-container
{

}

.inner-content-container
{

}

Пожалуйста, совет!

1 Ответ

0 голосов
/ 23 января 2019

Две вещи:

  1. Чтобы правильно соответствовать правилам CSS, вы должны опустить ведущий . при добавлении имени стиля, т.е. addStyleName("contentContainer"). Таким образом, элементы CSS будут соответствовать вашему определению стиля.

  2. Классы Css, такие как v-csslayout, являются классами по умолчанию, определенными vaadin, которые используются в темах по умолчанию для обеспечения базового макета. Они там по умолчанию и не могут (и не должны) быть полностью удалены. Однако вы можете самостоятельно определить и переписать эти правила. Что важно: в любом случае, ваши пользовательские классы все равно будут совпадать, когда вы определите их в таблице стилей, и могут перезаписать тему по умолчанию.

...