MediaWiki:Common.css:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第1行: 第1行:
/* =====================================================
/* =====================================================
   星海市 Wiki — 全局样式
   星海市 Wiki — 全局样式
  -----------------------------------------------------
  目录
  1. 首页标题与标签隐藏
  2. 首页头图
  3. 通用裁切图片框
  4. 图标容器
  5. 按钮
  6. 首页顶部操作区(文A + …)右上角悬浮
  7. 线路表格
  8. 首页深色模式适配(CSS 变量 + 属性选择器覆盖)
   ===================================================== */
   ===================================================== */


 
/* -----------------------------------------------------
/* =====================================================
   0. 主题色变量
   0. 主题色变量
   ===================================================== */
   ----------------------------------------------------- */
 
:root {
:root {
     --xh-card-bg:      #ffffff;
     --xh-card-bg:      #ffffff;
第65行: 第53行:
}
}


 
/* -----------------------------------------------------
/* =====================================================
   1. 首页标题与标签隐藏
   1. 首页标题与标签隐藏
   ===================================================== */
   ----------------------------------------------------- */
 
.page-首页 #p-namespaces,
.page-首页 #p-namespaces,
.page-首页 #p-associated-pages,
.page-首页 #p-associated-pages,
.page-首页 #p-views,
.page-首页 #p-views,
.page-首页 #p-cactions {
.page-首页 #p-cactions { display: none !important; }
    display: none !important;
}


.page-首页 #siteSub,
.page-首页 #siteSub,
.page-首页 .siteSub {
.page-首页 .siteSub { display: none !important; }
    display: none !important;
}


.page-首页 #firstHeading,
.page-首页 #firstHeading,
.page-首页 .firstHeading {
.page-首页 .firstHeading { display: none !important; }
    display: none !important;
}
 


/* =====================================================
/* -----------------------------------------------------
   2. 首页头图
   2. 首页头图
   ===================================================== */
   ----------------------------------------------------- */
 
.xh-banner {
.xh-banner {
     position: relative;
     position: relative;
第107行: 第85行:
.xh-banner-text {
.xh-banner-text {
     position: absolute;
     position: absolute;
     left: 2rem;
     left: 2rem; bottom: 1.5rem; right: 2rem;
    bottom: 1.5rem;
    right: 2rem;
     color: white;
     color: white;
     text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
     text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
}
}
.xh-banner-text .sub {
.xh-banner-text .sub {
     font-size: 0.7rem;
     font-size: 0.7rem; letter-spacing: 0.22em;
    letter-spacing: 0.22em;
     text-transform: uppercase; opacity: 0.85;
     text-transform: uppercase;
    opacity: 0.85;
     margin-bottom: 0.4rem;
     margin-bottom: 0.4rem;
}
}
.xh-banner-text .title {
.xh-banner-text .title {
     font-size: 2.2rem;
     font-size: 2.2rem; font-weight: 800;
    font-weight: 800;
     line-height: 1.1; letter-spacing: -0.02em;
     line-height: 1.1;
    letter-spacing: -0.02em;
}
}
.xh-banner-text .desc {
.xh-banner-text .desc {
     font-size: 0.88rem;
     font-size: 0.88rem; opacity: 0.88; margin-top: 0.45rem;
    opacity: 0.88;
    margin-top: 0.45rem;
}
}


 
/* -----------------------------------------------------
/* =====================================================
   3. 通用裁切图片框
   3. 通用裁切图片框
   ===================================================== */
   ----------------------------------------------------- */
 
.xh-cover-bg {
.xh-cover-bg {
     overflow: hidden;
     overflow: hidden;
第146行: 第114行:
     line-height: 0;
     line-height: 0;
}
}
.xh-cover-169 { aspect-ratio: 16 / 9; }
.xh-cover-169 { aspect-ratio: 16 / 9; }
.xh-cover-32  { aspect-ratio: 3 / 2; }
.xh-cover-32  { aspect-ratio: 3 / 2; }
第160行: 第127行:
.xh-cover-transit { background-image: url('https://www.xhcity.top/w/images/xhcity/9/95/Transit_pic.webp'); }
.xh-cover-transit { background-image: url('https://www.xhcity.top/w/images/xhcity/9/95/Transit_pic.webp'); }


 
/* -----------------------------------------------------
/* =====================================================
   4. 图标容器
   4. 图标容器
   ===================================================== */
   ----------------------------------------------------- */
 
.xh-icon {
.xh-icon {
     display: block;
     display: block;
第175行: 第140行:
     line-height: 0;
     line-height: 0;
}
}
.xh-icon-player  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_player.svg'); }
.xh-icon-player  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_player.svg'); }
.xh-icon-rules    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_rules.svg'); }
.xh-icon-rules    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_rules.svg'); }
第183行: 第147行:
.xh-icon-station  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_station.svg'); }
.xh-icon-station  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_station.svg'); }
.xh-icon-lines    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_lines.svg'); }
.xh-icon-lines    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_lines.svg'); }
.xh-icon-construction { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_construction.svg'); }
.xh-icon-construction { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_construction.svg'); }
.xh-icon-bids        { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_bids.svg'); }
.xh-icon-bids        { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_bids.svg'); }
.xh-icon-div          { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_div.svg'); }
.xh-icon-div          { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_div.svg'); }
.xh-icon-dmap    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_dmap.svg'); }
.xh-icon-dmap    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_dmap.svg'); }
.xh-icon-sysmap  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_sysmap.svg'); }
.xh-icon-sysmap  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_sysmap.svg'); }
第194行: 第156行:
.xh-icon-reset  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_reset.svg'); }
.xh-icon-reset  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_reset.svg'); }


 
/* -----------------------------------------------------
/* =====================================================
   5. 按钮
   5. 按钮
   ===================================================== */
   ----------------------------------------------------- */
 
.xh-random-btn {
.xh-random-btn {
     display: inline-block;
     display: inline-block;
第223行: 第183行:
}
}


 
/* -----------------------------------------------------
/* =====================================================
   6. 首页顶部操作区右上角悬浮
   6. 首页顶部操作区(文A + …)右上角悬浮
   ----------------------------------------------------- */
   ===================================================== */
 
.page-首页 .page-actions {
.page-首页 .page-actions {
     position: fixed !important;
     position: fixed !important;
第247行: 第205行:
     backdrop-filter: blur(4px);
     backdrop-filter: blur(4px);
}
}
.page-首页 .mw-body-header {
.page-首页 .mw-body-header {
     padding-top: 0 !important;
     padding-top: 0 !important;
第257行: 第214行:
}
}


 
/* -----------------------------------------------------
/* =====================================================
   7. 线路表格
   7. 线路表格
   ===================================================== */
   ----------------------------------------------------- */
 
.wikitable-routes tr th,
.wikitable-routes tr th,
.wikitable-routes tr td {
.wikitable-routes tr td {
第267行: 第222行:
     padding: 5px 10px 5px 0 !important;
     padding: 5px 10px 5px 0 !important;
}
}
.wikitable-routes tr td:first-child {
.wikitable-routes tr td:first-child { border-right: 10px solid white; }
    border-right: 10px solid white;
.wikitable-routes tr td:only-child { background-color: #f5f5f5 !important; }
}
.wikitable-routes tr th { background-color: #eee !important; }
.wikitable-routes tr td:only-child {
    background-color: #f5f5f5 !important;
}
.wikitable-routes tr th {
    background-color: #eee !important;
}
 
 
/* =====================================================
  8. 首页深色模式适配
  首页大量使用内联浅色样式(background:#ffffff 等),
  内联样式优先级高于外部 CSS,这里用属性选择器 +
  !important 覆盖,并映射到主题变量,浅色下不变、
  深色下自动跟随。
  ===================================================== */
 
/* 卡片白底 */
.page-首页 [style*="background:#ffffff"] {
    background: var(--xh-card-bg) !important;
}
 
/* 新玩家引导浅青底 */
.page-首页 [style*="background:#fbfefe"] {
    background: var(--xh-card-bg-soft) !important;
}
 
/* 图片占位灰底(内联) */
.page-首页 [style*="background:#f3f4f6"] {
    background: var(--xh-cover-bg) !important;
}
 
/* 卡片主边框 */
.page-首页 [style*="border:1px solid #e5e7eb"] {
    border-color: var(--xh-border) !important;
}
 
/* 卡片内部分隔线 */
.page-首页 [style*="border-top:1px solid #f3f4f6"] {
    border-top-color: var(--xh-border-light) !important;
}
.page-首页 [style*="border-bottom:1px solid #f3f4f6"] {
    border-bottom-color: var(--xh-border-light) !important;
}
 
/* 特色子卡片细边框 */
.page-首页 [style*="border:1px solid #f0f0f0"] {
    border-color: var(--xh-border-inner) !important;
}
 
/* 正文与标题文字 */
.page-首页 [style*="color:#111827"] {
    color: var(--xh-text-strong) !important;
}
.page-首页 [style*="color:#4b5563"] {
    color: var(--xh-text) !important;
}
.page-首页 [style*="color:#6b7280"] {
    color: var(--xh-text-soft) !important;
}
.page-首页 [style*="color:#9ca3af"] {
    color: var(--xh-text-faint) !important;
}
 
/* “主要信息”标题栏 */
.page-首页 [style*="background:#111827"] {
    background: var(--xh-header-bar-bg) !important;
}

2026年9月24日 (四) 00:04的版本

/* =====================================================
   星海市 Wiki — 全局样式
   ===================================================== */

/* -----------------------------------------------------
   0. 主题色变量
   ----------------------------------------------------- */
:root {
    --xh-card-bg:       #ffffff;
    --xh-card-bg-soft:  #fbfefe;
    --xh-cover-bg:      #f3f4f6;
    --xh-border:        #e5e7eb;
    --xh-border-light:  #f3f4f6;
    --xh-border-inner:  #f0f0f0;
    --xh-text-strong:   #111827;
    --xh-text:          #4b5563;
    --xh-text-soft:     #6b7280;
    --xh-text-faint:    #9ca3af;
    --xh-header-bar-bg: #111827;
    --xh-float-bg:      rgba(255, 255, 255, 0.92);
}

.skin-theme-clientpref-night {
    --xh-card-bg:       #1e242c;
    --xh-card-bg-soft:  #18232a;
    --xh-cover-bg:      #2a3038;
    --xh-border:        #2d3540;
    --xh-border-light:  #2d3540;
    --xh-border-inner:  #2d3540;
    --xh-text-strong:   #e8eaed;
    --xh-text:          #b8bfc8;
    --xh-text-soft:     #9aa0a6;
    --xh-text-faint:    #80868b;
    --xh-header-bar-bg: #2d3540;
    --xh-float-bg:      rgba(30, 36, 44, 0.94);
}

@media (prefers-color-scheme: dark) {
    .skin-theme-clientpref-os {
        --xh-card-bg:       #1e242c;
        --xh-card-bg-soft:  #18232a;
        --xh-cover-bg:      #2a3038;
        --xh-border:        #2d3540;
        --xh-border-light:  #2d3540;
        --xh-border-inner:  #2d3540;
        --xh-text-strong:   #e8eaed;
        --xh-text:          #b8bfc8;
        --xh-text-soft:     #9aa0a6;
        --xh-text-faint:    #80868b;
        --xh-header-bar-bg: #2d3540;
        --xh-float-bg:      rgba(30, 36, 44, 0.94);
    }
}

/* -----------------------------------------------------
   1. 首页标题与标签隐藏
   ----------------------------------------------------- */
.page-首页 #p-namespaces,
.page-首页 #p-associated-pages,
.page-首页 #p-views,
.page-首页 #p-cactions { display: none !important; }

.page-首页 #siteSub,
.page-首页 .siteSub { display: none !important; }

.page-首页 #firstHeading,
.page-首页 .firstHeading { display: none !important; }

/* -----------------------------------------------------
   2. 首页头图
   ----------------------------------------------------- */
.xh-banner {
    position: relative;
    height: 260px;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 1rem;
    background-image: url('https://www.xhcity.top/w/images/xhcity/9/9d/XHSBANNER.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #0f8f87;
}

.xh-banner-text {
    position: absolute;
    left: 2rem; bottom: 1.5rem; right: 2rem;
    color: white;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
}
.xh-banner-text .sub {
    font-size: 0.7rem; letter-spacing: 0.22em;
    text-transform: uppercase; opacity: 0.85;
    margin-bottom: 0.4rem;
}
.xh-banner-text .title {
    font-size: 2.2rem; font-weight: 800;
    line-height: 1.1; letter-spacing: -0.02em;
}
.xh-banner-text .desc {
    font-size: 0.88rem; opacity: 0.88; margin-top: 0.45rem;
}

/* -----------------------------------------------------
   3. 通用裁切图片框
   ----------------------------------------------------- */
.xh-cover-bg {
    overflow: hidden;
    border-radius: 4px;
    background-color: var(--xh-cover-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    line-height: 0;
}
.xh-cover-169 { aspect-ratio: 16 / 9; }
.xh-cover-32  { aspect-ratio: 3 / 2; }
.xh-cover-43  { aspect-ratio: 4 / 3; }
.xh-cover-11  { aspect-ratio: 1 / 1; }

.xh-cover-rp      { background-image: url('https://www.xhcity.top/w/images/xhcity/8/81/Rp_web.webp'); }
.xh-cover-terra   { background-image: url('https://www.xhcity.top/w/images/xhcity/b/bb/Terra_mod.webp'); }
.xh-cover-g1      { background-image: url('https://www.xhcity.top/w/images/xhcity/8/8c/G1.webp'); }
.xh-cover-g2      { background-image: url('https://www.xhcity.top/w/images/xhcity/d/d0/G2.webp'); }
.xh-cover-g3      { background-image: url('https://www.xhcity.top/w/images/xhcity/c/cd/G3.webp'); }
.xh-cover-g4      { background-image: url('https://www.xhcity.top/w/images/xhcity/3/36/G4.webp'); }
.xh-cover-transit { background-image: url('https://www.xhcity.top/w/images/xhcity/9/95/Transit_pic.webp'); }

/* -----------------------------------------------------
   4. 图标容器
   ----------------------------------------------------- */
.xh-icon {
    display: block;
    width: 56px;
    height: 56px;
    margin: 0 auto 0.45rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    line-height: 0;
}
.xh-icon-player   { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_player.svg'); }
.xh-icon-rules    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_rules.svg'); }
.xh-icon-approve  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_approve.svg'); }
.xh-icon-feedback { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_feedback.svg'); }
.xh-icon-road     { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_road.svg'); }
.xh-icon-station  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_station.svg'); }
.xh-icon-lines    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_lines.svg'); }
.xh-icon-construction { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_construction.svg'); }
.xh-icon-bids         { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_bids.svg'); }
.xh-icon-div          { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_div.svg'); }
.xh-icon-dmap    { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_dmap.svg'); }
.xh-icon-sysmap  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_sysmap.svg'); }
.xh-icon-custom  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_custom.svg'); }
.xh-icon-verify  { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_verify.svg'); }
.xh-icon-reset   { background-image: url('https://res.xhcity.top/other-resources/xhwiki/icon_reset.svg'); }

/* -----------------------------------------------------
   5. 按钮
   ----------------------------------------------------- */
.xh-random-btn {
    display: inline-block;
    padding: 0.55em 1.2em;
    background: #17b3a8;
    border-radius: 6px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 2px 0 #0e8a80, 0 3px 8px rgba(23, 179, 168, 0.28);
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    cursor: pointer;
}
.xh-random-btn:hover {
    background: #15a89e;
    box-shadow: 0 2px 0 #0e8a80, 0 4px 12px rgba(23, 179, 168, 0.4);
    color: #ffffff !important;
}
.xh-random-btn:active {
    transform: translateY(2px);
    box-shadow: 0 0 0 #0e8a80, 0 1px 3px rgba(23, 179, 168, 0.3);
}

/* -----------------------------------------------------
   6. 首页顶部操作区右上角悬浮
   ----------------------------------------------------- */
.page-首页 .page-actions {
    position: fixed !important;
    top: 0.75rem;
    right: 0.75rem;
    left: auto !important;
    bottom: auto !important;
    z-index: 9999;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 0.4rem;
    width: auto !important;
    padding: 0.3rem 0.55rem !important;
    margin: 0 !important;
    background: var(--xh-float-bg);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(4px);
}
.page-首页 .mw-body-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    border-bottom: none !important;
}

/* -----------------------------------------------------
   7. 线路表格
   ----------------------------------------------------- */
.wikitable-routes tr th,
.wikitable-routes tr td {
    font-size: 1rem !important;
    padding: 5px 10px 5px 0 !important;
}
.wikitable-routes tr td:first-child { border-right: 10px solid white; }
.wikitable-routes tr td:only-child { background-color: #f5f5f5 !important; }
.wikitable-routes tr th { background-color: #eee !important; }