MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
Fix: also override display:none on the actual main-menu-landmark nav element (previous fix only restored grid space, not content visibility) |
Switch to Vector legacy for a genuinely persistent sidebar (Vector 2022 hard-restricts pinning to logged-in users); add mobile stacking fix |
||
| Line 2: | Line 2: | ||
* Original CSS written for this project — no code or assets copied from | * Original CSS written for this project — no code or assets copied from | ||
* runescape.wiki or any other site. Visual direction (warm gold/amber | * runescape.wiki or any other site. Visual direction (warm gold/amber | ||
* accent, | * accent, classic always-visible left sidebar, bordered header, right- | ||
* infoboxes) is loosely inspired by that genre of game wiki, per | * floated infoboxes) is loosely inspired by that genre of game wiki, per | ||
* request, but implemented from scratch | * operator request, but implemented from scratch. | ||
* | * | ||
* skins/Vector/ | * SKIN NOTE (2026-08-07): the site uses Vector "legacy" (2011), not | ||
* | * Vector 2022, specifically because of this layout request. Vector 2022's | ||
* left sidebar can only ever be "pinned" (persistently visible) for | |||
* logged-in users — its own FeatureManager hard-codes a REQUIREMENT_ | |||
* LOGGED_IN check for the pinned-menu feature (skins/Vector/includes/ | |||
* FeatureManagement/FeatureManagerFactory.php), so no LocalSettings | |||
* config or CSS override can make it persistent for anonymous visitors; | |||
* the actual menu content isn't even server-rendered into the sidebar | |||
* DOM location for them, so there's nothing for CSS to reveal. This was | |||
* verified the hard way (screenshot testing 3 different approaches) | |||
* before switching skins — see docs/content-style-guide.md for the full | |||
* account. Vector legacy has no such restriction (no pin/unpin system at | |||
* all -- the sidebar is unconditionally always rendered), which is | |||
* exactly the classic layout that was asked for, at the cost of legacy's | |||
* weaker built-in mobile responsiveness -- patched below. | |||
* | * | ||
* Keep this file simple. If it grows much further, split it into | * Keep this file simple. If it grows much further, split it into | ||
| Line 13: | Line 26: | ||
*/ | */ | ||
/* --- Accent colour: shift | /* --- Accent colour: shift the default Wikipedia-blue "progressive" token | ||
family to the amber already used across EDFM's editorial templates (see | |||
Template:EDFM style/styles.css). Cascades to links, active-tab | |||
underlines, button focus rings, etc. site-wide, in both skins. */ | |||
:root { | :root { | ||
--color-progressive: #a15a00; | --color-progressive: #a15a00; | ||
| Line 29: | Line 42: | ||
--border-color-progressive--active: #5c3400; | --border-color-progressive--active: #5c3400; | ||
} | } | ||
a { color: #a15a00; } | |||
a:visited { color: #8a5a2e; } | |||
a:hover { color: #7a4500; } | |||
} | |||
} | |||
/* --- Sidebar section headings: bolder, wider letter-spacing, accent-tinted | /* --- Sidebar section headings: bolder, wider letter-spacing, accent-tinted | ||
-- a clean "reference manual nav" feel instead of Vector's plain grey. */ | -- a clean "reference manual nav" feel instead of Vector's plain grey. */ | ||
.vector-menu-heading { | .vector-menu-heading { | ||
color: | color: #a15a00; | ||
font-weight: 700; | font-weight: 700; | ||
letter-spacing: 0.02em; | letter-spacing: 0.02em; | ||
| Line 67: | Line 56: | ||
} | } | ||
/* --- | /* --- Header: a permanent accent band under the header/tabs area, closer to | ||
a "branded masthead" feel than a plain white header. Kept restrained -- | |||
no background image, no gradient, just a bottom border. */ | |||
#p-personal, | |||
.vector-header-container { | |||
border-bottom: 3px solid #a15a00; | |||
} | |||
#mw-head-base { | |||
unconditionally at | border-bottom: 3px solid #a15a00; | ||
} | |||
/* --- Mobile: Vector legacy has no built-in responsive breakpoint (unlike | |||
-- | Vector 2022) -- its sidebar is absolutely positioned at a fixed width | ||
unconditionally, which crams everything at narrow widths. Below 800px, | |||
drop the sidebar back into normal document flow (full-width, stacked | |||
@media ( | above the content) instead of leaving it cramped and tiny. Not a fancy | ||
collapsible hamburger menu -- just genuinely readable/tappable, which is | |||
the actual requirement. */ | |||
@media ( max-width: 800px ) { | |||
#mw-panel { | |||
position: static; | |||
width: auto; | |||
padding: 0.5em 1em; | |||
} | |||
.mw-body, | |||
#mw-head-base, | |||
#left-navigation, | |||
#mw-data-after-content, | |||
.mw-footer { | |||
margin-left: 0; | |||
} | } | ||
#p-personal { | |||
position: static; | |||
text-align: right; | |||
padding: 0.25em 1em; | |||
} | } | ||
#p-personal ul { | |||
padding-left: 0; | |||
# | |||
} | } | ||
} | } | ||
| Line 129: | Line 106: | ||
width: 300px; | width: 300px; | ||
margin: 0 0 1.2em 1.2em; | margin: 0 0 1.2em 1.2em; | ||
border: 1px solid | border: 1px solid #a15a00; | ||
background: | background: #f8f4ee; | ||
font-size: 0.9em; | font-size: 0.9em; | ||
} | } | ||
.edfm-infobox-title { | .edfm-infobox-title { | ||
background: | background: #a15a00; | ||
color: #fff; | color: #fff; | ||
font-weight: 700; | font-weight: 700; | ||
| Line 143: | Line 120: | ||
text-align: center; | text-align: center; | ||
padding: 0.6em; | padding: 0.6em; | ||
border-bottom: 1px solid | border-bottom: 1px solid #a2a9b1; | ||
} | } | ||
.edfm-infobox-row { | .edfm-infobox-row { | ||
display: flex; | display: flex; | ||
border-bottom: 1px solid | border-bottom: 1px solid #eaecf0; | ||
padding: 0.35em 0.6em; | padding: 0.35em 0.6em; | ||
} | } | ||
Revision as of 02:36, 7 August 2026
/* EDFM site-wide styling.
* Original CSS written for this project — no code or assets copied from
* runescape.wiki or any other site. Visual direction (warm gold/amber
* accent, classic always-visible left sidebar, bordered header, right-
* floated infoboxes) is loosely inspired by that genre of game wiki, per
* operator request, but implemented from scratch.
*
* SKIN NOTE (2026-08-07): the site uses Vector "legacy" (2011), not
* Vector 2022, specifically because of this layout request. Vector 2022's
* left sidebar can only ever be "pinned" (persistently visible) for
* logged-in users — its own FeatureManager hard-codes a REQUIREMENT_
* LOGGED_IN check for the pinned-menu feature (skins/Vector/includes/
* FeatureManagement/FeatureManagerFactory.php), so no LocalSettings
* config or CSS override can make it persistent for anonymous visitors;
* the actual menu content isn't even server-rendered into the sidebar
* DOM location for them, so there's nothing for CSS to reveal. This was
* verified the hard way (screenshot testing 3 different approaches)
* before switching skins — see docs/content-style-guide.md for the full
* account. Vector legacy has no such restriction (no pin/unpin system at
* all -- the sidebar is unconditionally always rendered), which is
* exactly the classic layout that was asked for, at the cost of legacy's
* weaker built-in mobile responsiveness -- patched below.
*
* Keep this file simple. If it grows much further, split it into
* per-purpose TemplateStyles sheets instead of one large Common.css.
*/
/* --- Accent colour: shift the default Wikipedia-blue "progressive" token
family to the amber already used across EDFM's editorial templates (see
Template:EDFM style/styles.css). Cascades to links, active-tab
underlines, button focus rings, etc. site-wide, in both skins. */
:root {
--color-progressive: #a15a00;
--color-progressive--hover: #7a4500;
--color-progressive--active: #5c3400;
--color-progressive--focus: #a15a00;
--background-color-progressive: #a15a00;
--background-color-progressive--hover: #7a4500;
--background-color-progressive--active: #5c3400;
--border-color-progressive: #a15a00;
--border-color-progressive--hover: #7a4500;
--border-color-progressive--active: #5c3400;
}
a { color: #a15a00; }
a:visited { color: #8a5a2e; }
a:hover { color: #7a4500; }
/* --- Sidebar section headings: bolder, wider letter-spacing, accent-tinted
-- a clean "reference manual nav" feel instead of Vector's plain grey. */
.vector-menu-heading {
color: #a15a00;
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
font-size: 0.8em;
}
/* --- Header: a permanent accent band under the header/tabs area, closer to
a "branded masthead" feel than a plain white header. Kept restrained --
no background image, no gradient, just a bottom border. */
#p-personal,
.vector-header-container {
border-bottom: 3px solid #a15a00;
}
#mw-head-base {
border-bottom: 3px solid #a15a00;
}
/* --- Mobile: Vector legacy has no built-in responsive breakpoint (unlike
Vector 2022) -- its sidebar is absolutely positioned at a fixed width
unconditionally, which crams everything at narrow widths. Below 800px,
drop the sidebar back into normal document flow (full-width, stacked
above the content) instead of leaving it cramped and tiny. Not a fancy
collapsible hamburger menu -- just genuinely readable/tappable, which is
the actual requirement. */
@media ( max-width: 800px ) {
#mw-panel {
position: static;
width: auto;
padding: 0.5em 1em;
}
.mw-body,
#mw-head-base,
#left-navigation,
#mw-data-after-content,
.mw-footer {
margin-left: 0;
}
#p-personal {
position: static;
text-align: right;
padding: 0.25em 1em;
}
#p-personal ul {
padding-left: 0;
}
}
/* --- Generic infobox: a right-floated, bordered reference box, the kind of
structural element most game-reference wikis use for at-a-glance specs.
Deliberately plain -- no glow, no gradients, no game-specific chrome.
See Template:Infobox for usage. */
.edfm-infobox {
float: right;
clear: right;
width: 300px;
margin: 0 0 1.2em 1.2em;
border: 1px solid #a15a00;
background: #f8f4ee;
font-size: 0.9em;
}
.edfm-infobox-title {
background: #a15a00;
color: #fff;
font-weight: 700;
text-align: center;
padding: 0.4em 0.6em;
}
.edfm-infobox-image {
text-align: center;
padding: 0.6em;
border-bottom: 1px solid #a2a9b1;
}
.edfm-infobox-row {
display: flex;
border-bottom: 1px solid #eaecf0;
padding: 0.35em 0.6em;
}
.edfm-infobox-row:last-child {
border-bottom: none;
}
.edfm-infobox-label {
font-weight: 700;
width: 40%;
flex-shrink: 0;
}
.edfm-infobox-value {
width: 60%;
}
@media ( max-width: 640px ) {
.edfm-infobox {
float: none;
width: auto;
margin: 1em 0;
}
}