HTMLのテーブルを横向きに表示する方法
HTMLテーブルを横向きに表示する方法について説明します。
ここでは、HTMLとCSSのファイルを分けて提供し、クラス名やID名には「test-」をプレフィックスとして使用します。
HTMLとCSSのファイル分け
HTMLファイル(例: table-horizontal.html)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>横向きテーブル表示</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="test-container"> <table class="test-table"> <thead> <tr> <th class="test-header">ヘッダー1</th> <th class="test-header">ヘッダー2</th> <th class="test-header">ヘッダー3</th> </tr> </thead> <tbody> <tr> <td class="test-cell">データ1</td> <td class="test-cell">データ2</td> <td class="test-cell">データ3</td> </tr> <tr> <td class="test-cell">データ4</td> <td class="test-cell">データ5</td> <td class="test-cell">データ6</td> </tr> </tbody> </table> </div> </body> </html>
CSSファイル(例: styles.css)
.test-container { overflow-x: auto; width: 100%; } .test-table { width: 100%; border-collapse: collapse; table-layout: fixed; } .test-header, .test-cell { border: 1px solid #ddd; padding: 8px; text-align: left; } .test-header { background-color: #f4f4f4; font-weight: bold; } .test-cell { background-color: #fff; }
横向きに表示するための説明
テーブルを横向きに表示する場合、通常はテーブルの幅が画面幅を超えることが多いため、CSSのoverflow-xプロパティを使用して水平スクロールを実装します。
上記の例では、test-containerクラスがこの役割を担っています。
overflow-x: autoを設定することで、テーブルが親要素の幅を超えた場合にスクロールバーが表示されます。
さらに、テーブルの幅を100%に設定することで、親要素(この場合はtest-container)に対して100%の幅を持ちます。
これにより、テーブルの幅が親要素の幅に合わせて調整され、横方向にスクロール可能になります。
test-tableクラスに設定されたtable-layout: fixedプロパティは、テーブルの列幅を固定するために使用します。
これにより、テーブルが広がることなく、列の幅が一定に保たれます。
固定レイアウトを使用することで、テーブルの横方向のスクロールがスムーズになります。
また、テーブルのデザインにはborder-collapse: collapseを使って、セルの境界線を重ねて表示し、より一体感のある見た目にしています。
test-headerとtest-cellクラスにはそれぞれ異なるスタイルが設定されており、test-headerには背景色と太字が適用されています。
この方法を使うことで、テーブルが画面幅を超える場合でも、ユーザーは横スクロールを使ってテーブルの内容を確認することができ、データを見やすく表示することができます。