Vaadin div标记类属性包含大量字符串,不能替换为css字符串定义字符串

Vaadin div标记类属性包含大量字符串,不能替换为css字符串定义字符串,vaadin,vaadin7,Vaadin,Vaadin7,我正在尝试开发一个UI,第一步是创建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%

我正在尝试开发一个UI,第一步是创建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>
spreadjsdefault.css(它们目前为空)

请指教

有两件事:

  • 为了能够正确匹配css规则,在添加样式名称时必须省略前导的
    ,即
    addStyleName(“contentContainer”)
    。这样,css元素将匹配您的样式定义

  • v-csslayout
    这样的Css类是由vaadin定义的默认类,默认主题使用这些类来提供基本布局。默认情况下,它们是存在的,不能(实际上也不应该)完全删除。但是,您可以自己定义并覆盖这些规则。重要的是:无论哪种方式,当您在样式表中定义自定义类时,它们仍将匹配,并且可以覆盖默认主题


  • 我搬走了。在java代码和现在,我可以看到以下内容。但是,我的目标是只获取所描述的名称。
    <div class=".content-container">
          <div class=".inner-content-container">
          </div>
    </div>
    
    @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);
    
       }
    
    .content-container
    {
    
    }
    
    .inner-content-container
    {
    
    }