Difference between revisions of "MediaWiki:Monobook.css"
From Verge3D Wiki
Jump to navigationJump to searchm |
|||
(36 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
.portlet h3 { | .portlet h3 { | ||
text-transform: none; | text-transform: none; | ||
} | |||
#globalWrapper { | |||
font-size: 16px; | |||
font-family: 'Golos', Arial, sans-serif; | |||
color: #333; | |||
} | |||
pre, code, .mw-code { | |||
font-size: 15px; | |||
} | |||
.mw-body, code, pre { | |||
color: #333; | |||
} | |||
@font-face { | |||
font-family: 'Oswald'; | |||
src: url('/docs/files/fonts/oswald.woff') format('woff'); | |||
font-weight: 400; | |||
} | |||
@font-face { | |||
font-family: 'Golos'; | |||
src: url('/docs/files/fonts/golos_ui_vf.woff') format('woff'); | |||
font-weight: 400; | |||
} | |||
h1, h2, h3, h4 { | |||
color: #0b7188; | |||
font-family: 'Oswald', sans-serif; | |||
font-weight: normal; | |||
} | |||
.toc h2 { | |||
font-weight: normal; | |||
} | |||
a, a:visited { | |||
text-decoration: none; | |||
color: #1e73be; | |||
} | |||
a.external, a.external:visited { | |||
color: #1e73be !important; | |||
} | |||
.toctogglelabel { | |||
color: #1e73be; | |||
} | |||
a:hover { | |||
text-decoration: none; | |||
color: #000000; | |||
} | |||
a.external:hover { | |||
color: #000000 !important; | |||
} | |||
@media screen and (min-width: 551px) { | |||
#p-logo a, #p-logo a:hover { | |||
background-position: 50% 50% !important; | |||
} | |||
#p-cactions li a { | |||
color: #1e73be; | |||
} | |||
} | |||
ul li { | |||
list-style-image: none; | |||
} | |||
ul li::marker { | |||
color: #333; | |||
} | |||
.mw-editsection-bracket, .mw-editsection-divider { | |||
color: #333 !important; | |||
} | |||
/** | |||
* 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; | |||
} | |||
} | } |
Latest revision as of 07:36, 5 June 2025
/* All CSS here will be loaded for users of the MonoBook skin */
.portlet h3 {
text-transform: none;
}
#globalWrapper {
font-size: 16px;
font-family: 'Golos', Arial, sans-serif;
color: #333;
}
pre, code, .mw-code {
font-size: 15px;
}
.mw-body, code, pre {
color: #333;
}
@font-face {
font-family: 'Oswald';
src: url('/docs/files/fonts/oswald.woff') format('woff');
font-weight: 400;
}
@font-face {
font-family: 'Golos';
src: url('/docs/files/fonts/golos_ui_vf.woff') format('woff');
font-weight: 400;
}
h1, h2, h3, h4 {
color: #0b7188;
font-family: 'Oswald', sans-serif;
font-weight: normal;
}
.toc h2 {
font-weight: normal;
}
a, a:visited {
text-decoration: none;
color: #1e73be;
}
a.external, a.external:visited {
color: #1e73be !important;
}
.toctogglelabel {
color: #1e73be;
}
a:hover {
text-decoration: none;
color: #000000;
}
a.external:hover {
color: #000000 !important;
}
@media screen and (min-width: 551px) {
#p-logo a, #p-logo a:hover {
background-position: 50% 50% !important;
}
#p-cactions li a {
color: #1e73be;
}
}
ul li {
list-style-image: none;
}
ul li::marker {
color: #333;
}
.mw-editsection-bracket, .mw-editsection-divider {
color: #333 !important;
}
/**
* 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;
}
}