様々なスタイルで、見栄えの良い表を簡単に作成できます。
このコンポーネントを適用するには、<table>要素に.uk-tableクラスを追加します。
<table class="uk-table">
<caption></caption>
<thead>
<tr>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
<td></td>
</tr>
</tfoot>
</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のフッター | 表のフッター | 表のフッター |
<table class="uk-table">
<caption>Table Caption</caption>
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Table Footer</td>
<td>Table Footer</td>
<td>Table Footer</td>
</tr>
</tfoot>
</table>表の行間に区切り線を表示するには、.uk-table-dividerクラスを追加します。
<table class="uk-table uk-table-divider">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-divider">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>.uk-table-stripedクラスを追加して、表にゼブラストライプを追加します。
<table class="uk-table uk-table-striped">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-striped">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>.uk-table-hoverクラスを追加して、表の行にホバー状態を表示します。
<table class="uk-table uk-table-hover">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-hover uk-table-divider">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>表を小さくまたは大きくするには、.uk-table-smallまたは.uk-table-largeクラスを表に追加します。
<table class="uk-table uk-table-small">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-small uk-table-divider">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>表の最初の列と最後の列の外側の余白を削除して、表とぴったり合わせるには、.uk-table-justifyクラスを追加します。
<table class="uk-table uk-table-justify">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. | |
| 表のデータ | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
<table class="uk-table uk-table-justify uk-table-divider">
<thead>
<tr>
<th class="uk-width-small">Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</td>
<td><button class="uk-button uk-button-default" type="button">Button</button></td>
</tr>
<tr>
<td>Table Data</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</td>
<td><button class="uk-button uk-button-default" type="button">Button</button></td>
</tr>
</tbody>
</table>表の内容を垂直方向に中央揃えにするには、.uk-table-middleクラスを追加するだけです。より具体的な選択のために、<tr>または<td>要素にもクラスを適用できます。
<table class="uk-table uk-table-middle">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. | |
| 表のデータ | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
<table class="uk-table uk-table-middle uk-table-divider">
<thead>
<tr>
<th class="uk-width-small">Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</td>
<td><button class="uk-button uk-button-default" type="button">Button</button></td>
</tr>
<tr>
<td>Table Data</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</td>
<td><button class="uk-button uk-button-default" type="button">Button</button></td>
</tr>
</tbody>
</table>表がコンテナ要素よりも幅広いか、特定のビューポート幅で大きくなりすぎる場合は、<div>要素でラップし、ユーティリティコンポーネントから.uk-overflow-autoクラスを追加します。これにより、内部の要素がコンテナ自体よりも幅広くなった場合に、水平スクロールバーを提供するコンテナが作成されます。
<div class="uk-overflow-auto">
<table class="uk-table">…</table>
</div>| 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し | 表の見出し |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ | 表のデータ |
<div class="uk-overflow-auto">
<table class="uk-table uk-table-small uk-table-divider">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>
</div>小さな画面で表の列をスタックさせるには、.uk-table-responsiveクラスを追加します。
<table class="uk-table uk-table-responsive">…</table>| 表の見出し | 表の見出し | 表の見出し |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-responsive uk-table-divider">
<thead>
<tr>
<th>Table Heading</th>
<th>Table Heading</th>
<th>Table Heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>注記 ブラウザウィンドウのサイズを変更して、列がスタックされる様子を確認してください。
列幅またはコンテンツを変更するには、次のクラスのいずれかを使用できます。このクラスは列セルのいずれかに追加するだけで済みます。ヘッダーセルへの追加をお勧めします。
| クラス | 説明 |
|---|---|
.uk-table-shrink |
列幅をコンテンツに合わせて縮小するには、<th>または<td>要素にこのクラスを追加します。 |
.uk-table-expand |
残りのスペースを埋める列幅を拡張し、最小幅を適用するには、<th>または<td>要素にこのクラスを追加します。 |
.uk-width-* |
列幅を変更するには、幅コンポーネントからこれらのクラスのいずれかを<th>または<td>要素に追加します。 |
<th class="uk-table-shrink"></th>| 縮小 | 拡張 | 幅 小 |
|---|---|---|
| 表のデータ | 表のデータ | 表のデータ |
| 表のデータ | 表のデータ | 表のデータ |
<table class="uk-table uk-table-divider">
<thead>
<tr>
<th class="uk-table-shrink">Shrink</th>
<th class="uk-table-expand">Expand</th>
<th class="uk-width-small">Width Small</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
<tr>
<td>Table Data</td>
<td>Table Data</td>
<td>Table Data</td>
</tr>
</tbody>
</table>表のセルとその特定のコンテンツの表示を最適化するには、次のクラスのいずれかを追加できます。
| クラス | 説明 |
|---|---|
.uk-table-link |
セル全体をリンクするには、<th>または<td>要素にこのクラスを追加し、<a>要素を挿入します。デフォルトのリンクスタイルをリセットするには、リンクコンポーネントから.uk-link-resetクラスを追加します。 |
.uk-preserve-width |
UIkitでは画像がデフォルトでレスポンシブであるため、.uk-table-shrinkクラスを使用して表セル内で画像を使用すると、画像の幅が0に縮小されます。この動作を防ぐには、ベースコンポーネントから.uk-preserve-widthクラスを<img>要素に追加します。 |
.uk-text-truncate |
表セルに固定幅を適用する場合、テキストコンポーネントからこのクラスを<td>要素に追加してテキストを切り捨てることができます。 |
.uk-text-nowrap |
例えば.uk-table-shrinkクラスを使用する場合など、テキストの折り返しを防ぐには、テキストコンポーネントからこのクラスを追加します。 |
<!-- Table link -->
<td class="uk-table-link">
<a class="uk-link-reset" href=""></a>
</td>
<!-- Preserve width -->
<td>
<img class="uk-preserve-width" src="" width="" height="" alt="">
</td>
<!-- Text truncate -->
<td class="uk-text-truncate"></td>
<!-- Text nowrap -->
<td class="uk-text-nowrap"></td>| 保持 | 拡張 + リンク | 切り捨て | 縮小 + 折り返しなし | |
|---|---|---|---|---|
| Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor | ||
| Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor | ||
| Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor | ||
| Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | Lorem ipsum dolor |
<div class="uk-overflow-auto">
<table class="uk-table uk-table-hover uk-table-middle uk-table-divider">
<thead>
<tr>
<th class="uk-table-shrink"></th>
<th class="uk-table-shrink">Preserve</th>
<th class="uk-table-expand">Expand + Link</th>
<th class="uk-width-small">Truncate</th>
<th class="uk-table-shrink uk-text-nowrap">Shrink + Nowrap</th>
</tr>
</thead>
<tbody>
<tr>
<td><input class="uk-checkbox" type="checkbox" aria-label="Checkbox"></td>
<td><img class="uk-preserve-width uk-border-circle" src="images/avatar.jpg" width="40" height="40" alt=""></td>
<td class="uk-table-link">
<a class="uk-link-reset" href="">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</a>
</td>
<td class="uk-text-truncate">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</td>
<td class="uk-text-nowrap">Lorem ipsum dolor</td>
</tr>
<tr>
<td><input class="uk-checkbox" type="checkbox" aria-label="Checkbox"></td>
<td><img class="uk-preserve-width uk-border-circle" src="images/avatar.jpg" width="40" height="40" alt=""></td>
<td class="uk-table-link">
<a class="uk-link-reset" href="">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</a>
</td>
<td class="uk-text-truncate">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</td>
<td class="uk-text-nowrap">Lorem ipsum dolor</td>
</tr>
<tr>
<td><input class="uk-checkbox" type="checkbox" aria-label="Checkbox"></td>
<td><img class="uk-preserve-width uk-border-circle" src="images/avatar.jpg" width="40" height="40" alt=""></td>
<td class="uk-table-link">
<a class="uk-link-reset" href="">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</a>
</td>
<td class="uk-text-truncate">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</td>
<td class="uk-text-nowrap">Lorem ipsum dolor</td>
</tr>
<tr>
<td><input class="uk-checkbox" type="checkbox" aria-label="Checkbox"></td>
<td><img class="uk-preserve-width uk-border-circle" src="images/avatar.jpg" width="40" height="40" alt=""></td>
<td class="uk-table-link">
<a class="uk-link-reset" href="">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</a>
</td>
<td class="uk-text-truncate">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</td>
<td class="uk-text-nowrap">Lorem ipsum dolor</td>
</tr>
</tbody>
</table>
</div>