JSF 呈现为 HTML 并且可以使用 CSS 设置样式。检查元素如下:
- 在浏览器中查看 JSF 页面。
- 右键单击页面。
- 选择查看源代码。
<h:panelGrid> 呈现 HTML <table> 元素; <h:dataTable> 也呈现为 HTML <table> 元素。数据元素嵌套在<td> 元素中,由<h:panelGrid> 呈现。因此,将<h:panelGrid> 的<td> 的vertical-align 设置为top。
假设<h:panelGrid> 有一个id 在HTML 中以<table id="panelGridId"> 结尾,请使用以下CSS:
#panelGridId>tbody>tr>td {
vertical-align: top;
}
表格
如果网格是表单的一部分,那么 CSS 将需要包含表单的 ID。例如:
<form id="amazingForm">
<h:panelGrid id="amazingGrid">
...
</h:panelGrid>
</form>
CSS 将类似于:
#amazingForm\:amazingGrid > tbody > tr > td {
vertical-align: top;
}
示例
这是一个示例 HTML 文档,显示了在使用 CSS 配置的表格中的垂直对齐:
<!-- language: html -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 3547485</title>
<style>#myid>tbody>tr>td { vertical-align: top; }</style>
</head>
<body>
<table id="myid">
<tbody>
<tr>
<td><table><tbody><tr><td>n1a</td></tr><tr><td>n1b</td></tr></tbody></table></td>
<td><table><tbody><tr><td>n2a</td></tr></tbody></table></td>
<td><table><tbody><tr><td>n3a</td></tr><tr><td>n3a</td></tr><tr><td>n3c</td></tr></tbody></table></td>
</tr>
</tbody>
</table>
</body>
</html>
全部对齐到顶部。没有规则,所有人都会居中。很难准确说出您需要应用什么规则,因为不清楚您生成的标记是什么样子的。
教程
另见: