MediaWiki:Common.css: Difference between revisions
MediaWiki interface page
More actions
m Cleaning up formatting issues on mobile browsers |
Attempt at true mobile-framing fix |
||
| Line 1: | Line 1: | ||
/* ================================ | /* ============================================== | ||
Sun Keeperverse — | Sun Keeperverse — Encarta-style, MOBILE-FIRST | ||
============================================== */ | |||
================================ */ | |||
/* ------- | /* 0. Stop mobile browsers from auto-zooming text */ | ||
html { | |||
-webkit-text-size-adjust: 100%; | |||
text-size-adjust: 100%; | |||
} | |||
/* 1. Root palette + card colors */ | |||
:root { | :root { | ||
color-scheme: light !important; | color-scheme: light !important; | ||
| Line 15: | Line 20: | ||
} | } | ||
/* | /* 2. Canvas & main layout */ | ||
html, | html, | ||
| Line 25: | Line 30: | ||
} | } | ||
/* Main containers */ | /* Main containers: no boxed white panel, just bright canvas */ | ||
.vector-page, | .vector-page, | ||
.mw-page-container, | .mw-page-container, | ||
.mw-body, | .mw-body, | ||
.mw-content-container { | .mw-content-container { | ||
background: transparent | background: transparent; | ||
border: none; | |||
box-shadow: none; | |||
border-radius: 0; | |||
} | |||
/* | /* Desktop-ish width, center the content */ | ||
.mw-body-content, | |||
.vector-body { | |||
box-sizing: border-box; | |||
max-width: 1100px; | |||
margin: 1.5rem auto; | |||
padding: 1.25rem 1.5rem; | |||
} | |||
/* | /* On phones/tablets, let content use the whole width */ | ||
@media (max-width: 1100px) { | @media (max-width: 1100px) { | ||
.mw-body-content, | .mw-body-content, | ||
.vector-body | .vector-body { | ||
.mw-content- | box-sizing: border-box; | ||
.mw- | max-width: 100% !important; | ||
margin: 0.75rem auto !important; | |||
padding: 0.75rem 1rem !important; | |||
} | |||
.mw-content-container, | |||
.mw-page-container, | |||
.vector-page { | |||
padding: 0 !important; | |||
} | } | ||
} | } | ||
/* 3. Typography */ | |||
/* Base text: Verdana */ | |||
body, | |||
.mw-body-content, | |||
.vector-body, | |||
.mw-content-ltr, | |||
.mw-parser-output { | |||
font-family: Verdana, Geneva, sans-serif !important; | |||
font-size: 15px !important; | |||
line-height: 1.55; | |||
color: var(--color-base); | |||
} | |||
/* Slightly smaller on small phones */ | |||
@media (max-width: 720px) { | @media (max-width: 720px) { | ||
body, | body, | ||
| Line 59: | Line 93: | ||
} | } | ||
/* | /* Headings */ | ||
.mw-page-title-main, | |||
#firstHeading, | |||
.mw-body h1, | |||
.mw-body h2, | |||
.mw-body h3, | |||
.mw-body h4, | |||
.mw-body h1 .mw-headline, | |||
.mw-body h2 .mw-headline, | |||
.mw-body h3 .mw-headline, | |||
.mw-body h4 .mw-headline { | |||
font-family: Verdana, Geneva, sans-serif !important; | |||
font-weight: 400 !important; | |||
letter-spacing: 0.1px; | |||
line-height: 1.25; | |||
text-rendering: optimizeLegibility; | |||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
color: var(--color-base); | |||
} | |||
/* Heading underline rules */ | |||
.mw-body h1, | |||
.mw-body h2 { | |||
border-bottom: 2px solid #d6c796; | |||
padding-bottom: 0.45rem; | |||
margin-bottom: 0.6rem; | |||
margin-top: 1.2em; | |||
} | |||
/* Slightly tighter on small screens */ | |||
@media (max-width: 600px) { | |||
.mw-body h1, | |||
.mw-body h2 { | |||
margin-top: 0.9em; | |||
margin-bottom: 0.4em; | |||
} | |||
#firstHeading, | |||
.mw-page-title-main { | |||
font-size: 1.4em !important; | |||
} | |||
.mw-body h1 { | |||
font-size: 1.3em !important; | |||
} | |||
.mw-body h2 { | |||
font-size: 1.15em !important; | |||
} | |||
} | |||
/* Paragraphs & lists */ | |||
.mw-body-content { | |||
padding: 0.85rem 1.1rem; | |||
} | |||
.mw-body-content p { | |||
margin: 0.9em 0; | |||
} | |||
.mw-body-content ul, | |||
.mw-body-content ol { | |||
margin: 0.55em 0 0.85em 1.6em; | |||
} | |||
/* Slightly less indent on phones */ | |||
@media (max-width: 480px) { | |||
.mw-body-content ul, | |||
.mw-body-content ol { | |||
margin-left: 1.2em; | |||
} | |||
} | |||
/* Fix “mystery dot” issue from any gadgets/templates */ | |||
.mw-body-content li::before { | |||
content: none !important; | |||
} | |||
/* 4. Links */ | |||
a, | |||
a:visited { | |||
color: var(--color-link, #36c) !important; | |||
} | |||
a:hover { | |||
color: #547c4b !important; | |||
text-decoration: underline; | |||
} | |||
a.new, | |||
a.new:visited { | |||
color: var(--color-link-new, #d33) !important; | |||
} | |||
a.new:hover { | |||
color: #b00000 !important; | |||
text-decoration: underline; | |||
} | |||
/* 5. Cards: TOC, tables, infobox, navbox, worldbox */ | |||
#toc, | |||
.toc, | |||
.wikitable, | |||
.infobox, | |||
.navbox, | |||
.metadata, | |||
.worldbox, | |||
.worldnav { | |||
background: var(--card-bg); | |||
border: 1px solid var(--card-border); | |||
border-radius: 0; | |||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); | |||
} | |||
/* TOC block */ | |||
#toc, | |||
.toc { | |||
padding: 0.5em 0.75em; | |||
} | |||
#toc .toctitle { | |||
color: #5b4a22; | |||
} | |||
#toc ul { | |||
margin-left: 1.2em; | |||
} | |||
/* Make TOC a full-width block on smaller screens */ | |||
@media (max-width: 1100px) { | @media (max-width: 1100px) { | ||
#toc, | |||
. | .toc { | ||
float: none !important; | |||
clear: both !important; | |||
width: 100% !important; | |||
max-width: 100% !important; | |||
margin: 0.5rem 0 1rem 0 !important; | |||
box-sizing: border-box; | box-sizing: border-box; | ||
} | } | ||
} | |||
/* Tables */ | |||
.wikitable th, | |||
.wikitable td { | |||
padding: 0.5em 0.75em; | |||
} | |||
.wikitable > tr > th, | |||
.wikitable > * > tr > th { | |||
background: #e6d7a8; | |||
border: 1px solid var(--card-border); | |||
color: var(--color-base); | |||
} | |||
.wikitable > tr > td, | |||
.wikitable > * > tr > td { | |||
border: 1px solid #ddc996; | |||
} | |||
/* Allow wide tables to scroll horizontally on small screens */ | |||
.mw- | @media (max-width: 900px) { | ||
.mw-body-content .wikitable { | |||
display: block; | |||
width: 100%; | |||
overflow-x: auto; | |||
-webkit-overflow-scrolling: touch; | |||
} | } | ||
} | } | ||
/* | /* Infobox / navbox / worldnav: desktop */ | ||
.infobox, | |||
.navbox, | |||
.metadata, | |||
.worldnav, | |||
.worldbox { | |||
float: right; | |||
clear: right; | |||
width: 340px; | |||
max-width: 42%; | |||
margin: 0 0 12px 18px; | |||
padding: 6px; | |||
box-sizing: border-box; | |||
} | } | ||
/* | /* Infobox / navbox / worldnav: mobile (stacked) */ | ||
@media (max-width: | @media (max-width: 900px) { | ||
.infobox, | .infobox, | ||
.navbox, | .navbox, | ||
.metadata, | .metadata, | ||
.worldnav { | .worldnav, | ||
.worldbox { | |||
float: none !important; | float: none !important; | ||
clear: both !important; | clear: both !important; | ||
| Line 101: | Line 297: | ||
} | } | ||
/* | /* Extra-tight on very small phones */ | ||
@media (max-width: | @media (max-width: 480px) { | ||
.infobox, | |||
. | .navbox, | ||
.metadata, | |||
.worldnav, | |||
.worldbox { | |||
margin-left: 0; | |||
margin-right: 0; | |||
padding: 0.6rem 0.5rem; | |||
} | } | ||
} | |||
/* 6. Vector 2022 sidebar TOC (blue column) – hide on mobile */ | |||
. | @media (max-width: 1100px) { | ||
.vector-toc, | |||
.vector-toc-pinned-container, | |||
.vector-toc-pinnable-header { | |||
display: none !important; | |||
} | } | ||
} | |||
/* 7. Titlebar & chrome */ | |||
.mw- | .vector-page-titlebar { | ||
font-size: | padding: 6px 0; | ||
} | |||
/* Sidebar container stays transparent */ | |||
.vector-feature-zebra-design-enabled .vector-sidebar-container { | |||
background: transparent; | |||
} | |||
/* Footer */ | |||
.mw-footer { | |||
background: transparent; | |||
border-top: 1px solid #d6c796; | |||
color: #6e5d33; | |||
padding-top: 0.75rem; | |||
} | |||
@media (max-width: 480px) { | |||
.mw-footer { | |||
font-size: 0.85em; | |||
} | } | ||
} | } | ||
Revision as of 15:10, 15 November 2025
/* ==============================================
Sun Keeperverse — Encarta-style, MOBILE-FIRST
============================================== */
/* 0. Stop mobile browsers from auto-zooming text */
html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}
/* 1. Root palette + card colors */
:root {
color-scheme: light !important;
--color-base: #2b2414 !important;
--color-link: #36c !important;
--color-link-new: #d33 !important;
--card-bg: #efe3c1;
--card-border: #c9b172;
}
/* 2. Canvas & main layout */
html,
body {
background: #ffffff !important;
color: var(--color-base) !important;
margin: 0;
padding: 0;
}
/* Main containers: no boxed white panel, just bright canvas */
.vector-page,
.mw-page-container,
.mw-body,
.mw-content-container {
background: transparent;
border: none;
box-shadow: none;
border-radius: 0;
}
/* Desktop-ish width, center the content */
.mw-body-content,
.vector-body {
box-sizing: border-box;
max-width: 1100px;
margin: 1.5rem auto;
padding: 1.25rem 1.5rem;
}
/* On phones/tablets, let content use the whole width */
@media (max-width: 1100px) {
.mw-body-content,
.vector-body {
box-sizing: border-box;
max-width: 100% !important;
margin: 0.75rem auto !important;
padding: 0.75rem 1rem !important;
}
.mw-content-container,
.mw-page-container,
.vector-page {
padding: 0 !important;
}
}
/* 3. Typography */
/* Base text: Verdana */
body,
.mw-body-content,
.vector-body,
.mw-content-ltr,
.mw-parser-output {
font-family: Verdana, Geneva, sans-serif !important;
font-size: 15px !important;
line-height: 1.55;
color: var(--color-base);
}
/* Slightly smaller on small phones */
@media (max-width: 720px) {
body,
.mw-body-content,
.vector-body,
.mw-content-ltr,
.mw-parser-output {
font-size: 14px !important;
line-height: 1.45 !important;
}
}
/* Headings */
.mw-page-title-main,
#firstHeading,
.mw-body h1,
.mw-body h2,
.mw-body h3,
.mw-body h4,
.mw-body h1 .mw-headline,
.mw-body h2 .mw-headline,
.mw-body h3 .mw-headline,
.mw-body h4 .mw-headline {
font-family: Verdana, Geneva, sans-serif !important;
font-weight: 400 !important;
letter-spacing: 0.1px;
line-height: 1.25;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: var(--color-base);
}
/* Heading underline rules */
.mw-body h1,
.mw-body h2 {
border-bottom: 2px solid #d6c796;
padding-bottom: 0.45rem;
margin-bottom: 0.6rem;
margin-top: 1.2em;
}
/* Slightly tighter on small screens */
@media (max-width: 600px) {
.mw-body h1,
.mw-body h2 {
margin-top: 0.9em;
margin-bottom: 0.4em;
}
#firstHeading,
.mw-page-title-main {
font-size: 1.4em !important;
}
.mw-body h1 {
font-size: 1.3em !important;
}
.mw-body h2 {
font-size: 1.15em !important;
}
}
/* Paragraphs & lists */
.mw-body-content {
padding: 0.85rem 1.1rem;
}
.mw-body-content p {
margin: 0.9em 0;
}
.mw-body-content ul,
.mw-body-content ol {
margin: 0.55em 0 0.85em 1.6em;
}
/* Slightly less indent on phones */
@media (max-width: 480px) {
.mw-body-content ul,
.mw-body-content ol {
margin-left: 1.2em;
}
}
/* Fix “mystery dot” issue from any gadgets/templates */
.mw-body-content li::before {
content: none !important;
}
/* 4. Links */
a,
a:visited {
color: var(--color-link, #36c) !important;
}
a:hover {
color: #547c4b !important;
text-decoration: underline;
}
a.new,
a.new:visited {
color: var(--color-link-new, #d33) !important;
}
a.new:hover {
color: #b00000 !important;
text-decoration: underline;
}
/* 5. Cards: TOC, tables, infobox, navbox, worldbox */
#toc,
.toc,
.wikitable,
.infobox,
.navbox,
.metadata,
.worldbox,
.worldnav {
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: 0;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
/* TOC block */
#toc,
.toc {
padding: 0.5em 0.75em;
}
#toc .toctitle {
color: #5b4a22;
}
#toc ul {
margin-left: 1.2em;
}
/* Make TOC a full-width block on smaller screens */
@media (max-width: 1100px) {
#toc,
.toc {
float: none !important;
clear: both !important;
width: 100% !important;
max-width: 100% !important;
margin: 0.5rem 0 1rem 0 !important;
box-sizing: border-box;
}
}
/* Tables */
.wikitable th,
.wikitable td {
padding: 0.5em 0.75em;
}
.wikitable > tr > th,
.wikitable > * > tr > th {
background: #e6d7a8;
border: 1px solid var(--card-border);
color: var(--color-base);
}
.wikitable > tr > td,
.wikitable > * > tr > td {
border: 1px solid #ddc996;
}
/* Allow wide tables to scroll horizontally on small screens */
@media (max-width: 900px) {
.mw-body-content .wikitable {
display: block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
/* Infobox / navbox / worldnav: desktop */
.infobox,
.navbox,
.metadata,
.worldnav,
.worldbox {
float: right;
clear: right;
width: 340px;
max-width: 42%;
margin: 0 0 12px 18px;
padding: 6px;
box-sizing: border-box;
}
/* Infobox / navbox / worldnav: mobile (stacked) */
@media (max-width: 900px) {
.infobox,
.navbox,
.metadata,
.worldnav,
.worldbox {
float: none !important;
clear: both !important;
width: auto !important;
max-width: 100% !important;
margin: 0.5rem 0 1rem 0 !important;
padding: 0.6rem 0.75rem !important;
box-sizing: border-box;
}
}
/* Extra-tight on very small phones */
@media (max-width: 480px) {
.infobox,
.navbox,
.metadata,
.worldnav,
.worldbox {
margin-left: 0;
margin-right: 0;
padding: 0.6rem 0.5rem;
}
}
/* 6. Vector 2022 sidebar TOC (blue column) – hide on mobile */
@media (max-width: 1100px) {
.vector-toc,
.vector-toc-pinned-container,
.vector-toc-pinnable-header {
display: none !important;
}
}
/* 7. Titlebar & chrome */
.vector-page-titlebar {
padding: 6px 0;
}
/* Sidebar container stays transparent */
.vector-feature-zebra-design-enabled .vector-sidebar-container {
background: transparent;
}
/* Footer */
.mw-footer {
background: transparent;
border-top: 1px solid #d6c796;
color: #6e5d33;
padding-top: 0.75rem;
}
@media (max-width: 480px) {
.mw-footer {
font-size: 0.85em;
}
}