Table with Sticky Header and Scrollable Body

Here is how to create a Table with Sticky Header and Scrollable Body

Step 1: HTML Code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Table with Sticky Header and Scrollable Body</title>
    <meta name="description" content="Learn how to create an HTML table with a sticky header and a scrollable body using CSS. Includes example code and explanation.">
    <meta name="keywords" content="HTML table, sticky header, scrollable table, CSS table, fixed header">
   
</head>
<body>

<h2 style="text-align: center;">Table with Sticky Header</h2>

<div class="table-container">
    <div class="table-wrapper">
        <table class="scrollable-table">
            <thead>
                <tr>
                    <th>#</th>
                    <th>Name</th>
                    <th>Email</th>
                    <th>Country</th>
                </tr>
            </thead>
            <tbody>
                <tr><td>1</td><td>John Doe</td><td>[email protected]</td><td>USA</td></tr>
                <tr><td>2</td><td>Jane Smith</td><td>[email protected]</td><td>UK</td></tr>
                <tr><td>3</td><td>Michael Brown</td><td>[email protected]</td><td>Canada</td></tr>
                <tr><td>4</td><td>Emily White</td><td>[email protected]</td><td>Australia</td></tr>
                <tr><td>5</td><td>David Wilson</td><td>[email protected]</td><td>Germany</td></tr>
                <tr><td>6</td><td>Emma Johnson</td><td>[email protected]</td><td>France</td></tr>
                <tr><td>7</td><td>James Miller</td><td>[email protected]</td><td>Italy</td></tr>
                <tr><td>8</td><td>Sarah Lee</td><td>[email protected]</td><td>Spain</td></tr>
                <tr><td>9</td><td>Chris Green</td><td>[email protected]</td><td>India</td></tr>
                <tr><td>10</td><td>Olivia Harris</td><td>[email protected]</td><td>Brazil</td></tr>
            </tbody>
        </table>
    </div>
</div>

</body>
</html>

Step 2: CSS Code

body {
           font-family: Arial, sans-serif;
           margin: 50px;
           background-color: #f8f9fa;
       }
       .table-container {
           max-width: 600px;
           margin: auto;
           border: 1px solid #ccc;
           border-radius: 5px;
           overflow: hidden;
       }
       .scrollable-table {
           width: 100%;
           border-collapse: collapse;
       }
       .scrollable-table thead {
           background: #007bff;
           color: white;
           position: sticky;
           top: 0;
       }
       .scrollable-table th, .scrollable-table td {
           padding: 10px;
           border: 1px solid #ddd;
           text-align: left;
       }
       .table-wrapper {
           max-height: 300px;
           overflow-y: auto;
           display: block;
       }
       .scrollable-table tbody tr:nth-child(even) {
           background: #f2f2f2;
       }

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top