From 5f1f9aa7bb1bca9f9139a69a0ae9d5aedbaccd23 Mon Sep 17 00:00:00 2001 From: bt Date: Fri, 23 Feb 2024 09:53:49 -0500 Subject: --- posts/Please_Make_Your_Table_Headings_Sticky.mdwn | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 posts/Please_Make_Your_Table_Headings_Sticky.mdwn diff --git a/posts/Please_Make_Your_Table_Headings_Sticky.mdwn b/posts/Please_Make_Your_Table_Headings_Sticky.mdwn new file mode 100644 index 0000000..a9abd38 --- /dev/null +++ b/posts/Please_Make_Your_Table_Headings_Sticky.mdwn @@ -0,0 +1,22 @@ +I often stumble upon large data sets or table layouts across the web. When these tables contain hundreds of rows of content, things become problematic once you start to scroll... + +![Video showcasing a standard table header](https://btxx.org/posts/Please_Make_Your_Table_Headings_Sticky/not-fixed-header-tables.mp4) + +Look at that table header disappear! Now, if I scroll all the way down to item #300 (for example) will I remember what each column's data is associated with? If this is my first time looking at this table - probably not. Luckily we can fix this (no pun intended!) with a tiny amount of CSS. + +## Sticky Header + +Check it out: + +![Video showcasing a fixed table header](https://btxx.org/ikiwiki/git/fixed-header-tables.mp4) + +Pretty awesome, right? It might look like magic but it's actually very easy to implement. You only need to add 2 CSS properties on your `thead`: + + position: sticky; + top: 0; + +That's it! Best of all, `sticky` has [~96% global support](https://caniuse.com/?search=sticky) which means this isn't some "bleeding-edge" property and can safely support a ton of browsers. Not to mention the improved experience for your end-users! + +You can view a live demo of this table on the [CodePen example pen](https://codepen.io/bradleytaunt/pen/bGZyJBj). + +If you found this interesting, feel free to check out my other table-focused post: [Making Tables Responsive With Minimal CSS](https://btxx.org/posts/tables/) -- cgit v1.2.3-54-g00ecf