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. 字体引入 ---------- */
/* 标题用锐利现代的无衬线体,正文用高可读性字体 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+SC:wght@400;500;700&display=swap');
/* ---------- 2. 全局配色变量 ---------- */
:root {
/* 主色调:电光紫 → 霓虹青 渐变 */
--color-primary: #7C3AED; /* 电光紫 */
--color-primary-glow: #A78BFA; /* 浅紫光晕 */
--color-accent: #06B6D4; /* 霓虹青 */
--color-accent-glow: #67E8F9; /* 青蓝光晕 */
--color-highlight: #F43F5E; /* 玫红高亮(用于角标、热门标签) */
/* 背景系统:深色沉浸 */
--color-bg-primary: #0F0F1A; /* 主背景-深邃蓝黑 */
--color-bg-secondary: #1A1A2E; /* 次级背景-卡片/侧栏 */
--color-bg-tertiary: #252540; /* 三级背景-悬停/输入框 */
--color-bg-elevated: #2D2D4A; /* 浮层/弹窗背景 */
/* 文字系统 */
--color-text-primary: #EDEDF5; /* 主文字-高亮白 */
--color-text-secondary: #A0A0B8; /* 辅助文字-冷灰 */
--color-text-muted: #6B6B80; /* 弱化文字 */
/* 边框与分割线 */
--color-border: #2D2D4A;
--color-border-light: #3D3D5C;
/* 链接 */
--color-link: #A78BFA;
--color-link-hover: #C4B5FD;
--color-link-visited: #8B5CF6;
/* 圆角系统 */
--radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 16px;
--radius-xl: 24px;
/* 阴影系统(带色光晕) */
--shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
--shadow-md: 0 4px 12px rgba(124,58,237,0.15), 0 2px 4px rgba(0,0,0,0.3);
--shadow-lg: 0 8px 24px rgba(124,58,237,0.2), 0 4px 8px rgba(0,0,0,0.4);
--shadow-glow-purple: 0 0 20px rgba(124,58,237,0.3);
--shadow-glow-cyan: 0 0 20px rgba(6,182,212,0.3);
/* 字体 */
--font-display: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
--font-body: 'Noto Sans SC', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
--font-size-base: 15px;
/* 过渡 */
--transition-fast: 0.15s ease;
--transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ---------- 3. 全局基础 ---------- */
* {
box-sizing: border-box;
}
body {
background-color: var(--color-bg-primary);
color: var(--color-text-primary);
font-family: var(--font-body);
font-size: var(--font-size-base);
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* 滚动条美化(Webkit浏览器) */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: var(--color-bg-primary);
}
::-webkit-scrollbar-thumb {
background: var(--color-border-light);
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
}
/* 标题系统 */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-display);
color: #FFFFFF;
border-bottom: none;
letter-spacing: -0.02em;
margin-top: 1.5em;
margin-bottom: 0.6em;
}
h1 {
font-size: 2em;
font-weight: 800;
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
h2 {
font-size: 1.5em;
font-weight: 700;
padding-left: 0.8em;
border-left: 4px solid var(--color-accent);
}
h3 {
font-size: 1.25em;
font-weight: 600;
color: var(--color-primary-glow);
}
/* 内链 */
a {
color: var(--color-link);
text-decoration: none;
transition: color var(--transition-fast);
}
a:visited {
color: var(--color-link-visited);
}
a:hover {
color: var(--color-link-hover);
text-decoration: underline;
text-decoration-color: var(--color-accent);
text-underline-offset: 3px;
}
/* 选中文字颜色 */
::selection {
background: var(--color-primary);
color: #FFFFFF;
}
/* ---------- 4. 导航栏(Chameleon) ---------- */
.navbar {
background: rgba(15,15,26,0.85) !important;
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-bottom: 1px solid rgba(124,58,237,0.3);
box-shadow: var(--shadow-glow-purple);
}
.navbar .navbar-brand {
font-family: var(--font-display);
font-weight: 800;
font-size: 1.3em;
color: #FFFFFF !important;
letter-spacing: -0.02em;
}
.navbar .navbar-brand span {
background: linear-gradient(135deg, var(--color-primary-glow), var(--color-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar .nav-link {
color: var(--color-text-secondary) !important;
font-weight: 500;
font-size: 0.9em;
border-radius: var(--radius-md);
padding: 0.5em 1em !important;
transition: all var(--transition-smooth);
}
.navbar .nav-link:hover {
color: #FFFFFF !important;
background-color: rgba(124,58,237,0.2);
}
.navbar .nav-link.active {
color: #FFFFFF !important;
background-color: rgba(124,58,237,0.3);
}
.navbar .dropdown-menu {
background-color: var(--color-bg-elevated);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
padding: 0.5em;
}
.navbar .dropdown-item {
color: var(--color-text-secondary);
border-radius: var(--radius-sm);
transition: all var(--transition-fast);
}
.navbar .dropdown-item:hover {
color: #FFFFFF;
background-color: rgba(124,58,237,0.2);
}
/* ---------- 5. 侧边栏 ---------- */
.sidebar .card {
background-color: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
margin-bottom: 1.2em;
overflow: hidden;
}
.sidebar .card-header {
background: linear-gradient(135deg, rgba(124,58,237,0.3), rgba(6,182,212,0.15));
color: #FFFFFF;
font-family: var(--font-display);
font-weight: 700;
font-size: 0.95em;
border-bottom: 1px solid var(--color-border-light);
padding: 0.8em 1em;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.sidebar .card-body {
padding: 1em;
color: var(--color-text-secondary);
}
.sidebar .card-body a {
color: var(--color-text-primary);
}
.sidebar .card-body a:hover {
color: var(--color-accent);
}
/* ---------- 6. 主内容区 ---------- */
.mw-body {
background-color: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 2em 2.5em;
box-shadow: var(--shadow-md);
}
/* 目录 TOC */
#toc {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-md);
padding: 1.2em 1.5em;
margin-bottom: 2em;
}
#toc h2 {
font-size: 1em;
font-weight: 700;
margin-top: 0;
border-left: none;
padding-left: 0;
color: var(--color-text-primary);
}
#toc ul {
list-style: none;
padding-left: 0;
}
#toc li {
margin: 0.3em 0;
}
#toc a {
color: var(--color-text-secondary);
font-size: 0.9em;
}
#toc a:hover {
color: var(--color-accent);
}
/* ---------- 7. 信息框(角色卡/作品卡) ---------- */
.infobox {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-lg);
padding: 0;
margin: 0.5em 0 1.2em 1.5em;
float: right;
width: 280px;
max-width: 100%;
box-shadow: var(--shadow-md);
overflow: hidden;
}
.infobox .infobox-title {
background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
color: #FFFFFF;
font-family: var(--font-display);
font-size: 1.2em;
font-weight: 700;
text-align: center;
padding: 0.8em;
margin: 0;
letter-spacing: 0.02em;
}
.infobox .infobox-image {
text-align: center;
padding: 0.8em;
background-color: var(--color-bg-secondary);
}
.infobox .infobox-image img {
max-width: 100%;
height: auto;
border-radius: var(--radius-sm);
}
.infobox table {
width: 100%;
border-collapse: collapse;
}
.infobox th {
background-color: rgba(124,58,237,0.15);
color: var(--color-primary-glow);
text-align: center;
width: 35%;
padding: 0.6em 0.4em;
font-weight: 600;
font-size: 0.85em;
border-bottom: 1px solid var(--color-border);
}
.infobox td {
padding: 0.6em 0.4em;
border-bottom: 1px solid var(--color-border);
text-align: center;
color: var(--color-text-primary);
font-size: 0.9em;
}
.infobox tr:last-child th,
.infobox tr:last-child td {
border-bottom: none;
}
/* ---------- 8. 搜索框 ---------- */
.search-box .form-control,
#searchInput {
background-color: var(--color-bg-tertiary);
border: 2px solid var(--color-border-light);
border-radius: 50px;
color: var(--color-text-primary);
padding: 0.6em 1.2em;
font-size: 0.9em;
transition: all var(--transition-smooth);
}
.search-box .form-control:focus,
#searchInput:focus {
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(124,58,237,0.2), var(--shadow-glow-purple);
outline: none;
background-color: var(--color-bg-elevated);
}
.search-box .form-control::placeholder,
#searchInput::placeholder {
color: var(--color-text-muted);
}
/* ---------- 9. 按钮系统 ---------- */
.btn-primary,
.mw-htmlform-submit {
background: linear-gradient(135deg, var(--color-primary), #6D28D9);
border: none;
border-radius: 50px;
color: #FFFFFF;
padding: 0.6em 2em;
font-family: var(--font-display);
font-weight: 600;
font-size: 0.9em;
letter-spacing: 0.03em;
box-shadow: var(--shadow-glow-purple);
transition: all var(--transition-smooth);
cursor: pointer;
}
.btn-primary:hover,
.mw-htmlform-submit:hover {
background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
box-shadow: 0 0 30px rgba(6,182,212,0.4);
transform: translateY(-1px);
}
.btn-secondary {
background-color: transparent;
border: 1.5px solid var(--color-border-light);
border-radius: 50px;
color: var(--color-text-secondary);
padding: 0.5em 1.8em;
font-weight: 500;
transition: all var(--transition-smooth);
}
.btn-secondary:hover {
border-color: var(--color-primary-glow);
color: #FFFFFF;
background-color: rgba(124,58,237,0.1);
}
/* 编辑按钮 */
#ca-edit a,
#ca-viewsource a {
border-radius: 50px !important;
padding: 0.4em 1.2em !important;
transition: all var(--transition-fast);
}
#ca-edit a:hover {
background-color: rgba(124,58,237,0.2) !important;
color: #FFFFFF !important;
}
/* ---------- 10. 表格美化 ---------- */
.wikitable,
table.wikitable {
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border-light);
border-radius: var(--radius-md);
overflow: hidden;
border-collapse: separate;
border-spacing: 0;
width: 100%;
box-shadow: var(--shadow-sm);
}
.wikitable th {
background-color: rgba(124,58,237,0.2);
color: var(--color-primary-glow);
padding: 0.7em 1em;
font-weight: 600;
border-bottom: 2px solid var(--color-primary);
}
.wikitable td {
padding: 0.6em 1em;
border-bottom: 1px solid var(--color-border);
color: var(--color-text-primary);
}
.wikitable tr:last-child td {
border-bottom: none;
}
.wikitable tr:hover td {
background-color: rgba(124,58,237,0.05);
}
/* ---------- 11. 标签/徽章 ---------- */
.badge-hot {
display: inline-block;
background: linear-gradient(135deg, var(--color-highlight), #E11D48);
color: #FFFFFF;
font-size: 0.75em;
font-weight: 700;
padding: 0.2em 0.7em;
border-radius: 50px;
margin-left: 0.3em;
vertical-align: middle;
}
.badge-new {
display: inline-block;
background: linear-gradient(135deg, var(--color-accent), #0891B2);
color: #FFFFFF;
font-size: 0.75em;
font-weight: 700;
padding: 0.2em 0.7em;
border-radius: 50px;
margin-left: 0.3em;
}
/* ---------- 12. 页脚 ---------- */
footer,
.mw-footer {
background-color: var(--color-bg-secondary);
border-top: 1px solid var(--color-border);
color: var(--color-text-muted);
padding: 2em 0;
margin-top: 3em;
font-size: 0.85em;
text-align: center;
}
footer a,
.mw-footer a {
color: var(--color-text-secondary);
}
footer a:hover,
.mw-footer a:hover {
color: var(--color-accent);
}
/* ---------- 13. 响应式 ---------- */
@media (max-width: 768px) {
.infobox {
float: none;
width: 100%;
margin: 0 0 1.5em 0;
}
.mw-body {
padding: 1.2em;
border-radius: var(--radius-md);
}
h1 { font-size: 1.5em; }
h2 { font-size: 1.25em; }
}