Editing
Template:Sticky header/styles.css
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
/* {{pp-template}} */ /** * Make first row or thead element top sticky. * * Table classes: * - sticky-header: sticky first row. * - sticky-header-multi: sticky thead; headers moved via sortable + JavaScript. * * Tested: * - Windows 10: (all skins) Chrome, Firefox, Edge. * - Android Galaxy S21 (Minerva): Chrome, Firefox. * - iPhone SE 2020 (Minerva): Chrome, Edge, Firefox, Opera, Safari. * - Wikipedia Android app. * - Print: Not styled. * - No JavaScript. * * Notes: * - Sortable moves to thead any header rows and (after sort) sorttop rows. * - Sticky gadget (.mw-sticky-header) moves to thead any wikitable header rows. * * Issues: * - Minerva not sticky. * - Monobook width <=550px not sticky. * Can't override: * body.skin--responsive .monobook-body {overflow: auto;} */ @media screen { /** * Make top sticky. */ .sticky-header > thead > tr:first-child, .sticky-header > caption + tbody > tr:first-child, .sticky-header > tbody:first-child > tr:first-child, .sticky-header-multi > thead { position: sticky; /* Was "static". */ top: 0; z-index: 10; } /** * Fix scrolling data shows through sticky's transparent background. */ /* Plain table headers. */ .sticky-header:not(.wikitable), .sticky-header-multi:not(.wikitable) { background-color: white; } /* Plain table headers. */ .sticky-header:not(.wikitable) > *, /* For thead, tbody. */ .sticky-header:not(.wikitable) > thead > tr:first-child, .sticky-header:not(.wikitable) > caption + tbody > tr:first-child, .sticky-header:not(.wikitable) > tbody:first-child > tr:first-child, .sticky-header-multi:not(.wikitable) > thead, /* Wikitable and plain table .sorttop rows after sort. */ .sticky-header-multi > thead { background-color: inherit; } /** * Fix missing borders due to sticky position and wikitable collapsed borders. * https://bugs.webkit.org/show_bug.cgi?id=128486 * * Skip rare plain table separated borders, which sometimes shows scrolling * data through sticky's 2px "border-spacing". * * Skip very rare Timeless plain table ".mw-datatable" collapsed boarders. */ .sticky-header.wikitable, .sticky-header-multi.wikitable { border-collapse: separate; /* Was "collapse". */ border-spacing: 0; border-width: 0 1px 1px 0; } .sticky-header.wikitable td, .sticky-header.wikitable th, .sticky-header-multi.wikitable td, .sticky-header-multi.wikitable th { border-width: 1px 0 0 1px; } body.skin-timeless .sticky-header.wikitable, body.skin-timeless .sticky-header-multi.wikitable { border-bottom-width: 0.2em; padding: 0; } /* Adjust {{static row numbers}} borders. */ .sticky-header.static-row-numbers.wikitable tr::before, .sticky-header-multi.static-row-numbers.wikitable tr::before { border-left-width: 1px; } .sticky-header.static-row-numbers.wikitable > thead > tr:first-child::before, .sticky-header.static-row-numbers.wikitable > caption + tbody > tr:first-child::before, .sticky-header.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before, .sticky-header-multi.static-row-numbers.wikitable > thead > tr:first-child::before, .sticky-header-multi.static-row-numbers.wikitable > caption + tbody > tr:first-child::before, .sticky-header-multi.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before, /* Sortbotton #1: all. When supported, consolidate #1-2 to tr:nth-child(1 of .sortbottom)::before */ .sticky-header.static-row-numbers.wikitable .sortbottom::before, .sticky-header-multi.static-row-numbers.wikitable .sortbottom::before { border-top-width: 1px; } /* Sortbottom #2: all minus 1st. */ .sticky-header.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before, .sticky-header-multi.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before { border-top-width: 0; } .sticky-header.static-row-numbers.wikitable > tbody > tr:not(.static-row-header)::before, .sticky-header-multi.static-row-numbers.wikitable > tbody > tr:not(.static-row-header)::before { border-bottom-width: 0 !important; border-right-width: 0 !important; } /** * Fix Timeless. Wasn't sticky when on very wide tables. * * :has() not supported, can't restrict to sticky tables. */ body.skin-timeless .content-table-scrollbar, body.skin-timeless .overflowed, body.skin-timeless .overflowed .content-table { overflow: visible; /* Reset. */ } body.skin-timeless .scroll-right.overflowed .content-table-right { box-shadow: none; /* Reset. */ border-left: none; /* Reset. */ } } /** * Adjust to other sticky elements. */ @media screen and (min-width: 1120px) { /* Vector (2022) width >=1120px: Below sticky header bar. */ body.vector-sticky-header-visible .sticky-header > thead > tr:first-child, body.vector-sticky-header-visible .sticky-header > caption + tbody > tr:first-child, body.vector-sticky-header-visible .sticky-header > tbody:first-child > tr:first-child, body.vector-sticky-header-visible .sticky-header-multi > thead { top: 3.125rem; } } @media screen and (min-width: 851px) { /* Timeless width >=851px: Below sticky header bar. */ body.skin-timeless .sticky-header > thead > tr:first-child, body.skin-timeless .sticky-header > caption + tbody > tr:first-child, body.skin-timeless .sticky-header > tbody:first-child > tr:first-child, body.skin-timeless .sticky-header-multi > thead { top: 3.51em; } } /** * Fix skins width <=639px (mobile) not sticky. Override to make sticky. * * Android issue: wide table horizontal scroll lost, wider page, * zoom out for sticky headers, unreadable when sticky. * * iPhone issue: none. * * Changes to Minerva prevent sticky. */ @media screen and (max-width: 639px) { body.skin-monobook .sticky-header, body.skin-monobook .sticky-header-multi, body.skin-vector-legacy .sticky-header, body.skin-vector-legacy .sticky-header-multi, body.skin-vector-2022 .sticky-header, body.skin-vector-2022 .sticky-header-multi { display: table; /* Was "block". */ } } /* * Fix dark mode. */ @media screen { html.skin-theme-clientpref-night body.skin-minerva .sticky-header-multi.wikitable { background-color: #101418; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os body.skin-minerva .sticky-header-multi.wikitable { background-color: #101418; } }
Summary:
By saving changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Pp-template
(
edit
)
Template:Static row numbers
(
edit
)
Module:Arguments
(
view source
) (protected)
Module:Effective protection expiry
(
edit
)
Module:Effective protection level
(
edit
)
Module:File link
(
edit
)
Module:Protection banner
(
edit
)
Module:Protection banner/config
(
edit
)
Module:Yesno
(
view source
) (protected)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Template
Discussion
English
Views
Read
Edit source
View history
More
Search
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Donate
Tools
What links here
Related changes
Upload file
Special pages
Page information