MediaWiki:Timeless.css

来自Mindustry中文wiki
绿豆留言 | 贡献2026年1月8日 (四) 19:00的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* MediaWiki:Timeless.css (Mindustry green + clean nav) */

  .skin-timeless {
    --mdtBrand: #00af89;
    --mdtBrand2: #00cfa0;
    --mdtHeaderFg: #fff;

    --mdtText: rgba(0, 0, 0, 0.87);
    --mdtTextMut: rgba(0, 0, 0, 0.55);
    --mdtHover: rgba(0, 0, 0, 0.06);

    --mdtSidebarW: 16rem;
    --mdtShadow:
      0 0.2rem 0.5rem rgba(0, 0, 0, 0.08),
      0 0 0.05rem rgba(0, 0, 0, 0.12);
  }

  /* ===== Header ===== */
  .skin-timeless #mw-header-container {
    background: var(--mdtBrand) !important;
    color: var(--mdtHeaderFg);
    box-shadow: var(--mdtShadow);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  }

  .skin-timeless #mw-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: nowrap;
  }

  .skin-timeless #mw-header .visualClear {
    display: none;
  }

  /* Site title */
  .skin-timeless #p-logo-text {
    order: 1;
    flex: 0 0 auto;
    min-width: 0;
    position: static !important;
    text-align: left !important;
  }

  .skin-timeless #p-logo-text #p-banner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.1;
  }

  /* Move logo from sidebar to header */
  .skin-timeless #mw-site-navigation #p-logo {
    display: none !important;
  }

  .skin-timeless #p-logo-text #p-banner::before {
    content: '';
    width: 32px;
    height: 32px;
    background-image: url(/resources/assets/logo.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
  }

  /* Search (small + dark) */
  .skin-timeless #p-search {
    order: 2;
    margin-left: auto;
    flex: 0 1 13rem;
    min-width: 11rem;
    max-width: 22vw;
  }

  .skin-timeless #p-search h3 {
    display: none;
  }

  .skin-timeless #p-search form {
    margin: 0;
  }

  .skin-timeless #mw-header-container #simpleSearch {
    display: flex;
    align-items: stretch;
    height: 2.2rem;
    width: 100%;
    background: rgba(0, 0, 0, 0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 0.35rem !important;
    box-shadow: none !important;
    overflow: hidden;
  }

  .skin-timeless #mw-header-container #simpleSearch:focus-within {
    background: rgba(0, 0, 0, 0.36) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
  }

  .skin-timeless #mw-header-container #searchInput-container {
    flex: 1 1 auto;
  }

  .skin-timeless #mw-header-container #searchInput {
    height: 100% !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--mdtHeaderFg) !important;
    padding: 0.25rem 0.55rem !important;
  }

  .skin-timeless #mw-header-container #searchInput::placeholder {
    color: rgba(255, 255, 255, 0.75) !important;
  }

  /* Hide submit buttons (Enter to search) */
  .skin-timeless #mw-header-container #mw-searchButton,
  .skin-timeless #mw-header-container #searchButton {
    display: none !important;
  }

  /* Account */
  .skin-timeless #user-tools {
    order: 3;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .skin-timeless #mw-header a,
  .skin-timeless #mw-header a:visited {
    color: var(--mdtHeaderFg);
  }

  .skin-timeless #mw-header .dropdown {
    color: rgba(0, 0, 0, 0.87);
  }

  .skin-timeless #mw-header .dropdown a,
  .skin-timeless #mw-header .dropdown a:visited {
    color: #0645ad;
  }

  /* Color bar */
  .skin-timeless #mw-header-hack,
  .skin-timeless #mw-header-hack .color-left,
  .skin-timeless #mw-header-hack .color-middle,
  .skin-timeless #mw-header-hack .color-right {
    background: var(--mdtBrand) !important;
  }

  /* ===== Sidebars ===== */
  .skin-timeless #mw-site-navigation,
  .skin-timeless #mw-related-navigation {
    width: var(--mdtSidebarW) !important;
    flex: 0 0 var(--mdtSidebarW) !important;
  }

  .skin-timeless #mw-site-navigation .sidebar-chunk,
  .skin-timeless #mw-related-navigation .sidebar-chunk {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.25rem 0 !important;
    margin: 0 0 1rem !important;
  }

  .skin-timeless #mw-site-navigation .sidebar-chunk > h2,
  .skin-timeless #mw-related-navigation .sidebar-chunk > h2 {
    margin: 0.25rem 0.75rem 0.5rem;
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    color: var(--mdtTextMut);
  }

  .skin-timeless #mw-site-navigation .mw-portlet-body ul,
  .skin-timeless #mw-related-navigation .mw-portlet-body ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .skin-timeless #mw-site-navigation .mw-portlet-body a,
  .skin-timeless #mw-related-navigation .mw-portlet-body a {
    display: block;
    padding: 0.38rem 0.85rem;
    border-radius: 10px;
    text-decoration: none;
    color: var(--mdtText);
    box-shadow: inset 3px 0 0 transparent;
  }

  .skin-timeless #mw-site-navigation .mw-portlet-body a:hover,
  .skin-timeless #mw-related-navigation .mw-portlet-body a:hover {
    background: var(--mdtHover);
    box-shadow: inset 3px 0 0 var(--mdtBrand2);
  }

  /* Sticky + scroll */
  @media (min-width: 1000px) {
    .skin-timeless #mw-site-navigation,
    .skin-timeless #mw-related-navigation {
      position: sticky;
      top: 4rem;
      align-self: flex-start;
      max-height: calc(100vh - 4rem);
      overflow-y: auto;
    }
  }

  /* Thin scrollbar */
  .skin-timeless #mw-site-navigation,
  .skin-timeless #mw-related-navigation {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 207, 160, 0.85) transparent;
  }

  .skin-timeless #mw-site-navigation::-webkit-scrollbar,
  .skin-timeless #mw-related-navigation::-webkit-scrollbar {
    width: 6px;
  }

  .skin-timeless #mw-site-navigation::-webkit-scrollbar-track,
  .skin-timeless #mw-related-navigation::-webkit-scrollbar-track {
    background: transparent;
  }

  .skin-timeless #mw-site-navigation::-webkit-scrollbar-thumb,
  .skin-timeless #mw-related-navigation::-webkit-scrollbar-thumb {
    background: rgba(0, 207, 160, 0.85);
    border-radius: 999px;
  }

  /* ===== Collapsible nav (left) ===== */
  .skin-timeless #mw-site-navigation li.mdtNavGroup {
    display: grid;
    grid-template-columns: 1fr 2rem;
    align-items: center;
    min-width: 0;
  }

  .skin-timeless #mw-site-navigation .mdtNavToggle {
    width: 2rem;
    height: 2rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--mdtTextMut);
    border-radius: 10px;
  }

  .skin-timeless #mw-site-navigation .mdtNavToggle:hover {
    background: var(--mdtHover);
  }

  .skin-timeless #mw-site-navigation .mdtNavToggle::before {
    content: '\25B8';
    display: block;
    font-size: 18px;
    line-height: 1;
    transition: transform 0.15s ease;
  }

  .skin-timeless #mw-site-navigation li.mdtNavOpen >
  .mdtNavToggle::before {
    transform: rotate(90deg);
  }

  .skin-timeless #mw-site-navigation .mdtNavSublist {
    grid-column: 1 / -1;
    list-style: none;
    margin: 0.15rem 0 0.4rem;
    padding: 0 0 0 0.85rem;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
    display: none;
  }

  .skin-timeless #mw-site-navigation li.mdtNavOpen >
  .mdtNavSublist {
    display: block;
  }

  .skin-timeless #mw-site-navigation .mdtNavSublist a {
    font-size: 0.92em;
    padding: 0.32rem 0.85rem;
  }

  .skin-timeless #mw-site-navigation a.mdtNavActive {
    color: var(--mdtBrand) !important;
    background: rgba(0, 175, 137, 0.12) !important;
    box-shadow: inset 3px 0 0 var(--mdtBrand) !important;
  }

  /* Page title underline */
  .skin-timeless .mw-body h1.firstHeading {
    border-bottom-color: var(--mdtBrand) !important;
  }

  /* Mobile */
  @media (max-width: 720px) {
    .skin-timeless #mw-header {
      flex-wrap: wrap;
    }

    .skin-timeless #p-search {
      flex: 1 1 100%;
      max-width: none;
      margin-left: 0;
    }
  }
/* Fix header: prevent title wrapping + keep logo size */
  .skin-timeless #p-logo-text{
    max-width:none !important;
  }

  .skin-timeless #p-logo-text #p-banner{
    white-space:nowrap;
  }

  .skin-timeless #p-logo-text #p-banner::before{
    display:block;
    flex:0 0 32px;
  }

  /* 手机端允许换行 */
  @media (max-width:720px){
    .skin-timeless #p-logo-text #p-banner{ white-space:normal; }
  }