MediaWiki:Common.css
MediaWiki界面页面
更多操作
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
/* ----------------------------------------------------------
1. CSS 变量
---------------------------------------------------------- */
:root {
--g-bg: #eef1f6;
--g-card: #ffffff;
--g-blue: #2d7dd2;
--g-blue-deep: #1b5eb5;
--g-blue-pale: #e6f0fb;
--g-red: #ef4444;
--g-red-pale: #fef2f2;
--g-green: #10b981;
--g-purple: #8b5cf6;
--g-text: #1a1d24;
--g-text-2: #4b5563;
--g-text-3: #9ca3af;
--g-border: #e5e7eb;
--g-border-light: #f3f4f6;
--g-radius: 14px;
--g-radius-sm: 8px;
--g-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
--g-shadow-hover: 0 8px 25px rgba(45,125,210,0.12), 0 2px 6px rgba(0,0,0,0.04);
--g-font: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
--g-font-mono: "JetBrains Mono", "Fira Code", monospace;
--g-gap: 16px;
}
/* ----------------------------------------------------------
2. 全局
---------------------------------------------------------- */
body {
background: var(--g-bg);
color: var(--g-text);
font-family: var(--g-font);
font-size: 15px;
line-height: 1.78;
-webkit-font-smoothing: antialiased;
}
a { color: var(--g-blue); text-decoration: none; transition: color .15s; }
a:hover { color: var(--g-blue-deep); }
a.new { color: var(--g-red); }
/* ----------------------------------------------------------
3. 页面标题
---------------------------------------------------------- */
#firstHeading, .firstHeading, .page-header h1 {
font-weight: 800;
font-size: 1.85em;
color: var(--g-text);
letter-spacing: -0.01em;
line-height: 1.25;
margin-bottom: 6px;
border-bottom: none;
}
/* ----------------------------------------------------------
4. 核心布局 — CSS Grid 双栏
PC端:左内容(1fr) + 右Infobox(310px)
手机端:单栏,Infobox在顶部
---------------------------------------------------------- */
.mw-parser-output {
display: grid;
grid-template-columns: 1fr;
gap: var(--g-gap);
max-width: 1060px;
}
@media (min-width: 992px) {
.mw-parser-output {
grid-template-columns: 1fr 310px;
gap: 24px;
align-items: start;
}
.mw-parser-output > .infobox {
grid-column: 2;
grid-row: 1 / span 8;
position: sticky;
top: 20px;
align-self: start;
}
.mw-parser-output > *:not(.infobox) {
grid-column: 1;
}
}
/* ----------------------------------------------------------
5. 章节卡片化
---------------------------------------------------------- */
.mw-parser-output > .mw-heading2,
.mw-parser-output > h2 {
background: var(--g-card);
padding: 16px 22px 13px;
margin: 0;
border-radius: var(--g-radius) var(--g-radius) 0 0;
box-shadow: var(--g-shadow);
font-size: 1.3em;
font-weight: 700;
color: var(--g-text);
line-height: 1.35;
border-left: 4px solid var(--g-blue);
border-bottom: none;
}
.mw-parser-output > .mw-heading2 .mw-editsection,
.mw-parser-output > h2 .mw-editsection {
font-size: 0.6em; font-weight: 400; color: var(--g-text-3);
}
.mw-parser-output > .mw-heading3,
.mw-parser-output > h3 {
font-size: 1.05em;
font-weight: 600;
color: var(--g-blue);
padding-left: 12px;
border-left: 3px solid var(--g-blue);
margin: 1em 0 0.4em;
}
.mw-parser-output > p,
.mw-parser-output > ul,
.mw-parser-output > ol,
.mw-parser-output > dl,
.mw-parser-output > blockquote,
.mw-parser-output > pre,
.mw-parser-output > .wikitable,
.mw-parser-output > div:not(.infobox):not(.navbox):not(.mw-heading2):not(.mw-heading3):not(.relation-grid) {
background: var(--g-card);
padding: 12px 22px;
margin: -1px 0 0 0;
box-shadow: var(--g-shadow);
}
.mw-parser-output > p:last-child,
.mw-parser-output > ul:last-child,
.mw-parser-output > div:last-child:not(.infobox):not(.navbox),
.mw-parser-output > .wikitable:last-child {
border-radius: 0 0 var(--g-radius) var(--g-radius);
padding-bottom: 18px;
}
/* ----------------------------------------------------------
6. Infobox
---------------------------------------------------------- */
.infobox {
background: var(--g-card);
border: none;
border-radius: var(--g-radius);
box-shadow: var(--g-shadow);
overflow: hidden;
width: 100%;
font-size: 0.88em;
line-height: 1.6;
}
.infobox-title, .infobox caption, .infobox th[colspan] {
background: linear-gradient(135deg, #2d7dd2 0%, #6c5ce7 100%);
color: #fff;
font-size: 1.2em;
font-weight: 700;
text-align: center;
padding: 16px 18px;
letter-spacing: 0.03em;
}
.infobox-image img, .infobox .image-section img {
width: 100%; height: auto; display: block;
}
.infobox-group-header, .infobox tr.infobox-header th {
background: linear-gradient(135deg, #2d7dd2, #1b5eb5);
color: #fff;
font-weight: 600;
font-size: 0.92em;
text-align: center;
padding: 9px 14px;
}
.infobox th {
background: var(--g-blue-pale);
color: var(--g-blue);
font-weight: 600;
padding: 8px 12px;
text-align: right;
width: 36%;
border-bottom: 1px solid var(--g-border-light);
vertical-align: top;
}
.infobox td {
padding: 8px 12px;
border-bottom: 1px solid var(--g-border-light);
vertical-align: top;
}
.realm-highlight, .infobox .realm-current {
color: var(--g-red);
font-weight: 700;
}
/* ----------------------------------------------------------
7. 表格
---------------------------------------------------------- */
.wikitable {
width: 100%;
border-collapse: separate;
border-spacing: 0;
border: none;
border-radius: var(--g-radius-sm);
overflow: hidden;
font-size: 0.9em;
}
.wikitable th {
background: linear-gradient(135deg, #2d7dd2 0%, #4a90d9 100%);
color: #fff;
font-weight: 600;
padding: 10px 14px;
text-align: left;
border: none;
}
.wikitable td {
padding: 9px 14px;
border: none;
border-bottom: 1px solid var(--g-border-light);
}
.wikitable tr:nth-child(even) td { background: #f8fafc; }
.wikitable tr:hover td { background: var(--g-blue-pale); transition: background .15s; }
.battle-win { color: var(--g-green); font-weight: 700; }
.battle-lose { color: var(--g-red); font-weight: 700; }
.battle-draw { color: var(--g-text-3); font-weight: 700; }
/* ----------------------------------------------------------
8. Navbox
---------------------------------------------------------- */
.navbox {
background: var(--g-card);
border: 1px solid var(--g-border);
border-radius: var(--g-radius);
box-shadow: var(--g-shadow);
overflow: hidden;
margin-top: var(--g-gap);
font-size: 0.86em;
width: 100%;
}
.navbox-title {
background: linear-gradient(135deg, #2d7dd2 0%, #6c5ce7 100%);
color: #fff; font-weight: 700; text-align: center;
padding: 10px 16px; font-size: 1.05em;
}
.navbox-title a { color: #fff; }
.navbox-title a:hover { color: #d4e8ff; text-decoration: underline; }
.navbox-group {
background: var(--g-blue-pale); color: var(--g-blue);
font-weight: 600; padding: 8px 14px; text-align: right;
white-space: nowrap; border-bottom: 1px solid var(--g-border-light);
}
.navbox-list {
padding: 8px 14px; border-bottom: 1px solid var(--g-border-light); line-height: 2;
}
/* ----------------------------------------------------------
9. TOC 目录
---------------------------------------------------------- */
#toc, .toc {
background: var(--g-card);
border: 1px solid var(--g-border);
border-radius: var(--g-radius);
box-shadow: var(--g-shadow);
padding: 14px 18px;
font-size: 0.88em;
line-height: 1.85;
}
#toc #toctitle, .toc .toctitle {
font-weight: 700; color: var(--g-blue);
margin-bottom: 8px; padding-bottom: 6px;
border-bottom: 2px solid var(--g-blue);
}
#toc ul, .toc ul { list-style: none; margin: 0; padding-left: 14px; }
#toc a, .toc a { color: var(--g-text-2); }
#toc a:hover, .toc a:hover { color: var(--g-blue); }
/* ----------------------------------------------------------
10. 引用块
---------------------------------------------------------- */
blockquote, .character-quote {
border-left: 4px solid var(--g-blue);
background: var(--g-blue-pale);
padding: 14px 20px;
margin: 12px 0;
border-radius: 0 var(--g-radius-sm) var(--g-radius-sm) 0;
font-style: italic;
color: var(--g-text-2);
}
blockquote cite, .character-quote cite {
display: block; margin-top: 8px;
font-style: normal; font-size: 0.82em; color: var(--g-text-3);
}
/* ----------------------------------------------------------
11. 分类标签
---------------------------------------------------------- */
#catlinks {
background: var(--g-card);
border: 1px solid var(--g-border);
border-radius: var(--g-radius);
padding: 10px 18px;
margin-top: var(--g-gap);
font-size: 0.83em;
color: var(--g-text-3);
}
#catlinks a {
display: inline-block;
background: var(--g-blue-pale);
color: var(--g-blue);
padding: 3px 12px;
border-radius: 100px;
margin: 2px 3px;
font-size: 0.9em;
transition: background .15s, color .15s;
}
#catlinks a:hover {
background: var(--g-blue); color: #fff; text-decoration: none;
}
/* ----------------------------------------------------------
12. 人物关系卡片
---------------------------------------------------------- */
.relation-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
gap: 10px;
margin: 12px 0;
background: var(--g-card);
padding: 16px 22px;
box-shadow: var(--g-shadow);
}
.relation-card {
background: var(--g-border-light);
border: 1px solid var(--g-border);
border-radius: var(--g-radius-sm);
padding: 12px 8px;
text-align: center;
transition: box-shadow .2s, border-color .2s, transform .2s;
}
.relation-card:hover {
border-color: var(--g-blue);
box-shadow: var(--g-shadow-hover);
transform: translateY(-2px);
}
.relation-label {
font-size: 0.72em; color: var(--g-text-3);
text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 3px;
}
.relation-name { font-weight: 700; color: var(--g-blue); font-size: 0.92em; }
.relation-name a { color: var(--g-blue); }
/* ----------------------------------------------------------
13. 境界进度条
---------------------------------------------------------- */
.realm-bar {
width: 100%; height: 8px;
background: var(--g-border-light);
border-radius: 100px; overflow: hidden; margin: 6px 0;
}
.realm-fill {
height: 100%;
background: linear-gradient(90deg, var(--g-blue), var(--g-purple), var(--g-red));
border-radius: 100px;
transition: width 0.5s ease;
}
/* ----------------------------------------------------------
14. 剧透折叠块
---------------------------------------------------------- */
.spoiler-box {
border: 1px dashed var(--g-red);
border-radius: var(--g-radius-sm);
margin: 12px 0; overflow: hidden;
}
.spoiler-box .mw-collapsible-toggle {
background: var(--g-red-pale); color: var(--g-red);
padding: 9px 16px; font-weight: 600; font-size: 0.86em;
cursor: pointer; display: block; text-align: center;
}
/* ----------------------------------------------------------
15. Tabber
---------------------------------------------------------- */
.tabber .tabbertab {
border: 1px solid var(--g-border); border-top: none;
border-radius: 0 0 var(--g-radius-sm) var(--g-radius-sm);
padding: 16px 20px; background: var(--g-card);
}
.tabber ul.tabbernav {
margin: 0; padding: 0;
border-bottom: 2px solid var(--g-border);
display: flex;
}
.tabber ul.tabbernav li { list-style: none; }
.tabber ul.tabbernav li a {
display: block; padding: 9px 18px;
color: var(--g-text-2); font-weight: 500; font-size: 0.9em;
border-bottom: 2px solid transparent; margin-bottom: -2px;
transition: color .15s, border-color .15s;
}
.tabber ul.tabbernav li a:hover { color: var(--g-blue); text-decoration: none; }
.tabber ul.tabbernav li.tabberactive a {
color: var(--g-blue); border-bottom-color: var(--g-blue); font-weight: 600;
}
/* ----------------------------------------------------------
16. 搜索框
---------------------------------------------------------- */
#searchInput, .mw-searchInput {
border: 1px solid var(--g-border);
border-radius: 100px;
padding: 8px 16px; font-size: 0.9em;
background: var(--g-card);
transition: border-color .2s, box-shadow .2s;
}
#searchInput:focus, .mw-searchInput:focus {
outline: none;
border-color: var(--g-blue);
box-shadow: 0 0 0 3px rgba(45,125,210,0.15);
}
/* ----------------------------------------------------------
17. 杂项
---------------------------------------------------------- */
pre, code {
font-family: var(--g-font-mono); font-size: 0.86em;
background: #f1f5f9; border-radius: var(--g-radius-sm);
}
pre { padding: 14px 18px; overflow-x: auto; border: 1px solid var(--g-border); }
code { padding: 2px 6px; }
.thumb {
border: 1px solid var(--g-border);
border-radius: var(--g-radius-sm);
overflow: hidden; background: var(--g-card);
}
.thumb .thumbcaption {
font-size: 0.8em; color: var(--g-text-3);
padding: 6px 8px; text-align: center;
}
.mw-body { border: none; }