Home > Web Front-end > CSS Tutorial > How to Create a Scrollable Table with Fixed Headers Using Only CSS?

How to Create a Scrollable Table with Fixed Headers Using Only CSS?

Susan Sarandon
Release: 2024-12-16 10:20:13
Original
423 people have browsed it

How to Create a Scrollable Table with Fixed Headers Using Only CSS?

Scrollable Table with Fixed Headers Using CSS

CSS-Only Solution for Fixed Headers

Problem:

Create a scrollable table with fixed headers and footers using only CSS and valid table tags, without requiring JavaScript or jQuery. Ensure that column alignment remains consistent between header, footer, and content rows.

Solution:

Using position: sticky

  1. Wrap the table in a div: This will define the scroll area.

    div {
      display: inline-block;
      height: 150px;
      overflow: auto;
    }
    Copy after login
  2. Apply position: sticky to table headers:

    table th {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
    }
    Copy after login

Styling

Customize the table appearance as needed:

table {
  border-collapse: collapse;
}

th {
  background-color: #1976D2;
  color: #fff;
}

th,
td {
  padding: 1em .5em;
}

table tr {
  color: #212121;
}

table tr:nth-child(odd) {
  background-color: #BBDEFB;
}
Copy after login

Example:

<div>
  <table border="0">
    <thead>
      <tr>
        <th scope="col">head1</th>
        <th scope="col">head2</th>
        <th scope="col">head3</th>
        <th scope="col">head4</th>
      </tr>
    </thead>
    <tbody>
      <!-- Insert rows here -->
    </tbody>
  </table>
</div>
Copy after login

Note:

  • Check compatibility with position: sticky before using this solution using resources like CanIUse.
  • In some browsers, the header may not align perfectly with the content. Adjust the top value in the sticky property if necessary.
  • This solution allows for vertical scrolling only. Horizontal scrolling is not supported.

The above is the detailed content of How to Create a Scrollable Table with Fixed Headers Using Only CSS?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template