MediaWiki:Citizen.css:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
/* ============================================= | /* ============================================= | ||
LTS Wiki - 像素直角 Minecraft 风格 (Citizen) | |||
无圆角 · 硬边 · 浅色主题 | |||
============================================= */ | |||
/* --------------------------------------------- | |||
1. 全局 CSS 变量(浅色主题 + 0 圆角) | |||
--------------------------------------------- */ | |||
:root { | |||
/* 基础文字颜色 */ | |||
--color-base: #202122; | |||
--color-base--hover: #404244; | |||
--color-emphasized: #101418; | |||
--color-subtle: #54595d; | |||
--color-placeholder: #72777d; | |||
--color-disabled: #a2a9b1; | |||
--color-inverted: #ffffff; | |||
/* 链接色 - Minecraft 草绿色 */ | |||
--color-progressive: #3a971e; | |||
--color-progressive--hover: #2d7316; | |||
--color-progressive--active: #1f4f0e; | |||
--color-visited: #6a60b0; | |||
/* 强调与状态色 */ | |||
--color-destructive: #bf3c2c; | |||
--color-destructive--hover: #9f3526; | |||
--color-error: #bf3c2c; | |||
--color-warning: #886425; | |||
--color-success: #177860; | |||
/* 背景色 - 浅色系 */ | |||
--background-color-base: #fcfcfc; | |||
--background-color-neutral: #eaecf0; | |||
--background-color-neutral-subtle: #f8f9fa; | |||
--background-color-interactive: #eaecf0; | |||
--background-color-interactive--hover: #dadde3; | |||
--background-color-disabled: #dadde3; | |||
--background-color-progressive: #3a971e; | |||
--background-color-progressive--hover: #2d7316; | |||
--background-color-progressive-subtle: #e8f5e9; | |||
/* 边框颜色 - 像素直角风格使用较深实线 */ | |||
--border-color-base: #8b8b8b; | |||
--border-color-subtle: #c0c0c0; | |||
--border-color-interactive: #646464; | |||
--border-color-progressive: #3a971e; | |||
/* 阴影 - 仅外阴影,无内阴影 */ | |||
--box-shadow-card: 2px 2px 0 rgba(0, 0, 0, 0.1); | |||
--box-shadow-hover: 3px 3px 0 rgba(0, 0, 0, 0.15); | |||
/* 圆角 —— 全部强制为 0 */ | |||
--border-radius-base: 0px; | |||
--border-radius-medium: 0px; | |||
--border-radius-large: 0px; | |||
--border-radius-pill: 0px; | |||
/* 字体大小 */ | |||
--font-size-small: 0.875rem; | |||
--font-size-medium: 1rem; | |||
--font-size-large: 1.125rem; | |||
} | |||
/* --------------------------------------------- | |||
2. 全局基础样式 | |||
--------------------------------------------- */ | |||
body { | |||
background-color: var(--background-color-base); | |||
color: var(--color-base); | |||
font-family: 'Inter', 'HarmonyOS Sans SC', '思源黑体', system-ui, sans-serif; | |||
} | |||
/* 内容区背景 */ | |||
.mw-body { | |||
background-color: #ffffff; | |||
border: 2px solid var(--border-color-base); | |||
} | |||
/* 链接颜色 */ | |||
a { | |||
color: var(--color-progressive); | |||
} | |||
a:visited { | |||
color: var(--color-visited); | |||
} | |||
a:hover { | |||
color: var(--color-progressive--hover); | |||
} | |||
/* 头部导航栏 */ | |||
.citizen-header { | |||
background-color: #ffffff; | |||
border-bottom: 2px solid var(--border-color-base); | |||
} | |||
/* 侧边栏菜单 */ | |||
.citizen-sidebar .citizen-menu__heading { | |||
color: var(--color-progressive); | |||
border-left: 3px solid var(--color-progressive); | |||
padding-left: 8px; | |||
} | |||
.citizen-sidebar ul li a:hover { | |||
background-color: var(--background-color-neutral-subtle); | |||
border-left: 2px solid var(--color-progressive); | |||
} | |||
/* 页脚 */ | |||
.citizen-footer { | |||
background-color: var(--background-color-neutral); | |||
color: var(--color-subtle); | |||
border-top: 2px solid var(--border-color-base); | |||
} | |||
.citizen-footer a { | |||
color: var(--color-progressive); | |||
} | |||
/* 搜索框 - 直角 */ | |||
.citizen-search-box input { | |||
background-color: #ffffff; | |||
border: 2px solid var(--border-color-base); | |||
color: var(--color-base); | |||
border-radius: 0px; | |||
} | |||
/* --------------------------------------------- | |||
3. 卡片与容器样式(直角、硬边) | |||
--------------------------------------------- */ | |||
.citizen-body-container .card, | |||
.mw-body-content > div:not(.no-card), | |||
.block-border { | |||
background-color: #ffffff; | |||
border: 2px solid var(--border-color-subtle); | |||
border-radius: 0px; | |||
box-shadow: var(--box-shadow-card); | |||
padding: 1rem; | |||
margin-bottom: 1.5rem; | |||
transition: transform 0.1s ease, box-shadow 0.1s ease; | |||
} | |||
.citizen-body-container .card:hover, | |||
.block-border:hover { | |||
transform: translateY(-2px); | |||
box-shadow: var(--box-shadow-hover); | |||
} | |||
/* 清除所有伪元素生成的内阴影/边框 */ | |||
.block-border::before, | |||
.block-border::after { | |||
display: none !important; | |||
} | |||
/* 强制所有元素无圆角 */ | |||
* { | |||
border-radius: 0px !important; | |||
} | |||
/* --------------------------------------------- | |||
4. 表格样式(像素边框) | |||
--------------------------------------------- */ | |||
.wikitable { | |||
background-color: #ffffff; | |||
border: 2px solid var(--border-color-base); | |||
border-radius: 0px; | |||
} | |||
.wikitable th { | |||
background-color: var(--background-color-neutral); | |||
color: var(--color-progressive); | |||
border: 1px solid var(--border-color-base); | |||
} | |||
.wikitable td { | |||
border: 1px solid var(--border-color-subtle); | |||
} | |||
.wikitable tr:nth-child(even) { | |||
background-color: var(--background-color-neutral-subtle); | |||
} | |||
/* --------------------------------------------- | |||
5. Minecraft 风格按钮(直角,像素感) | |||
--------------------------------------------- */ | |||
.mc-button { | |||
display: inline-block; | |||
background-color: #f0f0f0; | |||
border: 2px solid var(--border-color-base); | |||
color: var(--color-base); | |||
font-weight: bold; | |||
text-transform: uppercase; | |||
padding: 6px 14px; | |||
border-radius: 0px; | |||
transition: all 0.1s ease; | |||
cursor: pointer; | |||
box-shadow: 1px 1px 0 rgba(0,0,0,0.1); | |||
} | |||
.mc-button:hover { | |||
background-color: var(--color-progressive); | |||
border-color: var(--color-progressive--hover); | |||
color: white; | |||
transform: translateY(-1px); | |||
box-shadow: 2px 2px 0 rgba(0,0,0,0.15); | |||
} | |||
.mc-button-primary { | |||
background-color: var(--color-progressive); | |||
border-color: var(--color-progressive--hover); | |||
color: white; | |||
} | |||
.mc-button-primary:hover { | |||
background-color: var(--color-progressive--hover); | |||
} | |||
/* --------------------------------------------- | |||
6. 首页专用区块(直角) | |||
--------------------------------------------- */ | |||
.home-hero { | |||
background: linear-gradient(135deg, var(--background-color-neutral-subtle) 0%, var(--background-color-progressive-subtle) 100%); | |||
border: 2px solid var(--border-color-base); | |||
padding: 2rem; | |||
text-align: center; | |||
margin-bottom: 2rem; | |||
} | |||
/* 三列卡片等宽布局 */ | |||
.home-feature-cell { | |||
padding: 0 8px; | |||
vertical-align: top; | |||
} | |||
/* 区块边框效果(游戏中的“边界”感) */ | |||
.mw-parser-output .block-border { | |||
border: 2px solid var(--border-color-interactive); | |||
background-color: #ffffff; | |||
padding: 8px; | |||
margin: 8px 0; | |||
position: relative; | |||
} | |||
/* --------------------------------------------- | |||
7. 辅助工具类 | |||
--------------------------------------------- */ | |||
.text-green { | |||
color: var(--color-progressive); | |||
} | |||
.bg-green-subtle { | |||
background-color: var(--background-color-progressive-subtle); | |||
} | |||
.border-green { | |||
border-color: var(--color-progressive) !important; | |||
} | |||
.rounded-card { | |||
border-radius: 0px !important; | |||
background: white; | |||
border: 2px solid var(--border-color-subtle); | |||
padding: 1rem; | |||
} | |||
/* ============================================= | |||
复用自 Minecraft Wiki/styles.css | 复用自 Minecraft Wiki/styles.css | ||
============================================= */ | ============================================= */ | ||
2026年5月9日 (六) 17:58的版本
/* =============================================
LTS Wiki - 像素直角 Minecraft 风格 (Citizen)
无圆角 · 硬边 · 浅色主题
============================================= */
/* ---------------------------------------------
1. 全局 CSS 变量(浅色主题 + 0 圆角)
--------------------------------------------- */
:root {
/* 基础文字颜色 */
--color-base: #202122;
--color-base--hover: #404244;
--color-emphasized: #101418;
--color-subtle: #54595d;
--color-placeholder: #72777d;
--color-disabled: #a2a9b1;
--color-inverted: #ffffff;
/* 链接色 - Minecraft 草绿色 */
--color-progressive: #3a971e;
--color-progressive--hover: #2d7316;
--color-progressive--active: #1f4f0e;
--color-visited: #6a60b0;
/* 强调与状态色 */
--color-destructive: #bf3c2c;
--color-destructive--hover: #9f3526;
--color-error: #bf3c2c;
--color-warning: #886425;
--color-success: #177860;
/* 背景色 - 浅色系 */
--background-color-base: #fcfcfc;
--background-color-neutral: #eaecf0;
--background-color-neutral-subtle: #f8f9fa;
--background-color-interactive: #eaecf0;
--background-color-interactive--hover: #dadde3;
--background-color-disabled: #dadde3;
--background-color-progressive: #3a971e;
--background-color-progressive--hover: #2d7316;
--background-color-progressive-subtle: #e8f5e9;
/* 边框颜色 - 像素直角风格使用较深实线 */
--border-color-base: #8b8b8b;
--border-color-subtle: #c0c0c0;
--border-color-interactive: #646464;
--border-color-progressive: #3a971e;
/* 阴影 - 仅外阴影,无内阴影 */
--box-shadow-card: 2px 2px 0 rgba(0, 0, 0, 0.1);
--box-shadow-hover: 3px 3px 0 rgba(0, 0, 0, 0.15);
/* 圆角 —— 全部强制为 0 */
--border-radius-base: 0px;
--border-radius-medium: 0px;
--border-radius-large: 0px;
--border-radius-pill: 0px;
/* 字体大小 */
--font-size-small: 0.875rem;
--font-size-medium: 1rem;
--font-size-large: 1.125rem;
}
/* ---------------------------------------------
2. 全局基础样式
--------------------------------------------- */
body {
background-color: var(--background-color-base);
color: var(--color-base);
font-family: 'Inter', 'HarmonyOS Sans SC', '思源黑体', system-ui, sans-serif;
}
/* 内容区背景 */
.mw-body {
background-color: #ffffff;
border: 2px solid var(--border-color-base);
}
/* 链接颜色 */
a {
color: var(--color-progressive);
}
a:visited {
color: var(--color-visited);
}
a:hover {
color: var(--color-progressive--hover);
}
/* 头部导航栏 */
.citizen-header {
background-color: #ffffff;
border-bottom: 2px solid var(--border-color-base);
}
/* 侧边栏菜单 */
.citizen-sidebar .citizen-menu__heading {
color: var(--color-progressive);
border-left: 3px solid var(--color-progressive);
padding-left: 8px;
}
.citizen-sidebar ul li a:hover {
background-color: var(--background-color-neutral-subtle);
border-left: 2px solid var(--color-progressive);
}
/* 页脚 */
.citizen-footer {
background-color: var(--background-color-neutral);
color: var(--color-subtle);
border-top: 2px solid var(--border-color-base);
}
.citizen-footer a {
color: var(--color-progressive);
}
/* 搜索框 - 直角 */
.citizen-search-box input {
background-color: #ffffff;
border: 2px solid var(--border-color-base);
color: var(--color-base);
border-radius: 0px;
}
/* ---------------------------------------------
3. 卡片与容器样式(直角、硬边)
--------------------------------------------- */
.citizen-body-container .card,
.mw-body-content > div:not(.no-card),
.block-border {
background-color: #ffffff;
border: 2px solid var(--border-color-subtle);
border-radius: 0px;
box-shadow: var(--box-shadow-card);
padding: 1rem;
margin-bottom: 1.5rem;
transition: transform 0.1s ease, box-shadow 0.1s ease;
}
.citizen-body-container .card:hover,
.block-border:hover {
transform: translateY(-2px);
box-shadow: var(--box-shadow-hover);
}
/* 清除所有伪元素生成的内阴影/边框 */
.block-border::before,
.block-border::after {
display: none !important;
}
/* 强制所有元素无圆角 */
* {
border-radius: 0px !important;
}
/* ---------------------------------------------
4. 表格样式(像素边框)
--------------------------------------------- */
.wikitable {
background-color: #ffffff;
border: 2px solid var(--border-color-base);
border-radius: 0px;
}
.wikitable th {
background-color: var(--background-color-neutral);
color: var(--color-progressive);
border: 1px solid var(--border-color-base);
}
.wikitable td {
border: 1px solid var(--border-color-subtle);
}
.wikitable tr:nth-child(even) {
background-color: var(--background-color-neutral-subtle);
}
/* ---------------------------------------------
5. Minecraft 风格按钮(直角,像素感)
--------------------------------------------- */
.mc-button {
display: inline-block;
background-color: #f0f0f0;
border: 2px solid var(--border-color-base);
color: var(--color-base);
font-weight: bold;
text-transform: uppercase;
padding: 6px 14px;
border-radius: 0px;
transition: all 0.1s ease;
cursor: pointer;
box-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}
.mc-button:hover {
background-color: var(--color-progressive);
border-color: var(--color-progressive--hover);
color: white;
transform: translateY(-1px);
box-shadow: 2px 2px 0 rgba(0,0,0,0.15);
}
.mc-button-primary {
background-color: var(--color-progressive);
border-color: var(--color-progressive--hover);
color: white;
}
.mc-button-primary:hover {
background-color: var(--color-progressive--hover);
}
/* ---------------------------------------------
6. 首页专用区块(直角)
--------------------------------------------- */
.home-hero {
background: linear-gradient(135deg, var(--background-color-neutral-subtle) 0%, var(--background-color-progressive-subtle) 100%);
border: 2px solid var(--border-color-base);
padding: 2rem;
text-align: center;
margin-bottom: 2rem;
}
/* 三列卡片等宽布局 */
.home-feature-cell {
padding: 0 8px;
vertical-align: top;
}
/* 区块边框效果(游戏中的“边界”感) */
.mw-parser-output .block-border {
border: 2px solid var(--border-color-interactive);
background-color: #ffffff;
padding: 8px;
margin: 8px 0;
position: relative;
}
/* ---------------------------------------------
7. 辅助工具类
--------------------------------------------- */
.text-green {
color: var(--color-progressive);
}
.bg-green-subtle {
background-color: var(--background-color-progressive-subtle);
}
.border-green {
border-color: var(--color-progressive) !important;
}
.rounded-card {
border-radius: 0px !important;
background: white;
border: 2px solid var(--border-color-subtle);
padding: 1rem;
}
/* =============================================
复用自 Minecraft Wiki/styles.css
============================================= */
/* ── 全局盒模型 ── */
.mp-wrapper *,
.mp-wrapper *::before,
.mp-wrapper *::after {
box-sizing: border-box;
}
.mp-wrapper {
display: flex;
flex-wrap: wrap;
width: 100%;
gap: 6px;
}
/* ── 两栏网格 ── */
.mp-inline-sections {
display: grid;
grid-template-columns: 1fr;
grid-template-areas: "site" "left" "right";
gap: 6px;
width: 100%;
}
.mp-section-site { grid-area: site; }
.mp-left { grid-area: left; }
.mp-right { grid-area: right; }
@media screen and (min-width: 990px) {
.mp-inline-sections {
grid-template-columns: 2fr 1fr;
grid-template-rows: auto 1fr;
grid-template-areas: "left site" "left right";
}
}
.mp-left, .mp-right {
display: flex;
flex-direction: column;
gap: 6px;
}
.mp-right > :last-child { flex: 1; }
/* 粘性侧边栏 */
.mp-sticky {
position: sticky;
top: 20px;
}
.skin-citizen .mp-sticky {
top: calc(var(--citizen-header-height, 56px) + 20px);
}
/* ── 卡片(直角、内阴影浮雕感)── */
.mp-section {
border: 2px solid #bbb;
background-color: #fcfcfc;
box-shadow: inset -2px -2px #0000000f, inset 2px 2px #ffffff0d;
padding: 12px;
}
.mp-wrapper > .mp-section { width: 100%; }
.mp-section.mp-section-full { width: 100%; }
.mp-section-center { text-align: center; }
/* 标题 */
.mp-wrapper h2 {
font-family: revert;
font-weight: bold;
font-size: 1.2em;
}
.mp-title {
border: none;
margin: 0;
padding: 0 !important;
}
/* ── 高亮卡片(图片背景)── */
.mp-highlight-wrapper {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.mp-highlight {
flex: 1 1 0;
min-width: 280px;
min-height: calc(150px + 5vh);
max-height: 300px;
position: relative;
padding: 0;
overflow: hidden;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-color: #2a5a2a;
box-shadow: inset -4px -4px #0000003d, inset 4px 4px #fff2;
color: #fff !important;
font-size: small;
text-shadow: 1px 1px 4px #000;
}
.mp-highlight *:not(a) { color: #fff !important; }
.mp-highlight a { color: #bed9ff !important; }
.mp-highlight-image {
position: absolute;
inset: 0;
overflow: hidden;
}
.mp-highlight-image img {
object-fit: cover;
width: 100%;
height: 100%;
max-height: 300px;
}
.mp-highlight-top-description {
background: linear-gradient(180deg, #0008 24px, transparent);
padding: 12px;
position: absolute;
top: 0;
width: 100%;
}
.mp-highlight-bottom-description {
background: linear-gradient(to top, #0008 50%, transparent);
padding: 0 12px 10px;
position: absolute;
bottom: 0;
width: 100%;
}
/* ── 按钮(3D 按压效果)── */
.mp-wrapper {
--button-color: #ebebeb;
--button-color-progressive: #3a971e;
--button-text-color: #202122;
--button-border-color: rgba(0,0,0,0.4);
}
.mp-button {
width: 100%;
gap: 6px;
cursor: pointer;
position: relative;
text-align: center;
background-color: var(--button-color);
color: var(--button-text-color);
border: 2px solid var(--button-border-color);
font-size: 1em;
font-weight: bold;
transition: all 0.1s;
}
.mp-button.mp-button-progressive {
background-color: var(--button-color-progressive);
--button-text-color: #fff;
}
body.mediawiki .mp-button > * {
width: calc(100% + 4px);
height: calc(100% + 4px);
margin: -2px;
color: var(--button-text-color) !important;
text-decoration: none;
display: flex;
gap: 6px;
padding: 8px 10px 14px !important;
align-items: center;
justify-content: center;
}
.mp-button::after {
display: block;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
box-shadow: 0 -6px 0 0 #686868 inset,
2px 2px 0 0 rgba(178,178,178,0.5) inset,
-2px -8px 0 0 rgba(153,153,153,0.5) inset;
mix-blend-mode: hard-light;
transition: 0.1s;
pointer-events: none;
}
.mp-button:active::after {
box-shadow: 2px 2px 0 0 rgba(178,178,178,0.5) inset,
-2px -2px 0 0 rgba(153,153,153,0.5) inset;
background-color: #0000001a;
}
.mp-button:hover:not(:active)::after {
background-color: #ffffff1a;
}
body.mediawiki .mp-button:active > * {
padding: 14px 10px 8px !important;
margin-top: -8px;
height: calc(100% + 10px);
}
.mp-button:active {
margin-top: 6px;
}
/* 按钮组 */
.mp-button-wrapper {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.mp-button-wrapper .mp-button {
flex: 1 0 0;
white-space: nowrap;
}
/* 折叠按钮(不需要折叠功能可省略) */
/* ... 保留原样会很长,如需请告知,我先不贴 */
/* 社交图标栏 */
.mp-social-wrapper {
display: grid;
grid-auto-columns: minmax(0, 1fr);
grid-auto-flow: column;
gap: 4px;
}
.mp-button.mp-social-qq { background-color: #1ebafc; --button-text-color: #fff; }
.mp-button.mp-social-kook { background-color: #5865f2; --button-text-color: #fff; }
.mp-button.mp-social-web { background-color: #3a971e; --button-text-color: #fff; }
/* 图标网格 */
.mp-icon-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
--icon-base-width: 90px;
--icon-max-width: 200px;
}
.mp-icon {
flex: 1 auto;
width: var(--icon-base-width);
max-width: var(--icon-max-width);
display: flex;
flex-direction: column;
}
.mp-icon-link {
flex: 1;
margin: -2px 0 0;
font-size: 14px;
}
.mp-icon-img {
display: flex;
align-items: center;
justify-content: center;
background-color: #00000030;
box-shadow: inset 0 4px #00000030, inset 0 -4px #ffffff40;
border: 2px solid rgba(0,0,0,0.4);
}
.mp-icon-img a { padding: 12px; display: block; }
.mp-icon-img img {
width: 60px !important;
height: 60px !important;
filter: drop-shadow(2px 2px 1px #00000030);
object-fit: contain;
}
.mp-icon:active .mp-icon-img { padding-bottom: 6px; }
/* 响应式缩小 */
@media screen and (max-width: 950px) {
.mp-icon-link { font-size: 12px; }
.mp-icon-img a { padding: 6px; }
.mp-icon-img img { width: 40px !important; height: 40px !important; }
}
/* 时间线 */
.mp-timeline {
display: flex;
flex-direction: column;
margin-left: 10px;
}
.mp-timeline dl {
padding-left: 15px;
border-left: 2px solid #bbb;
display: flex;
gap: 0 0.5em;
flex-wrap: wrap;
align-content: center;
max-height: 60px;
}
.mp-timeline dl:not(:last-child) { padding-bottom: 8px; }
.mp-timeline dt { position: relative; }
.mp-timeline dl > dt::before {
content: "";
position: absolute;
left: -23px;
top: 4px;
width: 14px;
height: 14px;
background-color: var(--button-color-progressive);
border: 2px solid #202122;
}
.mp-timeline dl, .mp-timeline dt, .mp-timeline dd { margin: 0; }
.mp-timeline dd { opacity: 0.8; }
.mp-timeline dd:before { content: "– "; }
/* 平台版本行 */
.mp-platform-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 6px;
}
.mp-platform {
min-width: 300px;
display: flex;
gap: 5px;
align-items: center;
}