MediaWiki:Common.css
MediaWiki interface page
More actions
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* 这里放置的CSS将应用于所有皮肤 */
/* font-online */
@import url('https://fonts.geekzu.org/css2?family=Comfortaa:wght@300..700&family=Inconsolata:wght@400;700&family=Noto+Sans+SC:wght@100;300;400;500;700;900&display=swap');
/* Material Design Icons 字体 */
@font-face {
font-family: 'Material Design Icons';
src: url('https://cdn.jsdelivr.net/npm/@mdi/font@7.4.47/fonts/materialdesignicons-webfont.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
.md-md {
font-family: 'Material Design Icons';
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* extension 图标 */
.md-md::before {
content: '\F0431';
}
/* 信息框图片位置随设备调整 */
@media all and ( min-width: 720px ) {
.toppic {
display: none;
}
}
@media all and ( max-width: 720px ) {
.sidepic {
display: none;
}
}
/* 防止pre模块溢出使得文本不可读*/
pre { overflow-x: auto; font-family: 'Inconsolata', monospace !important; }
code, pre { word-break: break-word; font-family: 'Inconsolata', monospace !important; }
/* 语法高亮扩展 */
.mw-highlight pre {
font-family: 'Inconsolata', monospace !important;
}
/* Default styling for Navbar template */
.navbar {
display: inline;
font-weight: normal;
}
.navbar ul {
display: inline;
white-space: nowrap;
}
.navbar li {
word-spacing: -0.125em;
}
.navbar.mini li abbr[title] {
font-variant: small-caps;
border-bottom: none;
text-decoration: none;
cursor: inherit;
}
/* Navbar styling when nested in navbox */
.navbox .navbar {
display: block;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
width: 6em;
}
.navbox { /* Navbox container style */
width: 100%;
margin: auto;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox th,
.navbox-title,
.navbox-abovebelow {
text-align: center; /* Title and above/below styles */
padding-left: 1em;
padding-right: 1em;
}
th.navbox-group { /* Group style */
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background: #FDFDFD; /* Background color */
}
.navbox-list {
border-color: #FDFDFD; /* Must match background color */
}
.navbox th,
.navbox-title {
background: #9EDBF7; /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
background: #AEE0F7; /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background: #C5E8FB; /* Level 3 color */
}
.navbox-even {
background: #F7F7F7; /* Even row striping */
}
.navbox-odd {
background: transparent; /* Odd row striping */
}
table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */
margin-top: -1px; /* (doesn't work for IE6, but that's okay) */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0; /* Adjust hlist padding in navboxes */
}
.navbox .hlist dd,
.navbox .hlist dt,
.navbox .hlist li {
white-space: nowrap; /* Nowrap list items in navboxes */
}
.navbox .hlist dd dl,
.navbox .hlist dt dl,
.navbox .hlist li ol,
.navbox .hlist li ul {
white-space: normal; /* But allow parent list items to be wrapped */
}
ol + table.navbox,
ul + table.navbox {
margin-top: 0.5em; /* Prevent lists from clinging to navboxes */
}
/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {
/* @noflip */
float: right;
font-weight: normal;
/* @noflip */
margin-left: 0.5em;
/* @noflip */
text-align: right;
width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
width: 6em;
}
/* Default styling for Infobox template */
.infobox-title {
background: #53D6FF; /* Level 1 color */
}
.infobox-above,
.infobox-below {
background: #9EDBF7; /* Level 2 color */
}
.infobox-header {
background: #AEE0F7; /* Level 3 color */
}
.infobox-label {
background: #C5E8FB; /* Level 4 color */
}
/*隐藏首页标题*/
.page-首页 .mw-side,
.page-首页 .firstHeading,
.page-首页 #siteSub {display:none;}
.page-首页 #ca-edit {display:none;}
.page-首页 #ca-ve-edit {display:none;}
.page-首页 #ca-history {display:none;}
.page-首页 #ca-talk {display:none;}
.page-首页 #ca-delete {display:none;}
.page-首页 #ca-move {display:none;}
.page-首页 #ca-protect {display:none;}
/* 将logo换成svg */
.mw-logo-wordmark {
height: 55px;
font-size: 0 !important;
background: url('/extensions/Rizwiki_logo_animated.svg') left no-repeat;
background-size: contain;
cursor: pointer;
transition: transform 0.1s;
}
.mw-logo-wordmark:active {
transform: scale(0.95);
}
/* Font-local */
@font-face {
font-family: 'Source-Local';
src:
local('思源黑体'),
local('Source Han Sans CN'),
url('/skins/Citizen/SourceHanSansCN-VF.otf');
}
@font-face {
font-family: 'Comfortaa-Local';
src:
local('Comfortaa'),
url('/skins/Citizen/Comfortaa[wght].ttf');
}
body {
font-family: 'Comfortaa', 'Comfortaa-Local', 'Noto Sans SC', 'Source-Local', var(--font-family-base), sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* fix */
.infobox {
padding-left: 0.7rem;
}
.songinfo-details .songinfo-details-badge {
display: inline-flex;
max-width: 100%;
gap: 0.2em;
vertical-align: middle;
justify-content: center;
align-items: center;
}
.songinfo-details .songinfo-details-badge span[style*="border-radius:1em"] {
display: inline-flex !important;
max-width: 100%;
box-sizing: border-box;
margin: 0.1em 0 !important;
padding: 0 0.45em !important;
font-size: clamp(0.9em, 1.2em, 3vw);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.4;
justify-content: center;
align-items: center;
}
@media (max-width: 510px) {
.infobox {
float: none;
margin-left: 0;
margin-bottom: 85px;
padding-left: 0px;
order: 0;
}
.citizen-section,
.mw-content-ltr {
display: flex;
flex-direction: column;
}
.citizen-section > p,
.mw-content-ltr > p {
width: 100%;
margin-top: 20px;
}
}
.home-card--button,
#home-nav .home-card {
position: relative;
overflow: hidden;
display: block;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.home-card__foreground {
height: 100%;
position: absolute;
left: 0px;
color: white;
line-height: 17px;
font-weight: 500;
user-select: none;
pointer-events: none;
z-index: 2;
padding: 16px;
text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.home-card__background {
position: relative;
width: 100%;
height: 100%;
}
.home-card__background img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1);
transform-origin: center;
will-change: transform;
backface-visibility: hidden;
}
.home-card__background::before {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
content: "";
background: linear-gradient(135deg,
rgba(0,0,0,1) 0%,
rgba(0,0,0,0.5) 50%,
transparent 100%);
pointer-events: none;
z-index: 1;
transition: opacity 0.3s;
}
.home-card--button:hover,
#home-nav .home-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.home-card--button:hover .home-card__background img,
#home-nav .home-card:hover .home-card__background img {
transform: scale(1.07);
}
.home-card--button:hover .home-card__background::before,
#home-nav .home-card:hover .home-card__background::before {
opacity: 0.9;
}
.citizen-page-heading {
display: flex;
flex-direction: column;
gap: 0.1rem;
}
.firstHeading-container {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 0.1rem;
}
.title-shortlink-container {
width: 100%;
order: 1;
}
#siteSub {
order: 2;
}
table:has(math) {
display: block;
border: 0;
max-width: 100%;
overflow-x: auto;
}
/*
.navbox:not(.mw-collapsed) {
display: inline-block;
max-width: 100%;
overflow-x: auto;
white-space: nowrap;
}
*/
.navbox-inner:not(.mw-collapsed) {
display: inline-block;
white-space: nowrap;
}
.navbox-subgroup:not(.mw-collapsed) {
white-space: normal;
}
/* --- 绿豆诡计播放器 --- */
#riz-player {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 114514 !important;
background: var(--rp-c1);
color: #fff;
border-radius: 50px;
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
display: flex;
align-items: center;
padding: 5px;
transition: bottom 0.3s ease, width 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.3s;
overflow: hidden;
font-family: "Comfortaa", sans-serif;
height: 70px;
width: 70px;
user-select: none;
box-sizing: border-box;
}
/* 展开状态 */
#riz-player.riz-player-expanded {
width: 360px;
border-radius: 35px;
padding-right: 20px;
}
/* 封面 */
.rp-cover {
width: 58px;
height: 58px;
border-radius: 50%;
overflow: hidden;
position: relative;
flex-shrink: 0;
cursor: pointer;
border: 4px solid var(--rp-c2);
box-sizing: border-box;
animation: rp-rotate 10s linear infinite;
animation-play-state: paused;
background: #fff;
z-index: 20;
display: flex;
align-items: center;
justify-content: center;
}
.rp-cover img,
.rp-cover-img {
width: 100% !important;
height: 100% !important;
object-fit: cover;
display: block;
border-radius: 50%;
margin: 0;
padding: 0;
}
@keyframes rp-rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
#riz-player.playing .rp-cover {
animation-play-state: running;
}
.rp-btn-toggle {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0,0,0,0.4);
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
transition: opacity 0.2s;
z-index: 10;
}
.rp-cover:hover .rp-btn-toggle {
opacity: 1;
}
.rp-icon-play {
width: 0; height: 0;
border-style: solid;
border-width: 6px 0 6px 10px;
border-color: transparent transparent transparent #fff;
margin-left: 2px;
}
.rp-icon-pause {
width: 10px; height: 12px;
border-left: 3px solid #fff;
border-right: 3px solid #fff;
display: none;
}
#riz-player.playing .rp-icon-pause { display: block; }
#riz-player.playing .rp-icon-play { display: none; }
/* 信息区域 */
.rp-info {
margin-left: 12px;
flex-grow: 1;
opacity: 0;
transition: opacity 0.2s 0.1s;
display: flex;
flex-direction: column;
justify-content: space-evenly;
width: 0;
height: 100%;
overflow: hidden;
padding: 2px 0;
}
#riz-player.riz-player-expanded .rp-info {
opacity: 1;
width: 260px;
}
.rp-top-row {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2px;
position: relative;
z-index: 5;
}
.rp-text-info {
flex-grow: 1;
overflow: hidden;
margin-right: 10px;
display: flex;
flex-direction: column;
justify-content: center;
pointer-events: none;
}
.rp-title {
font-size: 15px;
font-weight: bold;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.2;
}
.rp-artist {
font-size: 11px;
opacity: 0.85;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.2;
}
.rp-side-ctrl {
width: 32px;
height: 32px;
flex-shrink: 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(255,255,255,0.2);
transition: background 0.2s;
pointer-events: auto;
z-index: 30;
}
.rp-side-ctrl:hover {
background: rgba(255,255,255,0.4);
}
.rp-side-play {
width: 12px;
height: 14px;
box-sizing: border-box;
border-style: solid;
border-width: 7px 0 7px 12px;
border-color: transparent transparent transparent #fff;
margin-left: 3px;
}
.rp-side-pause {
width: 12px;
height: 14px;
border-left: 4px solid #fff;
border-right: 4px solid #fff;
display: none;
}
#riz-player.playing .rp-side-play { display: none; }
#riz-player.playing .rp-side-pause { display: block; }
/* 进度条 */
.rp-progress-wrap {
height: 16px;
width: auto;
cursor: pointer;
display: flex;
align-items: center;
position: relative;
margin: 0 8px;
z-index: 100;
}
.rp-progress-bar {
width: 100%;
height: 4px;
background: rgba(255,255,255,0.3);
border-radius: 2px;
position: relative;
pointer-events: none;
}
.rp-progress-current {
width: 0%;
height: 100%;
background: var(--rp-c2);
border-radius: 2px;
position: absolute;
top: 0; left: 0;
}
.rp-progress-handle {
width: 12px; height: 12px;
background: #fff;
border-radius: 50%;
position: absolute;
top: -4px;
left: 0%;
margin-left: -6px;
transform: scale(0);
transition: transform 0.1s;
box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.rp-progress-wrap:hover .rp-progress-handle,
.rp-progress-wrap.dragging .rp-progress-handle {
transform: scale(1);
}
.rp-time {
font-size: 9px;
text-align: left;
margin-top: 0px;
font-family: monospace;
opacity: 0.9;
padding-left: 8px;
line-height: 1;
pointer-events: none;
}
/* 手机端适配 */
@media (max-width: 768px) {
#riz-player {
bottom: 130px;
right: 15px;
}
#riz-player.rp-scroll-down {
bottom: 35px !important;
}
#riz-player.riz-player-expanded {
width: 300px;
max-width: calc(100vw - 30px);
}
#riz-player.riz-player-expanded .rp-info {
width: 200px;
}
.rp-title {
font-size: 13px;
}
.rp-artist {
font-size: 10px;
}
}
/*
* 为 SocialProfile 扩展补充 visualClear CSS 定义
* 解决在新版皮肤 (如 Vector-2022) 下个人主页布局错乱的问题
* 参考: https://phabricator.wikimedia.org/T328235
*/
.visualClear {
clear: both;
}
/* 数学公式无框表格的修复 */
table:has(math) {
display: block;
border: 0;
max-width: 100%;
overflow-x: auto;
}
/* 曲目导航无框表格的修复 */
.navbox:not(:has(.mw-collapsed)) {
display: inline-block;
max-width: 100%;
overflow-x: auto;
white-space: nowrap;
}
.navbox-inner:not(.mw-collapsed) {
display: inline-block;
white-space: nowrap;
}
.navbox-subgroup:not(.mw-collapsed) {
display: inline-table;
white-space: normal;
}
/*
以下3个是排版混乱修复
*/
/* tip样式 */
.notice-box {
float: none !important;
margin: 0 0 20px 0 !important;
border-collapse: collapse;
width: 100%;
max-width: 900px;
}
.notice-box td {
padding: 14px 12px 10px 15px;
line-height: 1.8;
}
/* 桌面端歌曲信息框浮动到右侧 */
.infobox {
float: right;
clear: right;
margin: 0 0 0.5em 1em;
}
/* 移动端infobox不浮动,居中显示 */
@media (max-width: 768px) {
.infobox {
float: none !important;
clear: both !important;
margin: 0 auto 1em auto !important;
width: 100% !important;
max-width: 100% !important;
}
}
/* 去除 VoteNY 的渐变和边框 */
.vote-box {
background: var(--background-color-base, #fff) !important;
border: 1px solid var(--border-color-subtle, #eee) !important;
border-radius: 8px;
box-shadow: none !important;
color: var(--color-base, #000) !important;
}
/* 调整按钮样式 */
.vote-box .vote-link {
background: var(--background-color-interactive-subtle, #f0f0f0);
border-radius: 4px;
padding: 5px 10px;
text-decoration: none;
}
/* Quiz显示问题 */
.quiz input[type="text"],
.quiz input[type="number"] {
background-color: #ffffff !important;
color: #000000 !important;
border: 1px solid #ccc !important;
padding: 4px 8px !important;
border-radius: 4px !important;
}
.quiz .proposal {
color: #202122 !important;
}
.quiz .correct,
.quiz .correct td,
.quiz input.correct {
background-color: #dff0d8 !important;
color: #3c763d !important;
border-color: #d6e9c6 !important;
}
.quiz .incorrect,
.quiz .incorrect td,
.quiz input.incorrect {
background-color: #f2dede !important;
color: #a94442 !important;
border-color: #ebccd1 !important;
}
.quiz tr.correction td {
background-color: #f8f9fa !important;
color: #54595d !important;
font-weight: bold !important;
}
html.skin-theme-clientpref-night .quiz input[type="text"],
html.skin-theme-clientpref-night .quiz input[type="number"] {
background-color: #333 !important;
color: #fff !important;
border: 1px solid #666 !important;
}
html.skin-theme-clientpref-night .quiz .proposal {
color: #eaecf0 !important;
}
html.skin-theme-clientpref-night .quiz .correct,
html.skin-theme-clientpref-night .quiz .correct td,
html.skin-theme-clientpref-night .quiz input.correct {
background-color: #155724 !important;
color: #ffffff !important;
border-color: #c3e6cb !important;
}
html.skin-theme-clientpref-night .quiz .incorrect,
html.skin-theme-clientpref-night .quiz .incorrect td,
html.skin-theme-clientpref-night .quiz input.incorrect {
background-color: #721c24 !important;
color: #ffffff !important;
border-color: #f5c6cb !important;
}
html.skin-theme-clientpref-night .quiz .correct *,
html.skin-theme-clientpref-night .quiz .incorrect * {
color: #ffffff !important;
}
html.skin-theme-clientpref-night .quiz tr.correction td {
background-color: #444 !important;
color: #ddd !important;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .quiz input[type="text"],
html.skin-theme-clientpref-os .quiz input[type="number"] {
background-color: #333 !important;
color: #fff !important;
border: 1px solid #666 !important;
}
html.skin-theme-clientpref-os .quiz .proposal {
color: #eaecf0 !important;
}
html.skin-theme-clientpref-os .quiz .correct,
html.skin-theme-clientpref-os .quiz .correct td,
html.skin-theme-clientpref-os .quiz input.correct {
background-color: #155724 !important;
color: #ffffff !important;
border-color: #c3e6cb !important;
}
html.skin-theme-clientpref-os .quiz .incorrect,
html.skin-theme-clientpref-os .quiz .incorrect td,
html.skin-theme-clientpref-os .quiz input.incorrect {
background-color: #721c24 !important;
color: #ffffff !important;
border-color: #f5c6cb !important;
}
html.skin-theme-clientpref-os .quiz .correct *,
html.skin-theme-clientpref-os .quiz .incorrect * {
color: #ffffff !important;
}
html.skin-theme-clientpref-os .quiz tr.correction td {
background-color: #444 !important;
color: #ddd !important;
}
}
/* 相关推荐容器 */
.citizen-related-wrapper {
margin-top: 40px;
margin-bottom: 20px;
padding-top: 20px;
border-top: 1px solid var(--border-color-base, #eee);
}
.citizen-related-header {
font-size: 1.2rem;
font-weight: bold;
margin-bottom: 15px;
color: var(--color-base);
opacity: 0.9;
}
.citizen-related-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 12px;
}
.citizen-related-card {
display: flex;
background: var(--background-color-interactive-subtle, #f8f9fa);
border: 1px solid var(--border-color-base, #eee);
border-radius: 8px;
overflow: hidden;
position: relative;
transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.citizen-related-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
background: var(--background-color-interactive, #fff);
}
.citizen-related-img {
width: 90px;
height: 90px;
background-color: var(--background-color-quiet, #eee);
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.citizen-related-img-obj {
width: 100%;
height: 100%;
object-fit: cover;
border: none;
}
.citizen-related-text {
padding: 0 12px;
display: flex;
flex-direction: column;
justify-content: center;
overflow: hidden;
width: 100%;
}
.citizen-related-title {
font-weight: bold;
font-size: 1rem;
margin-bottom: 4px;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--color-base, #202122);
}
.citizen-related-desc {
font-size: 0.85rem;
opacity: 0.7;
color: var(--color-base, #202122);
}
.citizen-related-link-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 5;
opacity: 0;
}
/* 限制infobox宽度,防止长标题撑开页面 */
.infobox {
max-width: 320px;
width: 320px;
box-sizing: border-box;
table-layout: fixed;
}
/* 标题文字自动换行 */
.infobox-title th {
word-break: break-word;
overflow-wrap: break-word;
white-space: normal;
}
/* 数据单元格也需要处理 */
.infobox td,
.infobox th {
word-break: break-word;
overflow-wrap: break-word;
}
/* 页面内Tag样式 */
.citizen-page-tags {
margin-top: 1em;
clear: both;
border: 1px solid var(--border-color-base, #a2a9b1);
background-color: var(--background-color-interactive-subtle, #f8f9fa);
padding: 5px 10px;
border-radius: 2px;
position: relative;
}
.citizen-page-tags .mw-collapsible-content ul {
display: inline;
margin: 0;
padding: 0;
list-style: none;
}
.citizen-page-tags .mw-collapsible-content li {
display: inline-block;
margin: 0 0.5em 0 0;
padding: 0;
border-left: 1px solid var(--border-color-subtle, #eaecf0);
padding-left: 0.5em;
}
.citizen-page-tags .mw-collapsible-content li:first-child {
border-left: none;
padding-left: 0;
}
.citizen-page-tags .citizen-ui-icon {
opacity: 0.7;
margin-right: 4px;
vertical-align: text-bottom;
}
.citizen-page-tags .mw-collapsible-toggle {
float: right;
font-size: 0.9em;
}
/* songinfo PE/PC切换 */
.diff-pc { display: none; }
.song-infobox.show-pc .diff-pe { display: none; }
.song-infobox.show-pc .diff-pc { display: inline-block; }
.val-pc { display: none; }
.song-infobox.show-pc .val-pe { display: none; }
.song-infobox.show-pc .val-pc { display: inline; }
/* 按钮样式 */
.platform-tab {
display: inline-block;
cursor: pointer;
padding: 2px 16px;
border: 1px solid rgba(0,0,0,0.3);
border-radius: 3px;
background: transparent;
color: rgba(0,0,0,0.6);
font-size: 0.82em;
margin: 0 3px;
transition: all 0.15s;
}
.platform-tab:hover {
background: rgba(0,0,0,0.1);
color: #000;
}
.platform-tab.active {
background: rgba(0,0,0,0.15);
color: #000;
font-weight: bold;
border-color: rgba(0,0,0,0.5);
}
/* 渐入动画 */
@keyframes gentleFocusIn {
from { opacity: 0; }
to { opacity: 1; }
}
#bodyContent {
opacity: 0;
animation-name: gentleFocusIn;
animation-duration: 0.6s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
/* 链接 hover 过渡 */
a {
transition: color 0.15s ease, opacity 0.15s ease;
}
/* 平滑滚动 */
html {
scroll-behavior: smooth;
}
/* 表头固定 */
.wikitable thead th {
position: sticky;
top: 0;
z-index: 2;
background-color: var(--background-color-neutral, #eaecf0);
}
/*以下内容来自otomad wikihttps://otomad.wiki/MediaWiki:Common.css*/
/*提示框*/
.mw-notification{
border: none;
border-radius: 4px;
box-shadow: 0 0 12px rgb(0 0 0 / 15%);
}
/* Social Profile */
/* visualClear CSS class definition for [[mw:Extension:SocialProfile]]
because Vector does not include the definition anymore; see
https://phabricator.wikimedia.org/T328235 and
https://phabricator.wikimedia.org/T287962 */
.visualClear {
clear: both;
}
#profile-toggle-button {
background-color: unset;
padding: unset;
}
#profile-toggle-button a {
font-weight: 500;
text-decoration: none;
background-color: #f06e8e;
border-radius: 4px;
padding: 5px 12px;
transition: background-color 200ms;
font-size: 14px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
/*box-shadow: 0 4px 4px rgb(251 114 153 / 30%);*/
}
#profile-toggle-button a:hover {
background-color: #fe7b9a;
/*box-shadow: 0 9px 9px rgb(251 114 153 / 30%);*/
}
#profile-toggle-button a:active {
/*box-shadow: 0 0 0 rgb(251 114 153 / 30%);*/
/*transform: scale(.95);*/
background-color: #e26182;
}
#profile-toggle-button a:focus,
#profile-toggle-button a:focus-visible,
#profile-toggle-button a:focus-within {
/*box-shadow: inset 0 0 0 1px #fb7299, inset 0 0 0 2px #fff;*/
outline: 1px solid transparent;
}
.profile-on{
background-color: #fff6c3;
padding: 5px 10px 5px 10px;
border-radius: 4px;
border: none;
}
/*头像*/
#profile-image img,
.user-relationship-container img,
.user-board-message-image img,
.c-avatar img,
.profile-info img {
border-radius: 50%;
aspect-ratio: 1 / 1;
object-fit: cover;
padding: 0;
border: 0;
background-color: unset;
}
#profile-image img,
.user-relationship-container img {
width: 75px;
}
.user-board-message-image img {
width: 25px;
}
#profile-top {
display: flex;
align-items: center;
border: 0;
}
#profile-right {
display: flex;
flex-direction: column;
}
#profile-title-container {
padding: 0 0 2px 0;
}
#profile-title {
font-size: 1.5em;
line-height: 32px;
padding: 0 0 4px 8px;
}
.profile-actions {
font-size: 0.875em;
color: var(--color-subtle);
}
.profile-actions a {
margin: 0 8px;
font-weight: unset;
}
/* 社交页 */
#user-page-left,
#user-page-right {
display: flex;
flex-direction: column;
}
.user-relationship-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.user-relationship-container a {
display: flex;
flex-direction: column;
align-items: center;
margin: 0;
}
.user-relationship-container a br {
display: none;
}
.user-section-heading .user-section-actions .action-right {
font-size: 0.875rem;
}
/* 资料编辑页 */
.profile-tab-bar {
display: flex;
margin-top: unset;
}
.profile-tab,
.profile-tab-on {
background-color: unset;
float: unset;
height: unset;
color: unset;
font-size: unset;
min-width: unset;
font-weight: unset;
padding: unset;
margin: unset;
text-align: unset;
}
.profile-tab-on {
border-bottom: 2px solid var(--omw-pink);
}
.profile-tab a,
.profile-tab-on a {
display: flex;
align-items: center;
height: 36px;
padding: 0 12px;
text-decoration: none;
}
.profile-tab a:any-link {
color: inherit !important;
}
.profile-tab a:any-link:hover,
.profile-tab-on a:any-link {
color: var(--omw-pink) !important;
}
/*按钮动画*/
.oo-ui-buttonElement.oo-ui-widget-enabled > .oo-ui-buttonElement-button{
transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms,transform 200ms
}
/*解决cite定位内文字显示为斜体的问题*/
cite {
font-style: normal;
}
/*针对移动端用户页的竖向排列*/
@media screen and (max-width: 850px){
#user-page-left {
width: 100%;
float: none;}
#user-page-right {
width: 100%;
float: none;
}
}
/* 上传文件InfoBox排版增强修复 */
.mw-special-Upload i.md {
display: flex;
}
.mw-special-Upload .infoBoxText li {
margin-top: 6px;
margin-bottom: 0;
}
/* 现代化FlowThread主题 */
#flowthread .comment-submit {
font-family: inherit;
color: var(--color-base);
border: 0;
background-color: var(--color-primary);
text-shadow: none;
top: 0;
right: 0;
border-radius: 0 0 var(--border-radius-medium) 0;
}
#flowthread .comment-toolbar {
height: 36px;
border: 0;
border-top: 1px solid var(--border-color-base--darker);
background-color: #f8f9fa;
background-color: var(--color-surface-2);
border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium);
margin-bottom: 0;
padding-left: 4px;
}
#flowthread .comment-thread {
border: 0;
padding: 0;
}
#flowthread .comment-avatar {
border-radius: 100%;
overflow: hidden;
}
#flowthread .comment-text {
font-size: inherit;
}
#flowthread .comment-user, .comment-user a {
font-size: inherit;
color: var(--color-base--subtle);
}
#flowthread .comment-footer {
font-size: 14px;
}
#flowthread .flowthread-btn-wikitext,
#flowthread .flowthread-btn-preview {
width: 36px;
height: 36px;
margin: 0;
box-shadow: none;
background-color: transparent;
border-radius: 100%;
border: 0 !important;
cursor: pointer;
}
#flowthread .flowthread-btn-preview {
transform: translateX(-100%);
}
#flowthread .flowthread-btn-wikitext.on+.flowthread-btn-preview {
transform: none;
}
#flowthread .flowthread-btn-wikitext:hover,
#flowthread .flowthread-btn-preview:hover {
background-color: var(--omw-surface-background-color--hover);
}
#flowthread .comment-submit {
height: inherit;
}
#flowthread .comment-replybox > .comment-body {
border: 1px solid var(--border-color-base--darker);
border-radius: var(--border-radius-medium);
padding-left: 0;
margin-left: 60px;
}
#flowthread .comment-replybox > .comment-body:has(textarea:focus-visible) {
border-color: var(--color-primary);
}
#flowthread .comment-replybox > .comment-body textarea, #flowthread .comment-preview {
background-color: var(--color-surface-2);
border: 0;
outline: 0;
box-shadow: inset 0 4px 4px var(--box-shadow-color-base);
color: inherit;
font-family: inherit;
font-size: inherit;
line-height: inherit;
border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0;
padding: 12px;
}
#flowthread .comment-post,
#flowthread .comment-container > .comment-thread {
padding: 12px 0;
}
/* 热门评论 */
.comment-container-top {
border-radius: unset;
border: unset;
border-bottom: 2px solid var(--border-color-base);
padding-bottom: 12px;
}
#flowthread .comment-container-top > div:first-child {
background: unset;
text-indent: unset;
height: unset;
border-radius: unset;
color: var(--color-subtle);
font-family: var(--font-family-overline);
font-size: var(--font-size-overline);
font-weight: var(--font-weight-overline);
line-height: var(--line-height-overline);
text-transform: var(--text-transform-overline);
letter-spacing: var(--letter-spacing-overline);
margin-bottom: 4px;
}
#flowthread .comment-reply,
#flowthread .comment-like,
#flowthread .comment-report,
#flowthread .comment-delete {
margin-left: 16px;
}
/* navbox暗色适配 */
html.skin-theme-clientpref-night .navbox,
html.skin-theme-clientpref-night .navbox-subgroup {
background: var(--color-surface-0) !important;
}
html.skin-theme-clientpref-night .navbox-list {
background: transparent !important;
border-color: var(--border-color-base) !important;
}
html.skin-theme-clientpref-night .navbox-odd,
html.skin-theme-clientpref-night .navbox-even {
background: transparent !important;
}
html.skin-theme-clientpref-night th.navbox-group {
color: #DDE8FD !important;
}
html.skin-theme-clientpref-night .navbox td[style*="border-left"] {
border-left-color: var(--border-color-base) !important;
}
html.skin-theme-clientpref-night .navbox-title {
background: rgb(50 174 234 / 0.47) !important;
}
html.skin-theme-clientpref-night .navbox-abovebelow,
html.skin-theme-clientpref-night th.navbox-group,
html.skin-theme-clientpref-night .navbox-subgroup .navbox-title {
background: rgb(94 195 244 / 0.47) !important;
}
html.skin-theme-clientpref-night .navbox-subgroup .navbox-group,
html.skin-theme-clientpref-night .navbox-subgroup .navbox-abovebelow {
background: rgb(161 224 254 / 0.47) !important;
}
html.skin-theme-clientpref-night .navbox-title [style*="color"],
html.skin-theme-clientpref-night .navbox-abovebelow [style*="color"],
html.skin-theme-clientpref-night th.navbox-group [style*="color"],
html.skin-theme-clientpref-night .navbox-subgroup .navbox-title [style*="color"],
html.skin-theme-clientpref-night .navbox-subgroup .navbox-group [style*="color"],
html.skin-theme-clientpref-night .navbox-subgroup .navbox-abovebelow [style*="color"],
html.skin-theme-clientpref-night .navbox-title a,
html.skin-theme-clientpref-night .navbox-abovebelow a,
html.skin-theme-clientpref-night th.navbox-group a,
html.skin-theme-clientpref-night .navbox-subgroup .navbox-title a,
html.skin-theme-clientpref-night .navbox-subgroup .navbox-group a,
html.skin-theme-clientpref-night .navbox-subgroup .navbox-abovebelow a {
color: #DDE8FD !important;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .navbox,
html.skin-theme-clientpref-os .navbox-subgroup {
background: var(--color-surface-0) !important;
}
html.skin-theme-clientpref-os .navbox-list {
background: transparent !important;
border-color: var(--border-color-base) !important;
}
html.skin-theme-clientpref-os .navbox-odd,
html.skin-theme-clientpref-os .navbox-even {
background: transparent !important;
}
html.skin-theme-clientpref-os th.navbox-group {
color: #DDE8FD !important;
}
html.skin-theme-clientpref-os .navbox td[style*="border-left"] {
border-left-color: var(--border-color-base) !important;
}
html.skin-theme-clientpref-os .navbox-title {
background: rgb(50 174 234 / 0.47) !important;
}
html.skin-theme-clientpref-os .navbox-abovebelow,
html.skin-theme-clientpref-os th.navbox-group,
html.skin-theme-clientpref-os .navbox-subgroup .navbox-title {
background: rgb(94 195 244 / 0.47) !important;
}
html.skin-theme-clientpref-os .navbox-subgroup .navbox-group,
html.skin-theme-clientpref-os .navbox-subgroup .navbox-abovebelow {
background: rgb(161 224 254 / 0.47) !important;
}
html.skin-theme-clientpref-os .navbox-title [style*="color"],
html.skin-theme-clientpref-os .navbox-abovebelow [style*="color"],
html.skin-theme-clientpref-os th.navbox-group [style*="color"],
html.skin-theme-clientpref-os .navbox-subgroup .navbox-title [style*="color"],
html.skin-theme-clientpref-os .navbox-subgroup .navbox-group [style*="color"],
html.skin-theme-clientpref-os .navbox-subgroup .navbox-abovebelow [style*="color"],
html.skin-theme-clientpref-os .navbox-title a,
html.skin-theme-clientpref-os .navbox-abovebelow a,
html.skin-theme-clientpref-os th.navbox-group a,
html.skin-theme-clientpref-os .navbox-subgroup .navbox-title a,
html.skin-theme-clientpref-os .navbox-subgroup .navbox-group a,
html.skin-theme-clientpref-os .navbox-subgroup .navbox-abovebelow a {
color: #DDE8FD !important;
}
}
/* 底部icon透明背景 */
#footer-icons .cdx-button--fake-button {
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
min-height: unset !important;
}