JSFはHTMLとしてレンダリングされ、CSSでスタイルを設定できます。次のように要素を検査します。
- ブラウザでJSFページを表示します。
- ページを右クリックします。
- [ソースの表示]を選択します。
はHTML要素<h:panelGrid>
をレンダリングします。HTML要素としても<table>
レンダリングされます。データ要素は要素内にネストされ、によってレンダリングされます。したがって、ののをに設定します。<h:dataTable>
<table>
<td>
<h:panelGrid>
vertical-align
<td>
<h:panelGrid>
top
がHTMLのように終わると仮定して<h:panelGrid>
、次のCSSを使用します。id
<table id="panelGridId">
#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;
}
例
これは、CSSを使用して構成されたテーブル内で機能する垂直方向の配置を示すHTMLドキュメントの例です。
<!-- 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>
すべてが上に揃えられます。ルールがないと、すべてが中央に配置されます。生成されたマークアップがどのように見えるかが不明確であるため、どのルールを正確に適用する必要があるかを正確に判断するのは困難です。
チュートリアル
参照: