跳转到内容

MediaWiki:Common.css:修订间差异

来自电棍ottowiki
棍牧典
棍牧典留言 | 贡献 (撤销棍牧典讨论)的修订版本5885
棍牧典
棍牧典留言 | 贡献 (撤销棍牧典讨论)的修订版本5874
 
(未显示同一用户的1个中间版本)
第1行: 第1行:
/* =========================================================
/* =========================================================
  * 自定义字体 —— @font-face
  * @font-face – 字体声明
  * ======================================================= */
  * ======================================================= */


第15行: 第15行:
@font-face {
@font-face {
   font-family: "WenKai";
   font-family: "WenKai";
   src: url("/resources/assets/LXGWWenKai-Regular.ttf") format("truetype");
   src: url("/resources/assets/LXGWWenKai-Regular.ttf")   format("truetype");
   font-weight: 400;
   font-weight: 400;
   font-style: normal;
   font-style: normal;
第52行: 第52行:


/* =========================================================
/* =========================================================
  * 正文阅读排版
  * 正文阅读排版
  * ======================================================= */
  * ======================================================= */


第58行: 第58行:
#mw-content-text,
#mw-content-text,
.mw-body-content {
.mw-body-content {
   font-family: "WenKai", "Merriweather", serif, "Songti SC", "Noto Serif CJK SC";
   font-family: "WenKai", "Merriweather", serif,
              "Songti SC", "Noto Serif CJK SC";
   font-size: 16px;
   font-size: 16px;
   line-height: 1.75;
   line-height: 1.75;
   color: var(--color-base, #fff);
   color: var(--color-base);
   word-break: break-word;
   word-break: break-word;
   overflow-wrap: break-word;      /* 旧 Safari / Edge */
   overflow-wrap: break-word;      /* 旧 Safari / Edge */
第68行: 第69行:


/* =========================================================
/* =========================================================
  * 站点页眉 / LOGO(Vector 皮肤)
  * 站点页眉 / LOGO(Vector 皮肤)
  * ======================================================= */
  * ======================================================= */


.vector-page-titlebar {
.vector-page-titlebar {
  position: relative;
    position: relative;
  display: flex;
    display: flex;
  flex-wrap: nowrap;
    flex-wrap: nowrap;
  justify-content: flex-end;
    justify-content: flex-end;
  align-items: center;
    align-items: center;
  background-color: rgba(var(--background-color-rgb), 0.9); /* 会被后文 CSS 变量覆盖 */
    background-color: rgba(var(--background-color-rgb),0.9);
  border-radius: 4px 4px 0 0;
    border-radius: 4px 4px 0 0;
  padding: 12px 14px;
    padding-top: 12px;
    padding-left: 14px;
    padding-bottom: 12px;
}
}
.vector-sticky-pinned-container {
.vector-sticky-pinned-container {
  overflow: hidden auto;
    overflow: hidden auto;
  position: sticky;
    position: sticky;
  margin: 24px 0 0 12px;
    margin-top: 24px;
  box-sizing: border-box;
    margin-left: 12px;
  max-height: calc(100vh - 48px);
    box-sizing: border-box;
  padding-top: 16px;
    max-height: calc(100vh - (24px * 2));
  background-color: var(--background-color-base);
    padding-top: 16px;
  border-radius: 5px;
    background-color: var(--background-color-base);
    border-radius: 5px;
}
}
.vector-pinned-container {
.vector-pinned-container {
  background-color: var(--background-color-base, #fff);
    background-color: var(--background-color-base,#fff);
  padding: 0 16px;
    padding: 0 16px;
    margin-bottom: 0em;
}
}
.skin-vector .mw-header {
.skin-vector .mw-header {
   background-image: url("https://wiki.ottohub.cn/images/a/a9/Th20_Front00.png");
   background-image: url("https://wiki.ottohub.cn/images/a/a9/Th20_Front00.png");
第103行: 第106行:
   background-size: cover;
   background-size: cover;
}
}
.mw-page-container {
.mw-page-container {
   background-image: url("https://wiki.ottohub.cn/images/b/b8/Th20_eff_switchbg.png");
   background-image: url("https://wiki.ottohub.cn/images/b/b8/Th20_eff_switchbg.png");
}
}
 
#bodyContent{
#bodyContent {
background-color: rgba(var(--background-color-rgb),0.9);
  background-color: rgba(var(--background-color-rgb), 0.9);
padding-right:16px;
  padding: 16px;
padding-left:16px;
  padding-bottom: 2px;
        padding-top:16px;
  border-radius: 0 0 4px 4px;
        padding-bottom:2px;
border-radius: 0 0 4px 4px;
}
}
 
.vector-page-toolbar{
.vector-page-toolbar {
min-height: 5px;
  min-height: 5px;
background-color: rgba(var(--background-color-rgb),0.9);
  background-color: rgba(var(--background-color-rgb), 0.9);
padding-right:12px;
  padding: 0 12px;
padding-left:12px;
}
}
 
.vector-pinned-container,.vector-column-end{
.vector-pinned-container,
border-radius: 5px;
.vector-column-end {
  border-radius: 5px;
}
}
#vector-main-menu-pinned-container {
#vector-main-menu-pinned-container {
  right: 12px;
    right: 12px;
  padding: 16px 0 8px;
    padding-top: 16px;
  background-color: var(--background-color-base);
    padding-bottom: 8px;
    background-color:var(--background-color-base);
}
}
.skin-vector .mw-logo {
.skin-vector .mw-logo {
   background-color: rgba(255, 255, 255, 0.60);
   background-color: rgba(255, 255, 255, 0.60);
第145行: 第145行:
}
}


.cn-notice,
.cn-notice {
  background-color: rgba(var(--background-color-rgb), 0.80);
  border-radius: 4px;
}
 
.cn-contents {
.cn-contents {
   background-color: rgba(var(--background-color-rgb), 0.80);
   background-color: rgba(var(--background-color-rgb), 0.80);
第152行: 第156行:


/* =========================================================
/* =========================================================
  * 搜索框(Vector & Monobook)
  * 搜索框(Vector & Monobook)
  * ======================================================= */
  * ======================================================= */


第164行: 第168行:
}
}


/* 占位符样式 */
#searchInput::placeholder,
#searchInput::placeholder,
.vector-search-box-input::placeholder {
.vector-search-box-input::placeholder {
第171行: 第176行:


/* =========================================================
/* =========================================================
  * 编辑器(WikiEditor / CodeMirror)
  * 编辑器(WikiEditor / CodeMirror)
  * ======================================================= */
  * ======================================================= */


第178行: 第183行:
   font-size: 14px;
   font-size: 14px;
   line-height: 1.6;
   line-height: 1.6;
   color: var(--color-base, #1f1f1f);
   color: var(--color-base,#1f1f1f);
   background-color: var(--background-color-neutral-subtle, #f9f9f9);
   background-color: var(--background-color-neutral-subtle,#f9f9f9);
   border: 1px solid #ccc;
   border: 1px solid #ccc;
   padding: 10px;
   padding: 10px;
第190行: 第195行:


/* =========================================================
/* =========================================================
  * <pre> / <code> / .mw-code
  * <pre> / <code> / .mw-code
  * ======================================================= */
  * ======================================================= */


第198行: 第203行:
   font-family: "JetBrains Mono", monospace;
   font-family: "JetBrains Mono", monospace;
   font-size: 0.95em;
   font-size: 0.95em;
   background-color: var(--background-color-neutral-subtle, #f9f9f9);
   background-color: var(--background-color-neutral-subtle,#f9f9f9);
   color: var(--color-emphasized, #222);
   color: var(--color-emphasized,#222);
   padding: 4px 6px;
   padding: 4px 6px;
   border-radius: 4px;
   border-radius: 4px;
第206行: 第211行:


/* =========================================================
/* =========================================================
  * 分类栏、注释脚注
  * 分类栏、注释脚注
  * ======================================================= */
  * ======================================================= */


第216行: 第221行:


/* =========================================================
/* =========================================================
  * 加载动画
  * 加载动画
  * ======================================================= */
  * ======================================================= */


第225行: 第230行:


@keyframes fadePulse {
@keyframes fadePulse {
   0% { opacity: 1; }
   0%   { opacity: 1; }
   50%{ opacity: 0.5; }
   50% { opacity: 0.5; }
100%{ opacity: 1; }
  100% { opacity: 1; }
}
}
 
/* 全局细线滚动条样式 */
/* =========================================================
全局细线滚动条样式
* ======================================================= */
 
::-webkit-scrollbar {
::-webkit-scrollbar {
   width: 6px;
   width: 6px;     /* 纵向滚动条宽度 */
   height: 6px;
   height: 6px;     /* 横向滚动条高度 */
}
}
::-webkit-scrollbar-thumb {
::-webkit-scrollbar-thumb {
   background: rgba(0, 0, 0, 0.2);
   background: rgba(0,0,0,0.2); /* 滚动条滑块颜色 */
   border-radius: 3px;
   border-radius: 3px;         /* 滚动条滑块圆角 */
}
}
::-webkit-scrollbar-track {
::-webkit-scrollbar-track {
   background: transparent;
   background: transparent;     /* 滚动条轨道背景 */
}
}
/* Firefox 支持 */
/* Firefox 支持 */
* {
* {
   scrollbar-width: thin;
   scrollbar-width: thin;             /* 滚动条宽度 */
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
   scrollbar-color: rgba(0,0,0,0.2) transparent; /* 滚动条颜色 */
}
 
/* =========================================================
*  ✨ 动画增强
* ======================================================= */
 
/* 页眉一次性滑入 */
@keyframes slideDown {
  0%{transform:translateY(-24px);opacity:0;}
100%{transform:translateY(0);opacity:1;}
}
.vector-page-titlebar { animation: slideDown .6s cubic-bezier(.25,.8,.25,1) both; }
 
/* 侧栏一次性淡入平移 */
@keyframes fadeSlide{
  0%{transform:translateX(-10px);opacity:0;}
100%{transform:translateX(0);opacity:1;}
}
.vector-sticky-pinned-container{ animation: fadeSlide .5s ease-out both; }
 
/* LOGO 悬停小摇 */
@keyframes waggle{
  0%{transform:rotate(0deg);}
  20%{transform:rotate(6deg);}
  50%{transform:rotate(-6deg);}
  80%{transform:rotate(4deg);}
100%{transform:rotate(0deg);}
}
.skin-vector .mw-logo{ transition:transform .25s ease; }
.skin-vector .mw-logo:hover{ animation:waggle .8s ease-in-out; }
 
/* 链接下划线滑出 */
a{
  position:relative;
  color:var(--color-link,#7aa8ff);
  text-decoration:none;
  transition:color .2s;
}
a::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
   transition:transform .25s;
}
a:hover::after{ transform:scaleX(1); }
 
/* 滚动条滑块呼吸(hover) */
@keyframes thumbPulse{
  from{background:rgba(0,0,0,.2);}
  to  {background:rgba(0,0,0,.35);}
}
::-webkit-scrollbar-thumb:hover{ animation:thumbPulse 1.2s infinite alternate; }
*{ scrollbar-color:rgba(0,0,0,.25) transparent; } /* Firefox 同步 */
 
/* =========================================================
*  🌙 默认降亮(轻暗),以及深暗模式
* ======================================================= */
 
/* 设定全站背景透明度变量,默认轻暗 0.72 */
:root{ --dim-bg-alpha: .72; }
 
/* 会受透明度影响的主要容器 */
.vector-page-titlebar,
#bodyContent,
.vector-page-toolbar,
.vector-sticky-pinned-container,
.cn-notice,
.cn-contents{
  background-color:rgba(var(--background-color-rgb), var(--dim-bg-alpha))!important;
}
 
/* 字/链接颜色轻柔一点 */
body,#mw-content-text,.mw-body-content{ color:rgba(255,255,255,.85); }
a{ color:#7aa8ff; }
 
/* 滚动条颜色也同步柔和 */
::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.25); }
*{ scrollbar-color:rgba(255,255,255,.25) transparent; }
 
/* 深暗模式(Alt+L 开关) */
body.is-dimmed .vector-page-titlebar,
body.is-dimmed #bodyContent,
body.is-dimmed .vector-page-toolbar,
body.is-dimmed .vector-sticky-pinned-container,
body.is-dimmed .cn-notice,
body.is-dimmed .cn-contents{
  background-color:rgba(var(--background-color-rgb), .60)!important;
}
}
body.is-dimmed{ color:rgba(255,255,255,.78); }
body.is-dimmed a{ color:#8faeff; }

2025年5月18日 (日) 14:46的最新版本

/* =========================================================
 * @font-face – 字体声明
 * ======================================================= */

/* FOT-Rodin Pro(站点 Logo / 标题)*/
@font-face {
  font-family: "FOT-Rodin Pro";
  src: url("/resources/assets/FOT-Rodin Pro DB.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* 霞鹜文楷 – 正文字体(中文)*/
@font-face {
  font-family: "WenKai";
  src: url("/resources/assets/LXGWWenKai-Regular.ttf")   format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Merriweather – 英文衬线 */
@font-face {
  font-family: "Merriweather";
  src: url("/resources/assets/Merriweather-Regular.woff2") format("woff2"),
       url("/resources/assets/Merriweather-Regular.ttf")   format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* JetBrains Mono – 等宽英文 */
@font-face {
  font-family: "JetBrains Mono";
  src: url("/resources/assets/JetBrainsMono-Regular.woff2") format("woff2"),
       url("/resources/assets/JetBrainsMono-Regular.ttf")   format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* 霞鹜文楷 Mono – 等宽中文 */
@font-face {
  font-family: "WenKai Mono";
  src: url("/resources/assets/LXGWWenKaiMono-Regular.woff2") format("woff2"),
       url("/resources/assets/LXGWWenKaiMono-Regular.ttf")   format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
 * 正文阅读排版
 * ======================================================= */

body,
#mw-content-text,
.mw-body-content {
  font-family: "WenKai", "Merriweather", serif,
               "Songti SC", "Noto Serif CJK SC";
  font-size: 16px;
  line-height: 1.75;
  color: var(--color-base);
  word-break: break-word;
  overflow-wrap: break-word;      /* 旧 Safari / Edge */
  text-rendering: optimizeLegibility;
}

/* =========================================================
 * 站点页眉 / LOGO(Vector 皮肤)
 * ======================================================= */


.vector-page-titlebar {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    background-color: rgba(var(--background-color-rgb),0.9);
    border-radius: 4px 4px 0 0;
    padding-top: 12px;
    padding-left: 14px;
    padding-bottom: 12px;
}
.vector-sticky-pinned-container {
    overflow: hidden auto;
    position: sticky;
    margin-top: 24px;
    margin-left: 12px;
    box-sizing: border-box;
    max-height: calc(100vh - (24px * 2));
    padding-top: 16px;
    background-color: var(--background-color-base);
    border-radius: 5px;
}
.vector-pinned-container {
    background-color: var(--background-color-base,#fff);
    padding: 0 16px;
    margin-bottom: 0em;
}
.skin-vector .mw-header {
  background-image: url("https://wiki.ottohub.cn/images/a/a9/Th20_Front00.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.mw-page-container {
  background-image: url("https://wiki.ottohub.cn/images/b/b8/Th20_eff_switchbg.png");
}
#bodyContent{
	background-color: rgba(var(--background-color-rgb),0.9);
	padding-right:16px;
	padding-left:16px;
        padding-top:16px;
        padding-bottom:2px;
	border-radius: 0 0 4px 4px;
}
.vector-page-toolbar{
	min-height: 5px;
	background-color: rgba(var(--background-color-rgb),0.9);
	padding-right:12px;
	padding-left:12px;
}
.vector-pinned-container,.vector-column-end{
	border-radius: 5px;
}
#vector-main-menu-pinned-container {
    right: 12px;
    padding-top: 16px;
    padding-bottom: 8px;
    background-color:var(--background-color-base);
}
.skin-vector .mw-logo {
  background-color: rgba(255, 255, 255, 0.60);
  border-radius: 4px;
  padding: 0 20px 0 10px;
}

.skin-vector .mw-body-header,
#p-logo-text,
.vector-header {
  font-family: "FOT-Rodin Pro", "WenKai", serif;
  font-weight: bold;
}

.cn-notice {
  background-color: rgba(var(--background-color-rgb), 0.80);
  border-radius: 4px;
}

.cn-contents {
  background-color: rgba(var(--background-color-rgb), 0.80);
  border-radius: 4px;
}

/* =========================================================
 * 搜索框(Vector & Monobook)
 * ======================================================= */

input[type="search"],
input[type="text"],
.vector-search-box-input,
#searchInput {
  font-family: "WenKai", serif;   /* 只用一种字体避免中英割裂 */
  font-size: 14px;                /* 不要太大,防止高度被裁 */
  line-height: 1;                 /* 光标垂直居中 */
}

/* 占位符样式 */
#searchInput::placeholder,
.vector-search-box-input::placeholder {
  font-family: "WenKai", serif;
  color: #999;
}

/* =========================================================
 * 编辑器(WikiEditor / CodeMirror)
 * ======================================================= */

.wikiEditor-ui {
  font-family: "WenKai Mono", "JetBrains Mono", monospace !important;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-base,#1f1f1f);
  background-color: var(--background-color-neutral-subtle,#f9f9f9);
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 6px;
  overflow: auto;
  tab-size: 4;
  white-space: pre;
  font-variant-ligatures: none;
}

/* =========================================================
 * <pre> / <code> / .mw-code
 * ======================================================= */

pre,
code,
.mw-code {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.95em;
  background-color: var(--background-color-neutral-subtle,#f9f9f9);
  color: var(--color-emphasized,#222);
  padding: 4px 6px;
  border-radius: 4px;
  overflow-x: auto;
}

/* =========================================================
 * 分类栏、注释脚注
 * ======================================================= */

.catlinks,
.mw-references {
  font-size: 0.9em;
  opacity: 0.85;
}

/* =========================================================
 * 加载动画
 * ======================================================= */

#loadingIndicator img {
  animation: fadePulse 1s ease-in-out infinite;
  will-change: opacity;
}

@keyframes fadePulse {
  0%   { opacity: 1; }
  50%  { opacity: 0.5; }
  100% { opacity: 1; }
}
/* 全局细线滚动条样式 */
::-webkit-scrollbar {
  width: 6px;      /* 纵向滚动条宽度 */
  height: 6px;     /* 横向滚动条高度 */
}

::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2); /* 滚动条滑块颜色 */
  border-radius: 3px;          /* 滚动条滑块圆角 */
}

::-webkit-scrollbar-track {
  background: transparent;      /* 滚动条轨道背景 */
}

/* Firefox 支持 */
* {
  scrollbar-width: thin;              /* 滚动条宽度 */
  scrollbar-color: rgba(0,0,0,0.2) transparent; /* 滚动条颜色 */
}