如何垂直对齐Vaadin网格中单元格的内容?
我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中如何垂直对齐Vaadin网格中单元格的内容?,vaadin,vaadin8,vaadin-grid,Vaadin,Vaadin8,Vaadin Grid,我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中 this.grid.setRowHeight(65); this.grid.setStyleGenerator(item -> "v-align-center"); 它使它看起来像这样 我怎样才能垂直居中?当我尝试添加样式名v-align-middle时,它什么也没做 我使用CSS样式和默认的文本渲染器,但没有让它工作。当您切换到HtmlRenderer时,您可以使用更多的divHTML元素来
this.grid.setRowHeight(65);
this.grid.setStyleGenerator(item -> "v-align-center");
它使它看起来像这样
我怎样才能垂直居中?当我尝试添加样式名v-align-middle时,它什么也没做
我使用CSS样式和默认的
文本渲染器
,但没有让它工作。当您切换到HtmlRenderer
时,您可以使用更多的div
HTML元素来设置样式。有关样式提示,请参见。例如,当您可以使用flex布局时,这应该起作用:
<div style="display:flex; height:100%; width:100%">
<div style="margin: auto;">11 m³</div>
</div>
11 m³
另一种解决方法是使用
ComponentRenderer
列,将水平布局设置为100%高度,其子组件与中间中心对齐。如果要在行上设置特定高度,则使用CSS可以非常直接地实现
我不使用样式生成器,而是将CSS类应用于网格本身
Java:
addStyleName("my-custom-grid");
.my-custom-grid .v-grid-body .v-grid-row .v-grid-cell {
height: 65px;
line-height: 65px;
}
CSS:
addStyleName("my-custom-grid");
.my-custom-grid .v-grid-body .v-grid-row .v-grid-cell {
height: 65px;
line-height: 65px;
}