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; }