当前位置: 首页 > 知识库问答 >
问题:

如何垂直对齐瓦丁网格中单元格的内容?

阎丰
2023-03-14

我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中。

        this.grid.setRowHeight(65);
        this.grid.setStyleGenerator(item -> "v-align-center");

它让它看起来像这样。

如何实现垂直居中?当我尝试添加样式名称 v-对齐中间时,它什么也没做。

共有2个答案

司马英才
2023-03-14

我玩过CSS样式和默认的文本呈现器,但没有让它工作。当您切换到 HtmlRenderer 时,您就有更多的样式选项,其中包含其他 div HTML 元素。有关样式提示,请参阅此问题。例如,当您可以使用弹性布局时,这应该有效:

<div style="display:flex; height:100%; width:100%">
    <div style="margin: auto;">11 m³</div>
</div>

另一种解决方法是使用ComponentRenader列,其中HorizontalLayout设置为100%高度,其子组件与中间对齐。

徐淳
2023-03-14

如果你要设置行的特定高度,那么用CSS来实现就非常简单了。

我没有使用StyleGenerator,而是将一个CSS类应用于网格本身。

Java:

addStyleName("my-custom-grid");

CSS(客服代表):

.my-custom-grid .v-grid-body .v-grid-row .v-grid-cell {
    height: 65px;
    line-height: 65px;
}    
 类似资料:
  • 问题内容: 根据该规范,默认值是。 将框的基线与父框的基线对齐。如果该框没有基线,则将下边距边缘与父对象的基线对齐。 但是,当涉及表格单元格()时,默认值始终为。 将框的垂直中点与父框的基线对齐,再加上父框x高度的一半。 我希望对此行为进行官方确认,但在W3C文档中找不到任何内容。我发现的所有内容都显示默认值为。 它在哪里说表单元的默认值是? 问题答案: 如规范所述,的初始值始终为: 垂直对齐 初

  • 我想删除Vaadin 8网格中所有单元格周围的边框。我不相信这可以用代码来做,并且表格的css不适用于网格,因此你如何为网格执行此操作?

  • 单击包含< code>VerticalLayout行等组件的Vaadin 8 中的单元格时,不会选中该行(使用Vaadin 8.1.5)。 如果组件未填充整个单元格,则单击单元格中未使用的区域会使该行处于选中状态。 我一直在研究如何将点击组件转发到单元格点击侦听器,但尚未对此有任何控制。猜猜这甚至不是最好的方法。 解决方案是什么?

  • Vaadin 7中的和组件之间有什么区别? 我应该使用哪种,何时使用?

  • 这里有一个非常基本的例子,我试图根据单元格中存在的特定字符串值来给特定的单元格着色。我输入打印报表,然后点击返回“绿色”,返回“橙色”,等等...点,但在运行时,我只得到灰色和白色交替的行颜色,没有我特定的单元格颜色。我使用的css是直接从《瓦丁之书》中提取的,我认为这很简单。也许我遗漏了一些小事。 单元格样式生成器代码: CSS: 当我查看浏览器中实际呈现的内容时,这是单元格的样子:

  • 问题内容: HTML CSS 问题 文本应放在我的“表格单元”的中间。一切正常,直到我添加“ position:absolute”。现在它不能再将我的内容放在中间了吗?为什么不?它仍然知道我的身高和宽度,因为我在CSS中进行了设置。 有什么聪明的解决方法吗? 问题答案: 一切正常,直到我添加“ position:absolute”。现在它不能再将我的内容放在中间了吗?为什么不? 部队,在这里阅读第