更多操作
无编辑摘要 标签:手工回退 |
无编辑摘要 |
||
| 第561行: | 第561行: | ||
left: -28px; | left: -28px; | ||
right: auto; | right: auto; | ||
} | |||
} | |||
/* ================================================ | |||
卡片模板系统 v1 - MediaWiki:Common.css | |||
支持模板:卡片组开始 / 卡片 / 卡片组结束 | |||
悬停动效:上浮 + 阴影加深 + 扫光 | |||
================================================ */ | |||
/* ---- 卡片网格容器(Flexbox)---- */ | |||
.wiki-card-grid { | |||
display: flex; | |||
flex-wrap: wrap; | |||
gap: 20px; | |||
margin: 24px 0; | |||
align-items: stretch; | |||
} | |||
/* ----卡片基础(默认三列)---- */ | |||
.wiki-card { | |||
flex: 0 0 calc(33.333% - 14px); | |||
min-width: 180px; | |||
position: relative; | |||
overflow: hidden; | |||
background: #ffffff; | |||
border: 1px solid #e0e0e0; | |||
border-top: 3px solid #3a87ad; /* 顶部彩色强调线 */ | |||
border-radius: 8px; | |||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07); | |||
transition: transform 0.28s ease, box-shadow 0.28s ease; | |||
box-sizing: border-box; | |||
display: flex; | |||
flex-direction: column; | |||
cursor: default; | |||
} | |||
/* ================================================悬停动效 | |||
================================================ */ | |||
/*---- 动效1:扫光(光晕从左向右扫过)---- */ | |||
.wiki-card::before { | |||
content: ''; | |||
position: absolute; | |||
top: 0; | |||
left: -100%; | |||
width: 60%; | |||
height: 100%; | |||
background: linear-gradient( | |||
90deg, | |||
transparent, | |||
rgba(255, 255, 255, 0.38), | |||
transparent | |||
); | |||
transition: left 0.55s ease; | |||
pointer-events: none; | |||
z-index: 0; | |||
} | |||
/* ---- 动效2:卡片上浮 + 阴影加深 ---- */ | |||
.wiki-card:hover { | |||
transform: translateY(-7px); | |||
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.13); | |||
} | |||
/* ---- 触发扫光 ---- */ | |||
.wiki-card:hover::before { | |||
left: 150%; | |||
} | |||
/* ---- 动效3:图标放大 ---- */ | |||
.wiki-card:hover .wiki-card-icon-wrap { | |||
transform: scale(1.18); | |||
} | |||
/* ================================================ | |||
卡片内部结构 | |||
================================================ */ | |||
/* 图标区域 */ | |||
.wiki-card-icon-wrap { | |||
padding: 20px 20px 4px; | |||
font-size: 2.2em; | |||
line-height: 1; | |||
transition: transform 0.28s ease; | |||
position: relative; | |||
z-index: 1; | |||
} | |||
.wiki-card-icon-wrap:empty { display: none; } | |||
/* 主体区域 */ | |||
.wiki-card-body { | |||
padding: 14px 20px 16px; | |||
flex: 1; | |||
position: relative; | |||
z-index: 1; | |||
} | |||
/* 标题 */ | |||
.wiki-card-title { | |||
font-size: 1.05em; | |||
font-weight: bold; | |||
color: #1a1a2e; | |||
margin-bottom: 4px; | |||
line-height: 1.4; | |||
} | |||
/* 副标题 */ | |||
.wiki-card-subtitle { | |||
font-size: 0.83em; | |||
color: #aaa; | |||
margin-bottom: 10px; | |||
font-style: italic; | |||
} | |||
.wiki-card-subtitle:empty { display: none; } | |||
/* 正文内容 */ | |||
.wiki-card-content { | |||
font-size: 0.92em; | |||
color: #555; | |||
line-height: 1.68; | |||
} | |||
/* 底部链接区域 */ | |||
.wiki-card-footer { | |||
padding: 10px 20px 14px; | |||
border-top: 1px solid #f2f2f2; | |||
position: relative; | |||
z-index: 1; | |||
} | |||
/* 链接为空时自动隐藏整个底部 */ | |||
.wiki-card-footer a[href=""]{ display: none; } | |||
.wiki-card-footer:has a[href=""]{ padding: 0; border-top: none; } | |||
.wiki-card-footer a { | |||
font-size: 0.88em; | |||
font-weight: bold; | |||
color: #3a87ad; | |||
text-decoration: none; | |||
} | |||
.wiki-card-footer a:hover { text-decoration: underline; } | |||
/* ================================================ | |||
颜色主题类型 | |||
================================================ */ | |||
/* card-success:绿色 */ | |||
.wiki-card.card-success { border-top-color: #66bb6a; } | |||
.wiki-card.card-success:hover { | |||
box-shadow: 0 16px 36px rgba(102, 187, 106, 0.22); | |||
} | |||
.wiki-card.card-success .wiki-card-title { color: #2e7d32; } | |||
.wiki-card.card-success .wiki-card-footer a { color: #2e7d32; } | |||
/* card-warning:黄色 */ | |||
.wiki-card.card-warning { border-top-color: #fbc02d; } | |||
.wiki-card.card-warning:hover { | |||
box-shadow: 0 16px 36px rgba(251, 192, 45, 0.25); | |||
} | |||
.wiki-card.card-warning .wiki-card-title { color: #b8860b; } | |||
.wiki-card.card-warning .wiki-card-footer a { color: #b8860b; } | |||
/* card-danger:红色 */ | |||
.wiki-card.card-danger { border-top-color: #e57373; } | |||
.wiki-card.card-danger:hover { | |||
box-shadow: 0 16px 36px rgba(229, 115, 115, 0.22); | |||
} | |||
.wiki-card.card-danger .wiki-card-title { color: #c62828; } | |||
.wiki-card.card-danger .wiki-card-footer a { color: #c62828; } | |||
/* card-info:灰色 */ | |||
.wiki-card.card-info { border-top-color: #9e9e9e; } | |||
.wiki-card.card-info:hover { | |||
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.13); | |||
} | |||
.wiki-card.card-info .wiki-card-title { color: #555; } | |||
.wiki-card.card-info .wiki-card-footer a { color: #555; } | |||
/* card-purple:紫色 */ | |||
.wiki-card.card-purple { border-top-color: #ab47bc; } | |||
.wiki-card.card-purple:hover { | |||
box-shadow: 0 16px 36px rgba(171, 71, 188, 0.22); | |||
} | |||
.wiki-card.card-purple .wiki-card-title { color: #6a1b9a; } | |||
.wiki-card.card-purple .wiki-card-footer a { color: #6a1b9a; } | |||
/* ================================================ | |||
多列布局选项 | |||
================================================ */ | |||
/* 两列 */ | |||
.wiki-card-grid.col-2 .wiki-card { | |||
flex: 0 0 calc(50% - 10px); | |||
} | |||
/* 四列 */ | |||
.wiki-card-grid.col-4 .wiki-card { | |||
flex: 0 0 calc(25% - 15px); | |||
} | |||
/* ================================================ | |||
响应式适配 | |||
================================================ */ | |||
/* 平板:4 列 → 2 列 */ | |||
@media screen and (max-width: 860px) { | |||
.wiki-card-grid.col-4 .wiki-card { | |||
flex: 0 0 calc(50% - 10px); | |||
} | |||
} | |||
/* 手机:全部 → 单列 */ | |||
@media screen and (max-width: 600px) { | |||
.wiki-card, | |||
.wiki-card-grid.col-2 .wiki-card, | |||
.wiki-card-grid.col-4 .wiki-card { | |||
flex: 0 0 100%; | |||
min-width: unset; | |||
} | } | ||
} | } | ||
2026年2月28日 (六) 05:54的版本
/* ========== 迷雾Wiki 主题样式 ========== */
/* Hero 区域 */
.mist-hero {
position: relative;
background: #0d1117;
border: 1px solid #30363d;
border-radius: 16px;
padding: 64px 48px;
margin-bottom: 32px;
overflow: hidden;
text-align: center;
}
.mist-hero::before {
content: '';
position: absolute;
background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(88,166,255,0.08), transparent),
radial-gradient(ellipse 60% 40% at 80% 100%, rgba(210,168,255,0.06), transparent);
animation: fogFloat 15s ease-in-out infinite alternate;
pointer-events: none;
}
@keyframes fogFloat {
0%{ opacity: 0.6; transform: translateX(-5%) scaleY(1); }
100% { opacity: 1;transform: translateX(5%) scaleY(1.05); }
}
.mist-hero-title {
font-size: 3.5rem;
font-weight: 900;
background: linear-gradient(135deg, #e6edf3 30%, #58a6ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin: 0 0 12px 0;
letter-spacing: -2px;
}
.mist-hero-subtitle {
color: #8b949e;
font-size: 1.1rem;
margin-bottom: 36px;
}
.mist-stats {
display: inline-flex;
gap: 40px;
justify-content: center;
}
.mist-stat { text-align: center; }
.mist-stat-num {
display: block;
font-size: 2rem;
font-weight: 800;
color: #e6edf3;
}
.mist-stat-label { color: #8b949e; font-size: 0.85rem; }
/* 三栏入口卡片 */
.mist-portal-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 32px;
}
.mist-portal-card {
background: #161b22;
border: 1px solid #30363d;
border-radius: 12px;
overflow: hidden;
transition: transform 0.2s, box-shadow 0.2s;
padding-bottom: 20px;
}
.mist-portal-card:hover {
transform: translateY(-3px);
box-shadow: 0 12px 32px rgba(0,0,0,0.5);
}
.mist-portal-bar { height: 4px; }
.mist-portal-bar-blue{ background: linear-gradient(90deg, #58a6ff, #79c0ff); }
.mist-portal-bar-purple{ background: linear-gradient(90deg, #d2a8ff, #bc8cff); }
.mist-portal-bar-green { background: linear-gradient(90deg, #56d364, #3fb950); }
.mist-portal-body { padding: 24px 24px 0; }
.mist-portal-icon {
font-size: 2rem;
margin-bottom: 12px;
display: block;
}
.mist-portal-title {
font-size: 1.2rem;
font-weight: 700;
color: #e6edf3;
margin-bottom: 8px;
}
.mist-portal-desc { color: #8b949e; font-size: 0.875rem; line-height: 1.6; margin-bottom: 20px; }
.mist-portal-btn {
display: block;
margin: 0 24px;
padding: 8px;
text-align: center;
background: #21262d;
border: 1px solid #30363d;
border-radius: 8px;
color: #e6edf3 ;
font-size: 0.875rem;
font-weight: 500;
text-decoration: none ;
transition: background 0.2s;
}
.mist-portal-btn:hover { background: #58a6ff; border-color: #58a6ff; color: #fff ; }
/* 精选 ARG */
.mist-section-title {
font-size: 1.4rem;
font-weight: 700;
color: #e6edf3;
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid #30363d;
}
.mist-featured-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 32px;
}
.mist-featured-card {
background: #161b22;
border: 1px solid #30363d;
border-radius: 12px;
overflow: hidden;
transition: border-color 0.2s;
}
.mist-featured-card:hover { border-color: #58a6ff; }
.mist-featured-cover {
height: 120px;
position: relative;
}
.mist-cover-blue{ background: linear-gradient(135deg, #0d2137, #1a3a5c); }
.mist-cover-purple { background: linear-gradient(135deg, #1a0d37, #2d1a5c); }
.mist-cover-amber { background: linear-gradient(135deg, #211a08, #3d3010); }
.mist-badge {
position: absolute;
top: 10px; right: 10px;
padding: 2px 8px;
border-radius: 4px;
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mist-badge-on{ background:#0d2a12; color:#56d364; border:1px solid #238636; }
.mist-badge-end { background:#1f0d37; color:#d2a8ff; border:1px solid #6e40c9; }
.mist-badge-sus { background:#2a1a00; color:#f0883e; border:1px solid #9e6a03; }
.mist-featured-body { padding: 16px; }
.mist-featured-title { font-size: 1rem; font-weight: 700; color: #e6edf3; margin-bottom: 6px; }
.mist-featured-desc{ color: #8b949e; font-size: 0.8rem; line-height: 1.5; }
/* 最近更新 */
.mist-recent {
background: #161b22;
border: 1px solid #30363d;
border-radius: 12px;
padding: 24px;
margin-bottom: 32px;
}
.mist-recent-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid #21262d;
}
.mist-recent-item:last-child { border-bottom: none; }
.mist-tag {
display: inline-block;
padding: 1px 7px;
border-radius: 4px;
font-size: 0.65rem;
font-weight: 700;
text-transform: uppercase;
white-space: nowrap;
margin-top: 2px;
}
.mist-tag-arg{ background:#0d1d37;color:#58a6ff;border:1px solid #1c3458; }
.mist-tag-tl{ background:#1f0d37;color:#d2a8ff;border:1px solid #3b1f6e; }
.mist-tag-term { background:#0d2a12;color:#56d364;border:1px solid #1c4a26; }
.mist-recent-link { color: #58a6ff ; font-size: 0.875rem; font-weight: 500; }
.mist-recent-meta { color: #8b949e; font-size: 0.75rem; margin-top: 2px; }
/* 页脚 */
.mist-footer {
background: #161b22;
border: 1px solid #30363d;
border-radius: 12px;
padding: 24px;
text-align: center;
color: #8b949e;
font-size: 0.8rem;
}
/* 响应式 */
@media (max-width: 768px) {
.mist-portal-row, .mist-featured-row { grid-template-columns: 1fr; }
.mist-hero-title { font-size: 2.2rem; }
.mist-stats { flex-direction: column; gap: 16px; }
}
/*================================================
时间轴模板系统 v2 - MediaWiki:Common.css
支持模板:TL开始 / TL项目 / TL结束
================================================ */
/* 容器 */
.wiki-tl {
position: relative;
margin: 24px auto;
padding: 10px 0 10px 0;
max-width: 860px;
overflow: hidden;
}
/* 中央竖线 */
.wiki-tl::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 3px;
margin-left: -1px;
background: #3a87ad;
}
/* 条目基础 */
.wiki-tl-item {
position: relative;
width: 43%;
padding: 10px 14px;
background: #f0f8ff;
border: 1px solid #b0cfe0;
border-radius: 6px;
margin-bottom: 22px;
box-sizing: border-box;
}
/* 奇数条目→ 左侧 */
.wiki-tl-item:nth-child(odd) {
float: left;
text-align: right;
clear: left;
}
/* 偶数条目 → 右侧 */
.wiki-tl-item:nth-child(even) {
float: right;
text-align: left;
clear: right;
}
/* 清除浮动 */
.wiki-tl::after {
content: '';
display: block;
clear: both;
}
/* 连接圆点 */
.wiki-tl-item::after {
content: '';
position: absolute;
top: 15px;
width: 13px;
height: 13px;
background: #3a87ad;
border-radius: 50%;
border: 2px solid #fff;
z-index: 1;
}
.wiki-tl-item:nth-child(odd)::after { right: -7%; }
.wiki-tl-item:nth-child(even)::after { left: -7%; }
/* 日期 */
.wiki-tl-date {
font-weight: bold;
color: #3a87ad;
font-size: 1em;
margin-bottom: 5px;
}
/* 内容 */
.wiki-tl-content {
color: #444;
font-size: 0.93em;
line-height: 1.6;
}
/* ----扩展类型:tl-highlight(重要/黄色)---- */
.wiki-tl-item.tl-highlight {
background: #fff8e1;
border-color: #fbc02d;
}
.wiki-tl-item.tl-highlight .wiki-tl-date { color: #b8860b; }
.wiki-tl-item.tl-highlight::after { background: #fbc02d; }
/* ---- 扩展类型:tl-success(成功/绿色)---- */
.wiki-tl-item.tl-success {
background: #f0fff4;
border-color: #66bb6a;
}
.wiki-tl-item.tl-success .wiki-tl-date { color: #2e7d32; }
.wiki-tl-item.tl-success::after{ background: #66bb6a; }
/* ---- 扩展类型:tl-danger(警示/红色)---- */
.wiki-tl-item.tl-danger {
background: #fff0f0;
border-color: #e57373;
}
.wiki-tl-item.tl-danger .wiki-tl-date { color: #c62828; }
.wiki-tl-item.tl-danger::after { background: #e57373; }
/* ---- 扩展类型:tl-info(说明/灰色)---- */
.wiki-tl-item.tl-info {
background: #f5f5f5;
border-color: #9e9e9e;
}
.wiki-tl-item.tl-info .wiki-tl-date { color: #555; }
.wiki-tl-item.tl-info::after { background: #9e9e9e; }
@media screen and (max-width: 600px) {
.wiki-tl::before { left: 12px; }
.wiki-tl-item,
.wiki-tl-item:nth-child(odd),
.wiki-tl-item:nth-child(even) {
float: none;
width: 85%;
left: 28px;
text-align: left;
margin-bottom: 16px;
}
.wiki-tl-item::after,
.wiki-tl-item:nth-child(odd)::after,
.wiki-tl-item:nth-child(even)::after {
left: -24px;
right: auto;
}
}
/* ================================================
时间轴模板系统 v4 - MediaWiki:Common.css
单侧布局:轴线居左,所有事件在右侧
支持模板:TL开始 / TL项目 / TL结束
TL项目组开始 / TL子项目 / TL项目组结束
================================================ */
/* ---- 1. 容器 ---- */
.wiki-tl {
position: relative;
margin: 24px auto;
padding: 10px 0 10px 50px; /* 左侧留出轴线空间 */
max-width: 860px;
box-sizing: border-box;
overflow: hidden;
}
/* ---- 2. 左侧竖线 ---- */
.wiki-tl::before {
content: '';
position: absolute;
left: 18px; /* 轴线距容器左边缘 */
top: 0;
bottom: 0;
width: 3px;
background: #3a87ad;
}
/* ---- 3. 清除浮动(兜底) ---- */
.wiki-tl::after {
content: '';
display: block;
clear: both;
}
/* ================================================
条目基础样式(所有条目靠右对齐)
================================================ */
.wiki-tl-item {
position: relative;
width: 100%; /* 占满轴线右侧全部宽度 */
padding: 10px 14px;
background: #f0f8ff;
border: 1px solid #b0cfe0;
border-radius: 6px;
margin-bottom: 22px;
box-sizing: border-box;
text-align: left; /* 全部左对齐 */
float: none;
clear: none;
}
/* ---- 覆盖旧版nth-child 双侧交替规则 ---- */
.wiki-tl-item:nth-child(odd),
.wiki-tl-item:nth-child(even) {
float: none;
clear: none;
left: auto;
width: 100%;
text-align: left;
}
/* ---- 圆点(对齐左侧轴线) ---- */
/*计算逻辑:
容器 padding-left = 50px → 条目左边缘在50px 处
轴线 left = 18px →轴线中心在 ≈19.5px 处
圆点宽 13px,圆心居中需left =-(50-18) + 6.5 ≈ -38px
*/
.wiki-tl-item::after {
content: '';
position: absolute;
top: 15px;
left: -38px; /* 圆点中心对齐轴线 */
right: auto;
width: 13px;
height: 13px;
background: #3a87ad;
border-radius: 50%;
border: 2px solid #fff;
z-index: 1;
}
/* ---- 同步覆盖旧版 nth-child 圆点定位 ---- */
.wiki-tl-item:nth-child(odd)::after,
.wiki-tl-item:nth-child(even)::after {
left: -38px;
right: auto;
}
/* ---- 日期标签 ---- */
.wiki-tl-date {
font-weight: bold;
color: #3a87ad;
font-size: 1em;
margin-bottom: 5px;
}
/* ---- 事件内容 ---- */
.wiki-tl-content {
color: #444;
font-size: 0.93em;
line-height: 1.6;
}
/* ================================================
条目颜色类型扩展
================================================ */
/* tl-highlight:重要 /黄色 */
.wiki-tl-item.tl-highlight {
background: #fff8e1;
border-color: #fbc02d;
}
.wiki-tl-item.tl-highlight .wiki-tl-date { color: #b8860b; }
.wiki-tl-item.tl-highlight::after { background: #fbc02d; }
/* tl-success:成功 / 绿色 */
.wiki-tl-item.tl-success {
background: #f0fff4;
border-color: #66bb6a;
}
.wiki-tl-item.tl-success .wiki-tl-date { color: #2e7d32; }
.wiki-tl-item.tl-success::after { background: #66bb6a; }
/* tl-danger:警示 / 红色 */
.wiki-tl-item.tl-danger {
background: #fff0f0;
border-color: #e57373;
}
.wiki-tl-item.tl-danger .wiki-tl-date { color: #c62828; }
.wiki-tl-item.tl-danger::after{ background: #e57373; }
/* tl-info:说明 / 灰色 */
.wiki-tl-item.tl-info {
background: #f5f5f5;
border-color: #9e9e9e;
}
.wiki-tl-item.tl-info .wiki-tl-date { color: #555; }
.wiki-tl-item.tl-info::after { background: #9e9e9e; }
/* ================================================
分组多事件扩展样式
================================================ */
/* 分组日期标题加底线 */
.wiki-tl-group .wiki-tl-date {
margin-bottom: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #b0cfe0;
}
/* 子事件列表容器 */
.wiki-tl-group-body {
display: flex;
flex-direction: column;
gap: 6px;
}
/* 单个子事件 */
.wiki-tl-subitem {
padding: 6px 10px;
border-left: 3px solid #3a87ad;
background: #ffffff;
border-radius: 3px;
text-align: left;
}
/* 子事件标签徽章 */
.wiki-tl-sub-tag {
display: inline-block;
font-size: 0.78em;
font-weight: bold;
background: #3a87ad;
color: white;
padding: 1px 8px;
border-radius: 10px;
margin-bottom: 4px;
}
/* 标签为空时自动隐藏 */
.wiki-tl-sub-tag:empty { display: none; }
/* 子事件颜色类型 */
.wiki-tl-subitem.tl-highlight { border-left-color: #fbc02d; }
.wiki-tl-subitem.tl-highlight .wiki-tl-sub-tag {
background: #fbc02d;
color: #333;
}
.wiki-tl-subitem.tl-success { border-left-color: #66bb6a; }
.wiki-tl-subitem.tl-success .wiki-tl-sub-tag { background: #66bb6a; }
.wiki-tl-subitem.tl-danger { border-left-color: #e57373; }
.wiki-tl-subitem.tl-danger .wiki-tl-sub-tag { background: #e57373; }
.wiki-tl-subitem.tl-info { border-left-color: #9e9e9e; }
.wiki-tl-subitem.tl-info .wiki-tl-sub-tag{ background: #9e9e9e; }
/* ================================================
移动端响应式适配
================================================ */
@media screen and (max-width: 600px) {
.wiki-tl {
padding-left: 36px;
}
.wiki-tl::before {
left: 12px;
}
/* 同步调整圆点位置:-(36-12)+6.5 ≈ -24px */
.wiki-tl-item::after,
.wiki-tl-item:nth-child(odd)::after,
.wiki-tl-item:nth-child(even)::after {
left: -28px;
right: auto;
}
}
/* ================================================
卡片模板系统 v1 - MediaWiki:Common.css
支持模板:卡片组开始 / 卡片 / 卡片组结束
悬停动效:上浮 + 阴影加深 + 扫光
================================================ */
/* ---- 卡片网格容器(Flexbox)---- */
.wiki-card-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin: 24px 0;
align-items: stretch;
}
/* ----卡片基础(默认三列)---- */
.wiki-card {
flex: 0 0 calc(33.333% - 14px);
min-width: 180px;
position: relative;
overflow: hidden;
background: #ffffff;
border: 1px solid #e0e0e0;
border-top: 3px solid #3a87ad; /* 顶部彩色强调线 */
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
transition: transform 0.28s ease, box-shadow 0.28s ease;
box-sizing: border-box;
display: flex;
flex-direction: column;
cursor: default;
}
/* ================================================悬停动效
================================================ */
/*---- 动效1:扫光(光晕从左向右扫过)---- */
.wiki-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 60%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.38),
transparent
);
transition: left 0.55s ease;
pointer-events: none;
z-index: 0;
}
/* ---- 动效2:卡片上浮 + 阴影加深 ---- */
.wiki-card:hover {
transform: translateY(-7px);
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.13);
}
/* ---- 触发扫光 ---- */
.wiki-card:hover::before {
left: 150%;
}
/* ---- 动效3:图标放大 ---- */
.wiki-card:hover .wiki-card-icon-wrap {
transform: scale(1.18);
}
/* ================================================
卡片内部结构
================================================ */
/* 图标区域 */
.wiki-card-icon-wrap {
padding: 20px 20px 4px;
font-size: 2.2em;
line-height: 1;
transition: transform 0.28s ease;
position: relative;
z-index: 1;
}
.wiki-card-icon-wrap:empty { display: none; }
/* 主体区域 */
.wiki-card-body {
padding: 14px 20px 16px;
flex: 1;
position: relative;
z-index: 1;
}
/* 标题 */
.wiki-card-title {
font-size: 1.05em;
font-weight: bold;
color: #1a1a2e;
margin-bottom: 4px;
line-height: 1.4;
}
/* 副标题 */
.wiki-card-subtitle {
font-size: 0.83em;
color: #aaa;
margin-bottom: 10px;
font-style: italic;
}
.wiki-card-subtitle:empty { display: none; }
/* 正文内容 */
.wiki-card-content {
font-size: 0.92em;
color: #555;
line-height: 1.68;
}
/* 底部链接区域 */
.wiki-card-footer {
padding: 10px 20px 14px;
border-top: 1px solid #f2f2f2;
position: relative;
z-index: 1;
}
/* 链接为空时自动隐藏整个底部 */
.wiki-card-footer a[href=""]{ display: none; }
.wiki-card-footer:has a[href=""]{ padding: 0; border-top: none; }
.wiki-card-footer a {
font-size: 0.88em;
font-weight: bold;
color: #3a87ad;
text-decoration: none;
}
.wiki-card-footer a:hover { text-decoration: underline; }
/* ================================================
颜色主题类型
================================================ */
/* card-success:绿色 */
.wiki-card.card-success { border-top-color: #66bb6a; }
.wiki-card.card-success:hover {
box-shadow: 0 16px 36px rgba(102, 187, 106, 0.22);
}
.wiki-card.card-success .wiki-card-title { color: #2e7d32; }
.wiki-card.card-success .wiki-card-footer a { color: #2e7d32; }
/* card-warning:黄色 */
.wiki-card.card-warning { border-top-color: #fbc02d; }
.wiki-card.card-warning:hover {
box-shadow: 0 16px 36px rgba(251, 192, 45, 0.25);
}
.wiki-card.card-warning .wiki-card-title { color: #b8860b; }
.wiki-card.card-warning .wiki-card-footer a { color: #b8860b; }
/* card-danger:红色 */
.wiki-card.card-danger { border-top-color: #e57373; }
.wiki-card.card-danger:hover {
box-shadow: 0 16px 36px rgba(229, 115, 115, 0.22);
}
.wiki-card.card-danger .wiki-card-title { color: #c62828; }
.wiki-card.card-danger .wiki-card-footer a { color: #c62828; }
/* card-info:灰色 */
.wiki-card.card-info { border-top-color: #9e9e9e; }
.wiki-card.card-info:hover {
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.13);
}
.wiki-card.card-info .wiki-card-title { color: #555; }
.wiki-card.card-info .wiki-card-footer a { color: #555; }
/* card-purple:紫色 */
.wiki-card.card-purple { border-top-color: #ab47bc; }
.wiki-card.card-purple:hover {
box-shadow: 0 16px 36px rgba(171, 71, 188, 0.22);
}
.wiki-card.card-purple .wiki-card-title { color: #6a1b9a; }
.wiki-card.card-purple .wiki-card-footer a { color: #6a1b9a; }
/* ================================================
多列布局选项
================================================ */
/* 两列 */
.wiki-card-grid.col-2 .wiki-card {
flex: 0 0 calc(50% - 10px);
}
/* 四列 */
.wiki-card-grid.col-4 .wiki-card {
flex: 0 0 calc(25% - 15px);
}
/* ================================================
响应式适配
================================================ */
/* 平板:4 列 → 2 列 */
@media screen and (max-width: 860px) {
.wiki-card-grid.col-4 .wiki-card {
flex: 0 0 calc(50% - 10px);
}
}
/* 手机:全部 → 单列 */
@media screen and (max-width: 600px) {
.wiki-card,
.wiki-card-grid.col-2 .wiki-card,
.wiki-card-grid.col-4 .wiki-card {
flex: 0 0 100%;
min-width: unset;
}
}