


How Can I Create a Table with a Fixed Header and Fixed First Column Using Only CSS?
Table with Fixed Header and Fixed Column Using Pure CSS
Creating a table with a fixed header and fixed first column without JavaScript presents challenges on mobile browsers. This article explores a pure CSS-based solution that achieves this functionality effectively.
Solution Using CSS Sticky Positioning:
Modern web browsers support the position: sticky property, which allows elements to stick to specific edges of their containing block, either horizontally (left/right) or vertically (top/bottom). By leveraging this property, we can achieve a fixed table header and fixed first column.
Steps for Implementation:
- Create a Container: Place your table inside a container element that will handle the scrolling.
- Enable Scrolling on Container: Specify overflow: scroll on the container to enable horizontal/vertical scrolling.
- Stick Header and First Column Cells: Use sticky positioning for the table headers (thead th) to stick to the top and for the first column cells (tbody th) to stick to the left.
- Fix Header on Left Column: To ensure the header cell in the first column remains fixed, set left: 0 and z-index: 2 on thead th:first-child. Z-index is used to ensure the header cell stays on top of the emulated border in the tbody th style.
- Emulate Border for First Column: Browsers tend to drop borders on sticky elements. To address this, we emulate the border-right using a box-shadow on tbody th.
CSS Code:
/* Enable scrolling on container */ div.container { max-width: 400px; max-height: 150px; overflow: scroll; } /* Stick header cells to top */ thead th { position: sticky; top: 0; } /* Stick first column cells to left */ tbody th { position: sticky; left: 0; } /* Stick first column header cell on the left */ thead th:first-child { left: 0; z-index: 2; } /* Emulate border for first column */ tbody th { border-right: 1px solid #CCC; box-shadow: 1px 0 0 0 #ccc; }
Conclusion:
By combining a scrolling container and sticky positioning, we can create a fixed table header and fixed first column without relying on JavaScript. This solution is widely supported by modern browsers and provides a smooth scrolling experience on both desktop and mobile devices.
The above is the detailed content of How Can I Create a Table with a Fixed Header and Fixed First Column Using Only CSS?. For more information, please follow other related articles on the PHP Chinese website!

Article discusses CSS text formatting, detailing properties for font styles, sizes, colors, alignment, and spacing. Main focus is on how to use these properties effectively.[159 characters]

The article discusses the differences between CSS borders and outlines, focusing on their properties, usage, and impact on web layout. Borders affect dimensions and are used for design, while outlines do not alter layout and are used for accessibilit

The fact that anchor positioning eschews HTML source order is so CSS-y because it's another separation of concerns between content and presentation.

Article discusses CSS margin property, specifically "margin: 40px 100px 120px 80px", its application, and effects on webpage layout.

The article discusses CSS border properties, focusing on customization, best practices, and responsiveness. Main argument: border-radius is most effective for responsive designs.

The article discusses CSS background properties, their uses in enhancing website design, and common mistakes to avoid. Key focus is on responsive design using background-size.

Article discusses CSS HSL colors, their use in web design, and advantages over RGB. Main focus is on enhancing design and accessibility through intuitive color manipulation.

The article discusses the use of comments in CSS, detailing single-line and multi-line comment syntaxes. It argues that comments enhance code readability, maintainability, and collaboration, but may impact website performance if not managed properly.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1
Powerful PHP integrated development environment
