MediaWiki:Common.css:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第60行: | 第60行: | ||
transform: translate(-50%, -50%) scale(1); | transform: translate(-50%, -50%) scale(1); | ||
} | } | ||
/* ============================================ | |||
文字边缘发光 + 呼吸显隐 | |||
参数(在元素上行内覆盖即可): | |||
--fx-glow-color 发光颜色,默认 #8b1a2b | |||
--fx-speed 呼吸 / 脉冲周期,默认 2s | |||
============================================ */ | |||
/* ---- 文字边缘发光:静态 ---- */ | /* ---- 文字边缘发光:静态 ---- */ | ||
.fx-text-glow { | .fx-text-glow { | ||
--fx-glow-color: #8b1a2b; | |||
text-shadow: | text-shadow: | ||
0 0 4px | 0 0 4px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 35%, white) 90%, transparent), | ||
0 0 8px | 0 0 8px color-mix(in srgb, var(--fx-glow-color) 80%, transparent), | ||
0 0 16px | 0 0 16px color-mix(in srgb, var(--fx-glow-color) 60%, transparent); | ||
} | } | ||
| 第73行: | 第81行: | ||
0%, 100% { | 0%, 100% { | ||
text-shadow: | text-shadow: | ||
0 0 4px | 0 0 4px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 35%, white) 70%, transparent), | ||
0 0 8px | 0 0 8px color-mix(in srgb, var(--fx-glow-color) 50%, transparent), | ||
0 0 14px | 0 0 14px color-mix(in srgb, var(--fx-glow-color) 30%, transparent); | ||
} | } | ||
50% { | 50% { | ||
text-shadow: | text-shadow: | ||
0 0 6px | 0 0 6px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 45%, white) 100%, transparent), | ||
0 0 14px | 0 0 14px color-mix(in srgb, var(--fx-glow-color) 90%, transparent), | ||
0 0 24px | 0 0 24px color-mix(in srgb, var(--fx-glow-color) 60%, transparent); | ||
} | } | ||
} | } | ||
.fx-text-pulse { | .fx-text-pulse { | ||
animation: fx-text-pulse | --fx-glow-color: #8b1a2b; | ||
--fx-speed: 2s; | |||
animation: fx-text-pulse var(--fx-speed) ease-in-out infinite; | |||
} | |||
/* ---- 呼吸显隐(不发光) ---- */ | |||
@keyframes fx-breath { | |||
0%, 100% { opacity: 1; } | |||
50% { opacity: 0.3; } | |||
} | } | ||
.fx-text-breath { | |||
--fx-speed: 2s; | |||
animation: fx-breath var(--fx-speed) ease-in-out infinite; | |||
} | |||
/* ---- 呼吸显隐 + 边缘发光同步 ---- */ | |||
.fx-text-breath.fx-text-pulse { | |||
animation: | |||
fx-breath var(--fx-speed) ease-in-out infinite, | |||
fx-text-pulse var(--fx-speed) ease-in-out infinite; | |||
} | |||
/* ---- 悬停轻微放大 ---- */ | /* ---- 悬停轻微放大 ---- */ | ||
.fx-hover-grow { | .fx-hover-grow { | ||
2026年9月30日 (三) 10:42的版本
/* ============================================
FX 效果类库
全站可调用:给任意元素加对应类名即可
============================================ */
/* ---- 边缘发光:静态 ---- */
.fx-glow {
box-shadow:
0 0 6px rgba(139, 26, 43, 0.7),
0 0 14px rgba(139, 26, 43, 0.5),
0 0 22px rgba(139, 26, 43, 0.3);
}
/* ---- 边缘发光:呼吸脉冲 ---- */
@keyframes fx-pulse-glow {
0%, 100% {
box-shadow:
0 0 6px rgba(139, 26, 43, 0.7),
0 0 14px rgba(139, 26, 43, 0.5),
0 0 22px rgba(139, 26, 43, 0.3);
}
50% {
box-shadow:
0 0 10px rgba(139, 26, 43, 1),
0 0 20px rgba(139, 26, 43, 0.7),
0 0 32px rgba(139, 26, 43, 0.5);
}
}
.fx-pulse {
animation: fx-pulse-glow 2s ease-in-out infinite;
}
/* ---- 图标切换:一显一隐 ---- */
.fx-swap {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
}
.fx-swap__a,
.fx-swap__b {
transition: opacity 0.3s ease, transform 0.3s ease;
line-height: 1;
}
.fx-swap__b {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.85);
opacity: 0;
}
.fx-swap:hover .fx-swap__a,
.fx-swap.is-active .fx-swap__a {
opacity: 0;
transform: scale(0.85);
}
.fx-swap:hover .fx-swap__b,
.fx-swap.is-active .fx-swap__b {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
/* ============================================
文字边缘发光 + 呼吸显隐
参数(在元素上行内覆盖即可):
--fx-glow-color 发光颜色,默认 #8b1a2b
--fx-speed 呼吸 / 脉冲周期,默认 2s
============================================ */
/* ---- 文字边缘发光:静态 ---- */
.fx-text-glow {
--fx-glow-color: #8b1a2b;
text-shadow:
0 0 4px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 35%, white) 90%, transparent),
0 0 8px color-mix(in srgb, var(--fx-glow-color) 80%, transparent),
0 0 16px color-mix(in srgb, var(--fx-glow-color) 60%, transparent);
}
/* ---- 文字边缘发光:呼吸脉冲 ---- */
@keyframes fx-text-pulse {
0%, 100% {
text-shadow:
0 0 4px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 35%, white) 70%, transparent),
0 0 8px color-mix(in srgb, var(--fx-glow-color) 50%, transparent),
0 0 14px color-mix(in srgb, var(--fx-glow-color) 30%, transparent);
}
50% {
text-shadow:
0 0 6px color-mix(in srgb, color-mix(in srgb, var(--fx-glow-color) 45%, white) 100%, transparent),
0 0 14px color-mix(in srgb, var(--fx-glow-color) 90%, transparent),
0 0 24px color-mix(in srgb, var(--fx-glow-color) 60%, transparent);
}
}
.fx-text-pulse {
--fx-glow-color: #8b1a2b;
--fx-speed: 2s;
animation: fx-text-pulse var(--fx-speed) ease-in-out infinite;
}
/* ---- 呼吸显隐(不发光) ---- */
@keyframes fx-breath {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
.fx-text-breath {
--fx-speed: 2s;
animation: fx-breath var(--fx-speed) ease-in-out infinite;
}
/* ---- 呼吸显隐 + 边缘发光同步 ---- */
.fx-text-breath.fx-text-pulse {
animation:
fx-breath var(--fx-speed) ease-in-out infinite,
fx-text-pulse var(--fx-speed) ease-in-out infinite;
}
/* ---- 悬停轻微放大 ---- */
.fx-hover-grow {
transition: transform 0.2s;
}
.fx-hover-grow:hover {
transform: scale(1.08);
}
/* ============================================
MediaWiki默认功能禁用
============================================ */
/* ---- 禁用分类页面自动列出子项 ---- */
.ns-14 #mw-pages {
display: none;
}
/* ============================================
附加工具栏配置
============================================ */
/* ===== 工具栏面板里的功能按钮 ===== */
.rail-action-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.6rem 1.2rem;
background: #56000d;
color: #fff;
border: none;
border-radius: 0.5rem;
font-size: 0.95rem;
font-family: inherit;
cursor: pointer;
transition: background 0.2s, transform 0.15s;
}
.rail-action-button:hover {
background: #8b1a2b;
}
.rail-action-button:active {
transform: scale(0.97);
}
/* ===== 工具栏设置账户区 ===== */
.rail-account-loading {
color: #888;
font-size: 0.9rem;
}
.rail-account-name {
font-size: 1.1rem;
font-weight: bold;
color: #56000d;
margin-bottom: 0.5rem;
}
.rail-account-groups {
font-size: 0.9rem;
color: #555;
margin-bottom: 0.75rem;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.3rem;
}
.rail-group-tag {
display: inline-block;
padding: 0.15rem 0.5rem;
background: rgba(86, 0, 13, 0.1);
color: #56000d;
border-radius: 0.25rem;
text-decoration: none;
font-size: 0.85rem;
transition: background 0.15s;
}
a.rail-group-tag:hover {
background: rgba(86, 0, 13, 0.22);
}
.rail-account-stats {
display: flex;
gap: 1rem;
font-size: 0.85rem;
color: #666;
margin-bottom: 0.75rem;
}
.rail-account-actions {
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
margin-bottom: 0.5rem;
}
.rail-account-logout {
margin-top: 2rem;
}
.rail-action-button--danger {
background: #6b1010;
}
.rail-action-button--danger:hover {
background: #8b1a2b;
}
.rail-account-guest {
color: #666;
font-size: 0.9rem;
margin: 0 0 0.75rem 0;
}
/* ===== 工具栏账户按钮:强制白字 ===== */
.rail-panel a.rail-action-button,
.rail-panel a.rail-action-button:link,
.rail-panel a.rail-action-button:visited,
.rail-panel a.rail-action-button:hover,
.rail-panel a.rail-action-button:active {
color: #fff !important;
text-decoration: none !important;
}
/* ===== 账户标题 ===== */
.rail-account-title {
font-size: 1rem;
font-weight: bold;
color: #56000d;
border-left: 3px solid #56000d;
padding-left: 0.5rem;
margin: 1rem 0 0.5rem 0;
}
.rail-account-title:first-child {
margin-top: 0;
}
/* ===== 工具栏按钮:所有状态强制统一 ===== */
.rail-panel a.rail-action-button,
.rail-panel a.rail-action-button:link,
.rail-panel a.rail-action-button:visited {
background: #56000d !important;
color: #fff !important;
filter: none !important;
opacity: 1 !important;
text-decoration: none !important;
border: none !important;
}
.rail-panel a.rail-action-button:hover,
.rail-panel a.rail-action-button:focus,
.rail-panel a.rail-action-button:active {
background: #8b1a2b !important;
color: #fff !important;
filter: none !important;
opacity: 1 !important;
text-decoration: none !important;
}
.rail-panel a.rail-action-button--danger {
background: #6b1010 !important;
}
.rail-panel a.rail-action-button--danger:hover,
.rail-panel a.rail-action-button--danger:focus {
background: #8b1a2b !important;
}