Table with fluid height and width fixed header, footer and first column using position:sticky
This example uses position:sticky on the th elements in the thead, tfoot and left column to achieve the fixed effect. Browsers that don't support position:sticky will just get a normal table so no harm done. Resize browser smaller to see fixed first column.
BMW X6-2022-Specs: | SE-Basic | XSE | SXEX | Sr.# | |
---|---|---|---|---|---|
POWERTRAIN: | #1 | ||||
engine: ( text here!) | 1.6l 4V petrol turbo--write here! | here | |||
Size ( in litre=L): | 1.6L | 1.6L | 1.6L | n/a | |
Fuel-Type - : | petrol | petrol | gasoline | n/a | |
Max-Power (@5600rpm): | 177.60bhp | 166.60bhp | 171.60bhp | n/a | |
Max-torque (@4400rpm): | 144Nm | 144Nm | 155Nm | n/a | |
No.of Cylinders ( total ): | 4 | 6 | 8 | n/a | |
Cylinders ( total No.): | 4 | 6 | 8 | n/a | |
Valves per cylinder : | 4 | 6 | 8 | n/a | |
Valve configuration - : | SOHC | SOHC | SOHC | n/a | |
Displacement (cc): | 545 | 122 | 124 | n/a | |
fuel economy: ( km per hour ) | 1.6l 4V petrol turbo--write here! | here | |||
In City: ( km per hour ): | 177 | 166 | 171 | n/a | |
On highway: ( km per hour ): | 177 | 166 | 171 | n/a | |
Average: ( km per hour ): | 177 | 166 | 171 | n/a | |
Trim level: | Standard | Well-equipped | Fully-loaded | nth. |
Works in latest versions of modern browsers i.e. Edge, Chrome, Safari/ios and Firefox. Does not work in IE11 or older browsers but no harm done.
All of the other fixed table headers and footers that I've seen are either fixed width or fixed height or need a continuous update with JS and are very janky. This one is very smooth. You would of course need to linearise the data for smaller screens/mobile but that is a question for another day :). See this example for a demo of how to linearise for mobile.
See JS Version
COMMENTS