|
|
| 第1行: |
第1行: |
| /* ---------- 1. 字体引入 ---------- */
| |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@300;400;500;700&display=swap');
| |
|
| |
|
| /* ---------- 2. 全局配色变量 ---------- */ | | /* 1. 全局背景与字体基准 */ |
| :root {
| | body { |
| /* 主色调:电光紫 → 霓虹青 */ | | background-color: #f4f6f8; /* 浅灰背景,衬托白色卡片 */ |
| --color-primary: #7C3AED;
| | color: #181e28; /* 深灰近黑的正文颜色 */ |
| --color-primary-light: #EDE9FE;
| | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; |
| --color-primary-glow: #A78BFA;
| |
| --color-accent: #06B6D4;
| |
| --color-accent-light: #CFFAFE;
| |
| --color-accent-glow: #22D3EE;
| |
| --color-highlight: #F43F5E;
| |
| --color-highlight-light: #FFE4E6;
| |
| | |
| /* 背景系统:明亮干净 */
| |
| --color-bg-primary: #F8FAFC;
| |
| --color-bg-secondary: #FFFFFF;
| |
| --color-bg-tertiary: #F1F5F9;
| |
| --color-bg-elevated: #FFFFFF;
| |
| | |
| /* 文字系统 */
| |
| --color-text-primary: #0F172A;
| |
| --color-text-secondary: #475569;
| |
| --color-text-muted: #94A3B8;
| |
| | |
| /* 边框 */
| |
| --color-border: #E2E8F0;
| |
| --color-border-light: #F1F5F9;
| |
| | |
| /* 链接 */
| |
| --color-link: #7C3AED; | |
| --color-link-hover: #06B6D4;
| |
| --color-link-visited: #9333EA;
| |
| | |
| /* 圆角系统 */
| |
| --radius-sm: 6px; | |
| --radius-md: 10px;
| |
| --radius-lg: 16px;
| |
| --radius-xl: 24px;
| |
| | |
| /* 阴影(浅色下用柔和阴影而非光晕) */
| |
| --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
| |
| --shadow-md: 0 4px 6px rgba(0,0,0,0.04), 0 2px 4px rgba(0,0,0,0.02);
| |
| --shadow-lg: 0 10px 25px rgba(0,0,0,0.06), 0 4px 10px rgba(0,0,0,0.02);
| |
| --shadow-card: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
| |
| --shadow-button: 0 2px 8px rgba(124,58,237,0.15);
| |
| | |
| /* 字体 */
| |
| --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. 全局基础 ---------- */ | | /* 2. 主内容区卡片化改造 */ |
| * {
| | .mw-body { |
| box-sizing: border-box; | | background-color: #ffffff; |
| | border: none; |
| | border-radius: 12px; |
| | box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); |
| | padding: 30px; |
| | margin-top: 20px; |
| } | | } |
|
| |
|
| body {
| | /* 3. 标题与章节分割线 (青蓝系主题色融合) */ |
| background-color: var(--color-bg-primary);
| | .mw-body h1.firstHeading { |
| color: var(--color-text-primary);
| | font-weight: 700; |
| font-family: var(--font-body);
| | color: #1a237e; /* 极深的主题蓝 */ |
| font-size: var(--font-size-base); | | border-bottom: none; |
| line-height: 1.7; | | margin-bottom: 20px; |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | | } |
|
| |
|
| /* 滚动条 */
| | .mw-parser-output h2 { |
| ::-webkit-scrollbar { width: 6px; }
| |
| ::-webkit-scrollbar-track { background: var(--color-bg-tertiary); }
| |
| ::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 3px; }
| |
| ::-webkit-scrollbar-thumb:hover { background: var(--color-primary-glow); }
| |
| | |
| /* 标题 */
| |
| h1, h2, h3, h4, h5, h6 {
| |
| font-family: var(--font-display);
| |
| color: var(--color-text-primary);
| |
| 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), var(--color-accent));
| |
| -webkit-background-clip: text;
| |
| -webkit-text-fill-color: transparent;
| |
| background-clip: text;
| |
| }
| |
| h2 { | |
| font-size: 1.5em; | | 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; | | font-weight: 600; |
| color: var(--color-primary); | | color: #283593; /* 青蓝色 */ |
| | border-bottom: 2px solid #e8eaf6; |
| | padding-bottom: 8px; |
| | margin-top: 1.5em; |
| } | | } |
|
| |
|
| /* 内链 */ | | /* 4. Infobox 信息框的现代化 (右侧悬浮卡片) */ |
| a {
| | .infobox { |
| color: var(--color-link);
| | background-color: #fafafa; |
| text-decoration: none;
| | border: 1px solid #e0e0e0; |
| transition: color var(--transition-fast);
| | border-radius: 8px; |
| }
| | box-shadow: 0 2px 8px rgba(0,0,0,0.04); |
| a:visited { color: var(--color-link-visited); }
| | float: right; |
| a:hover {
| | clear: right; |
| color: var(--color-link-hover);
| | margin: 0 0 1em 1em; |
| text-decoration: underline;
| | padding: 10px; |
| text-underline-offset: 3px;
| | width: 300px; |
| text-decoration-color: var(--color-accent);
| |
| }
| |
| | |
| /* 选中文字 */
| |
| ::selection {
| |
| background: var(--color-primary-light);
| |
| color: var(--color-primary);
| |
| }
| |
| | |
| /* ---------- 4. 搜索框 ---------- */
| |
| .search-box .form-control, | |
| #searchInput {
| |
| background-color: var(--color-bg-tertiary); | |
| border: 2px solid var(--color-border); | |
| 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.1); | |
| outline: none;
| |
| background-color: #FFFFFF;
| |
| }
| |
| .search-box .form-control::placeholder,
| |
| #searchInput::placeholder {
| |
| color: var(--color-text-muted);
| |
| }
| |
| | |
| /* ---------- 5. 按钮系统 ---------- */
| |
| .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-button);
| |
| 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 4px 16px rgba(6,182,212,0.25);
| |
| transform: translateY(-1px);
| |
| }
| |
| .btn-secondary {
| |
| background-color: transparent;
| |
| border: 1.5px solid var(--color-border);
| |
| 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: var(--color-primary);
| |
| background-color: var(--color-primary-light);
| |
| }
| |
| | |
| /* ---------- 6. 表格 ---------- */
| |
| .wikitable {
| |
| background-color: var(--color-bg-secondary);
| |
| border: 1px solid var(--color-border);
| |
| border-radius: var(--radius-md);
| |
| overflow: hidden;
| |
| border-collapse: separate;
| |
| border-spacing: 0;
| |
| width: 100%;
| |
| box-shadow: var(--shadow-card);
| |
| }
| |
| .wikitable th {
| |
| background-color: var(--color-primary-light);
| |
| color: var(--color-primary);
| |
| padding: 0.7em 1em; | |
| font-weight: 600; | |
| font-size: 0.9em; | | font-size: 0.9em; |
| border-bottom: 2px solid var(--color-primary);
| |
| }
| |
| .wikitable td {
| |
| padding: 0.6em 1em;
| |
| border-bottom: 1px solid var(--color-border-light);
| |
| color: var(--color-text-primary);
| |
| }
| |
| .wikitable tr:last-child td { border-bottom: none; }
| |
| .wikitable tr:hover td {
| |
| background-color: var(--color-bg-tertiary);
| |
| } | | } |
|
| |
|
| /* ---------- 7. 信息框(角色卡/作品卡) ---------- */
| |
| .infobox {
| |
| background-color: var(--color-bg-secondary);
| |
| border: 1px solid var(--color-border);
| |
| 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-tertiary);
| |
| }
| |
| .infobox .infobox-image img {
| |
| max-width: 100%;
| |
| height: auto;
| |
| border-radius: var(--radius-sm);
| |
| }
| |
| .infobox table {
| |
| width: 100%;
| |
| border-collapse: collapse;
| |
| }
| |
| .infobox th { | | .infobox th { |
| background-color: var(--color-primary-light); | | background-color: #3f51b5; /* 青蓝色表头 */ |
| color: var(--color-primary); | | color: #ffffff; |
| | border-radius: 4px; |
| | padding: 8px; |
| text-align: center; | | text-align: center; |
| width: 35%;
| |
| padding: 0.6em 0.4em;
| |
| font-weight: 600;
| |
| font-size: 0.85em;
| |
| border-bottom: 1px solid var(--color-border-light);
| |
| } | | } |
| | |
| .infobox td { | | .infobox td { |
| padding: 0.6em 0.4em; | | padding: 6px 8px; |
| border-bottom: 1px solid var(--color-border-light); | | border-bottom: 1px solid #eeeeee; |
| 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. 目录 TOC ---------- */
| |
| #toc {
| |
| background-color: var(--color-bg-tertiary);
| |
| border: 1px solid var(--color-border);
| |
| 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); }
| |
| | |
| /* ---------- 9. 标签/徽章 ---------- */
| |
| .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;
| |
| }
| |
| | |
| /* ---------- 10. 响应式 ---------- */
| |
| @media (max-width: 768px) {
| |
| .infobox {
| |
| float: none;
| |
| width: 100%;
| |
| margin: 0 0 1.5em 0;
| |
| }
| |
| h1 { font-size: 1.5em; }
| |
| h2 { font-size: 1.25em; }
| |
| } | | } |