【CSS】テーブルのヘッダーを固定する方法

ウェブ開発において、大量のデータを表示するためのテーブルは頻繁に使用されます。しかし、テーブルが大きくなると、ユーザーがスクロールしてもヘッダーが見えなくなってしまう問題が発生します。この問題を解決するために、CSSを使用してテーブルのヘッダーを固定する方法を紹介します。

CSSでテーブルのヘッダーを固定する方法

テーブルのヘッダーを固定するためには、CSSのposition: stickyプロパティを使用します。これにより、ヘッダーがスクロールしても画面の上部に固定されるようになります。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>固定ヘッダーのテーブル</title>
<style>
    table {
        width: 100%;
        border-collapse: collapse;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 8px;
        text-align: left;
    }

    th {
        background-color: #f2f2f2;
    }

    /* ヘッダーを固定する */
    thead th {
        position: sticky;
        top: 0;
        z-index: 1;
        background-color: #fff; /* ヘッダーが他のコンテンツの上に重ならないようにするため */
    }
</style>
</head>
<body>

<table>
    <thead>
        <tr>
            <th>ヘッダー1</th>
            <th>ヘッダー2</th>
            <th>ヘッダー3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>データ1-1</td>
            <td>データ1-2</td>
            <td>データ1-3</td>
        </tr>
        <tr>
            <td>データ2-1</td>
            <td>データ2-2</td>
            <td>データ2-3</td>
        </tr>
        <!-- 他の行も同様に続く -->
    </tbody>
</table>

</body>
</html>

このコードを使うことで、テーブルのヘッダーがスクロールしても画面上部に固定されるようになります。

まとめ

テーブルのヘッダーを固定することで、ユーザーが大量のデータを扱う際にも、常にデータの見出しを参照できるようになります。CSSのposition: stickyを使うことで、この機能を簡単に実装できます。ぜひこの方法を活用して、ユーザー体験を向上させてみてください。