打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Citizen.css:修订间差异

MediaWiki界面页面
Lemon留言 | 贡献
无编辑摘要
Lemon留言 | 贡献
无编辑摘要
第1行: 第1行:
/* =============================================
/* =============================================
   LTS Wiki - 像素直角 Minecraft 风格 (Citizen)
   OUTREX 风格首页组件(浅色直角版)
   无圆角 · 硬边 · 浅色主题
   复用自 Minecraft Wiki/styles.css
   ============================================= */
   ============================================= */


/* ---------------------------------------------
/* ── 全局盒模型 ── */
  1. 全局 CSS 变量(浅色主题 + 0 圆角)
.mp-wrapper *,
  --------------------------------------------- */
.mp-wrapper *::before,
:root {
.mp-wrapper *::after {
     /* 基础文字颜色 */
     box-sizing: border-box;
    --color-base: #202122;
}
    --color-base--hover: #404244;
.mp-wrapper {
     --color-emphasized: #101418;
     display: flex;
     --color-subtle: #54595d;
     flex-wrap: wrap;
     --color-placeholder: #72777d;
     width: 100%;
     --color-disabled: #a2a9b1;
     gap: 6px;
    --color-inverted: #ffffff;
}


    /* 链接色 - Minecraft 草绿色 */
/* ── 两栏网格 ── */
    --color-progressive: #3a971e;
.mp-inline-sections {
     --color-progressive--hover: #2d7316;
    display: grid;
     --color-progressive--active: #1f4f0e;
     grid-template-columns: 1fr;
    --color-visited: #6a60b0;
    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) {
     --color-destructive: #bf3c2c;
     .mp-inline-sections {
    --color-destructive--hover: #9f3526;
        grid-template-columns: 2fr 1fr;
     --color-error: #bf3c2c;
        grid-template-rows: auto 1fr;
     --color-warning: #886425;
        grid-template-areas: "left site" "left right";
     --color-success: #177860;
     }
}
.mp-left, .mp-right {
    display: flex;
     flex-direction: column;
     gap: 6px;
}
.mp-right > :last-child { flex: 1; }


    /* 背景色 - 浅色系 */
/* 粘性侧边栏 */
    --background-color-base: #fcfcfc;
.mp-sticky {
     --background-color-neutral: #eaecf0;
     position: sticky;
     --background-color-neutral-subtle: #f8f9fa;
     top: 20px;
    --background-color-interactive: #eaecf0;
}
    --background-color-interactive--hover: #dadde3;
.skin-citizen .mp-sticky {
    --background-color-disabled: #dadde3;
     top: calc(var(--citizen-header-height, 56px) + 20px);
     --background-color-progressive: #3a971e;
}
    --background-color-progressive--hover: #2d7316;
    --background-color-progressive-subtle: #e8f5e9;


    /* 边框颜色 - 像素直角风格使用较深实线 */
/* ── 卡片(直角、内阴影浮雕感)── */
     --border-color-base: #8b8b8b;
.mp-section {
     --border-color-subtle: #c0c0c0;
     border: 2px solid #bbb;
     --border-color-interactive: #646464;
    background-color: #fcfcfc;
    --border-color-progressive: #3a971e;
     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; }


    /* 阴影 - 仅外阴影,无内阴影 */
/* 标题 */
    --box-shadow-card: 2px 2px 0 rgba(0, 0, 0, 0.1);
.mp-wrapper h2 {
     --box-shadow-hover: 3px 3px 0 rgba(0, 0, 0, 0.15);
     font-family: revert;
 
     font-weight: bold;
    /* 圆角 —— 全部强制为 0 */
     font-size: 1.2em;
     --border-radius-base: 0px;
}
     --border-radius-medium: 0px;
.mp-title {
    --border-radius-large: 0px;
     border: none;
     --border-radius-pill: 0px;
     margin: 0;
 
     padding: 0 !important;
     /* 字体大小 */
    --font-size-small: 0.875rem;
     --font-size-medium: 1rem;
    --font-size-large: 1.125rem;
}
}


/* ---------------------------------------------
/* ── 高亮卡片(图片背景)── */
  2. 全局基础样式
.mp-highlight-wrapper {
  --------------------------------------------- */
     display: flex;
body {
     flex-wrap: wrap;
     background-color: var(--background-color-base);
     gap: 8px;
     color: var(--color-base);
     font-family: 'Inter', 'HarmonyOS Sans SC', '思源黑体', system-ui, sans-serif;
}
}
 
.mp-highlight {
/* 内容区背景 */
    flex: 1 1 0;
.mw-body {
    min-width: 280px;
     background-color: #ffffff;
    min-height: calc(150px + 5vh);
     border: 2px solid var(--border-color-base);
    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; }
a {
.mp-highlight-image {
    color: var(--color-progressive);
    position: absolute;
    inset: 0;
    overflow: hidden;
}
}
a:visited {
.mp-highlight-image img {
     color: var(--color-visited);
    object-fit: cover;
    width: 100%;
     height: 100%;
    max-height: 300px;
}
}
a:hover {
.mp-highlight-top-description {
     color: var(--color-progressive--hover);
     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);
.citizen-header {
    padding: 0 12px 10px;
     background-color: #ffffff;
    position: absolute;
     border-bottom: 2px solid var(--border-color-base);
     bottom: 0;
    width: 100%;
}
}


/* 侧边栏菜单 */
/* ── 按钮(3D 按压效果)── */
.citizen-sidebar .citizen-menu__heading {
.mp-wrapper {
     color: var(--color-progressive);
     --button-color: #ebebeb;
     border-left: 3px solid var(--color-progressive);
    --button-color-progressive: #3a971e;
     padding-left: 8px;
     --button-text-color: #202122;
     --button-border-color: rgba(0,0,0,0.4);
}
}
.citizen-sidebar ul li a:hover {
.mp-button {
     background-color: var(--background-color-neutral-subtle);
    width: 100%;
     border-left: 2px solid var(--color-progressive);
    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);
.citizen-footer {
     --button-text-color: #fff;
     background-color: var(--background-color-neutral);
    color: var(--color-subtle);
     border-top: 2px solid var(--border-color-base);
}
}
.citizen-footer a {
body.mediawiki .mp-button > * {
     color: var(--color-progressive);
    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;
.citizen-search-box input {
    content: "";
     background-color: #ffffff;
    position: absolute;
     border: 2px solid var(--border-color-base);
    top: 0;
     color: var(--color-base);
    left: 0;
     border-radius: 0px;
    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,
  3. 卡片与容器样式(直角、硬边)
                -2px -2px 0 0 rgba(153,153,153,0.5) inset;
  --------------------------------------------- */
     background-color: #0000001a;
.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;
}
}
 
.mp-button:hover:not(:active)::after {
.citizen-body-container .card:hover,
     background-color: #ffffff1a;
.block-border:hover {
    transform: translateY(-2px);
     box-shadow: var(--box-shadow-hover);
}
}
 
body.mediawiki .mp-button:active > * {
/* 清除所有伪元素生成的内阴影/边框 */
    padding: 14px 10px 8px !important;
.block-border::before,
    margin-top: -8px;
.block-border::after {
     height: calc(100% + 10px);
     display: none !important;
}
}
 
.mp-button:active {
/* 强制所有元素无圆角 */
     margin-top: 6px;
* {
     border-radius: 0px !important;
}
}


/* ---------------------------------------------
/* 按钮组 */
  4. 表格样式(像素边框)
.mp-button-wrapper {
  --------------------------------------------- */
     display: flex;
.wikitable {
     flex-wrap: wrap;
     background-color: #ffffff;
     gap: 4px;
     border: 2px solid var(--border-color-base);
     border-radius: 0px;
}
}
.wikitable th {
.mp-button-wrapper .mp-button {
    background-color: var(--background-color-neutral);
     flex: 1 0 0;
     color: var(--color-progressive);
     white-space: nowrap;
     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);
/* 社交图标栏 */
.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; }


/* ---------------------------------------------
/* 图标网格 */
  5. Minecraft 风格按钮(直角,像素感)
.mp-icon-wrapper {
  --------------------------------------------- */
     display: flex;
.mc-button {
    flex-wrap: wrap;
     display: inline-block;
     justify-content: center;
     background-color: #f0f0f0;
     gap: 8px;
     border: 2px solid var(--border-color-base);
     --icon-base-width: 90px;
     color: var(--color-base);
     --icon-max-width: 200px;
    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 {
.mp-icon {
     background-color: var(--color-progressive);
    flex: 1 auto;
     border-color: var(--color-progressive--hover);
     width: var(--icon-base-width);
     color: white;
     max-width: var(--icon-max-width);
     transform: translateY(-1px);
     display: flex;
    box-shadow: 2px 2px 0 rgba(0,0,0,0.15);
     flex-direction: column;
}
}
.mc-button-primary {
.mp-icon-link {
     background-color: var(--color-progressive);
     flex: 1;
     border-color: var(--color-progressive--hover);
     margin: -2px 0 0;
     color: white;
     font-size: 14px;
}
}
.mc-button-primary:hover {
.mp-icon-img {
     background-color: var(--color-progressive--hover);
    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 {
  6. 首页专用区块(直角)
     width: 60px !important;
  --------------------------------------------- */
     height: 60px !important;
.home-hero {
     filter: drop-shadow(2px 2px 1px #00000030);
     background: linear-gradient(135deg, var(--background-color-neutral-subtle) 0%, var(--background-color-progressive-subtle) 100%);
     object-fit: contain;
     border: 2px solid var(--border-color-base);
     padding: 2rem;
    text-align: center;
     margin-bottom: 2rem;
}
}
.mp-icon:active .mp-icon-img { padding-bottom: 6px; }


/* 三列卡片等宽布局 */
/* 响应式缩小 */
.home-feature-cell {
@media screen and (max-width: 950px) {
     padding: 0 8px;
    .mp-icon-link { font-size: 12px; }
     vertical-align: top;
     .mp-icon-img a { padding: 6px; }
     .mp-icon-img img { width: 40px !important; height: 40px !important; }
}
}


/* 区块边框效果(游戏中的“边界”感) */
/* 时间线 */
.mw-parser-output .block-border {
.mp-timeline {
     border: 2px solid var(--border-color-interactive);
     display: flex;
     background-color: #ffffff;
     flex-direction: column;
    padding: 8px;
     margin-left: 10px;
     margin: 8px 0;
    position: relative;
}
}
 
.mp-timeline dl {
/* ---------------------------------------------
    padding-left: 15px;
  7. 辅助工具类
    border-left: 2px solid #bbb;
  --------------------------------------------- */
    display: flex;
.text-green {
    gap: 0 0.5em;
     color: var(--color-progressive);
    flex-wrap: wrap;
    align-content: center;
     max-height: 60px;
}
}
.bg-green-subtle {
.mp-timeline dl:not(:last-child) { padding-bottom: 8px; }
     background-color: var(--background-color-progressive-subtle);
.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;
}
}
.border-green {
.mp-timeline dl, .mp-timeline dt, .mp-timeline dd { margin: 0; }
    border-color: var(--color-progressive) !important;
.mp-timeline dd { opacity: 0.8; }
.mp-timeline dd:before { content: "– "; }
 
/* 平台版本行 */
.mp-platform-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}
}
.rounded-card {
.mp-platform {
     border-radius: 0px !important;
     min-width: 300px;
     background: white;
     display: flex;
     border: 2px solid var(--border-color-subtle);
     gap: 5px;
     padding: 1rem;
     align-items: center;
}
}

2026年5月9日 (六) 17:53的版本

/* =============================================
   OUTREX 风格首页组件(浅色直角版)
   复用自 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;
}