Vaadin 10,如何在Java中将CSS类添加到div元素?

时间:2018-08-19 22:26:24

标签: vaadin vaadin10

我试图在这样的UI卡中创建用户列表,

<style type="text/css">
    .userbox {
        left: 36px;
        color: black;
        font-family: arial;
        font-size: 17px;
        font-weight: 600;
        width: 300px;
        height: 150px;
        text-indent: 30px;
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
    }

    .userbox:hover {
        background-color: #d1e7cd;
    }

    img {
        border-radius: 5%;
    }
</style>

我想动态生成这些HTML元素,

<div class="userbox"></div>

我该怎么做?我试图创建Div对象并添加样式,但在Vaadin Flow中找不到方法。

2 个答案:

答案 0 :(得分:3)

这应该足够了:

Div div = new Div();
div.setClassName("userbox");

答案 1 :(得分:1)

Div实现了HasStyle接口,该接口具有addClassName(“”)方法:

  

public class Div extends HtmlContainer
  public class HtmlContainer extends HtmlComponent
  public class HtmlComponent extends Component implements HasSize, HasStyle

public interface HasStyle extends HasElement {

    /**
     * Adds a CSS class name to this component.
     *
     * @param className
     *            the CSS class name to add, not <code>null</code>
     */
    default void addClassName(String className) {
        getClassNames().add(className);
    }

就我而言,日食不建议这样做。

您可以使用它: divElement.addClassName(“ userbox”);