模板:Fstpagetest styles:修订间差异
来自RIA | Wiki
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
/* FST 门户页面样式 — v3. | /* FST 门户页面样式 — v3.3 | ||
* | * 极简现代风格 (Refined):去伪存真,无嵌套,重排版 | ||
* | * 视觉优化:移除多余装饰,使用留白和微阴影,字体颜色更深沉 */ | ||
/* ========== | /* ========== 全局容器 ========== */ | ||
.fst-portal { | .fst-portal { | ||
max-width: 100%; | max-width: 100%; | ||
color: #2c3e50; | |||
/* 深蓝灰,比纯黑更现代 */ | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; | |||
line-height: 1.6; | |||
} | } | ||
/* | /* 链接颜色优化 */ | ||
.fst-portal a { | |||
color: #388e3c; | |||
/*以此为基准绿*/ | |||
text-decoration: none; | |||
transition: color 0.2s; | |||
} | |||
.fst-portal a:hover { | |||
text-decoration: none; | |||
color: #1b5e20; | |||
} | |||
/* 移除所有盒子样式的默认边框 */ | |||
.fst-box { | .fst-box { | ||
border: | border: none; | ||
background: transparent; | |||
margin-bottom: | margin-bottom: 2.5rem; | ||
padding: 0; | |||
} | } | ||
/* 标题样式:极简,无背景条 */ | |||
.fst-box-header { | .fst-box-header { | ||
margin-bottom: 1.2rem; | |||
padding: 0. | border-bottom: 1px solid #eee; | ||
padding-bottom: 0.5rem; | |||
} | } | ||
.fst-box-header h2 { | .fst-box-header h2 { | ||
font-size: 1.5rem; | |||
font-weight: 600; | |||
color: #2c3e50; | |||
margin: 0; | margin: 0; | ||
padding: 0; | padding: 0; | ||
border | border: none; | ||
display: flex; | |||
align-items: center; | |||
gap: 0.5rem; | |||
} | } | ||
/* 移除之前所有的装饰性伪元素,保持纯净 */ | |||
.fst-box-content { | .fst-box-content { | ||
padding: | padding: 0; | ||
background: | background: transparent; | ||
} | } | ||
/* ========== 1. Welcome / Hero 区域 ========== */ | /* ========== 1. Welcome / Hero 区域 ========== */ | ||
.fst-welcome { | .fst-welcome { | ||
margin-bottom: 3rem; | |||
text-align: left; | |||
padding: 1rem 0; | |||
border-bottom: 1px solid #f0f0f0; | |||
/* 仅底部分割线 */ | |||
} | } | ||
.fst-welcome-head h2 { | .fst-welcome-head h2 { | ||
font-size: 2.2rem; | |||
font-weight: 700; | |||
color: #1a1a1a; | |||
color: # | letter-spacing: -0.03em; | ||
line-height: 1.2; | |||
margin: 0 0 0.5rem 0; | |||
border: none; | |||
} | } | ||
.fst-welcome-body { | .fst-welcome-body { | ||
font-size: 1.1rem; | |||
color: #666; | |||
max-width: 800px; | |||
} | } | ||
.fst-welcome-meta { | .fst-welcome-meta { | ||
margin-top: 0.8rem; | |||
font-size: 0. | font-size: 0.85rem; | ||
color: #999; | |||
text-transform: uppercase; | |||
letter-spacing: 0.05em; | |||
font-weight: 500; | |||
} | } | ||
/* ========== 2. 公告薄条 ========== */ | /* ========== 2. 公告薄条 (Modern Alert) ========== */ | ||
.fst-announce { | .fst-announce { | ||
background: | background: #f1f8e9; | ||
padding: 0. | /* 极浅绿 */ | ||
margin-bottom: | color: #33691e; | ||
font-size: 0. | padding: 0.8rem 1.2rem; | ||
margin-bottom: 2.5rem; | |||
font-size: 0.95rem; | |||
border-radius: 8px; | |||
/* 轻微圆角 */ | |||
display: flex; | |||
align-items: center; | |||
gap: 0.8rem; | |||
} | } | ||
/* | .fst-announce::before { | ||
content: '📢'; | |||
/* 保持 emoji 或者用 SVG */ | |||
font-size: 1.2em; | |||
} | |||
/* | /* ========== 3. 核心布局区 ========== */ | ||
.fst-row-top { | .fst-row-top { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: | gap: 2.5rem; | ||
margin-bottom: | margin-bottom: 3rem; | ||
align-items: | align-items: stretch; | ||
} | } | ||
/* | /* 功能入口:网格卡片 */ | ||
.fst-quicknav { | .fst-quicknav { | ||
flex: 1 1 | flex: 1 1 500px; | ||
/* 增加在大屏幕的权重 */ | |||
} | } | ||
.fst-quicknav-grid { | .fst-quicknav-grid { | ||
display: | display: grid; | ||
grid-template-columns: repeat(3, 1fr); | |||
gap: | gap: 1.2rem; | ||
} | } | ||
.fst-quicknav-item { | .fst-quicknav-item { | ||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
padding: 1. | text-align: center; | ||
padding: 1.8rem 1rem; | |||
background: #fff; | |||
border: 1px solid #e0e0e0; | border: 1px solid #e0e0e0; | ||
border-radius: | border-radius: 12px; | ||
transition: | transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); | ||
cursor: pointer; | |||
position: relative; | |||
text-decoration: none !important; | |||
} | } | ||
/* Hover 效果:轻微上浮 + 柔和阴影 */ | |||
.fst-quicknav-item:hover { | .fst-quicknav-item:hover { | ||
border-color: # | border-color: #a5d6a7; | ||
transform: translateY(-4px); | |||
box-shadow: 0 | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06); | ||
z-index: 2; | |||
} | |||
/* 点击/Active 效果 */ | |||
.fst-quicknav-item:active { | |||
transform: translateY(-1px); | |||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04); | |||
} | } | ||
.fst-quicknav-icon { | .fst-quicknav-icon { | ||
font-size: | font-size: 2.2rem; | ||
margin-bottom: 0.8rem; | |||
filter: grayscale(100%); | |||
/* 默认黑白,更显高级 */ | |||
opacity: 0.8; | |||
transition: all 0.25s; | |||
} | } | ||
.fst-quicknav- | .fst-quicknav-item:hover .fst-quicknav-icon { | ||
filter: grayscale(0%); | |||
opacity: 1; | |||
transform: scale(1.1); | |||
} | } | ||
.fst-quicknav-label | .fst-quicknav-label { | ||
font-size: 0.95rem; | |||
font-weight: 500; | |||
color: #555; | color: #555; | ||
transition: color 0.25s; | |||
} | } | ||
.fst-quicknav-item:hover .fst-quicknav-label | .fst-quicknav-item:hover .fst-quicknav-label { | ||
color: #2e7d46; | color: #2e7d46; | ||
} | } | ||
/* | /* 世界图标区 */ | ||
.fst-worlds { | .fst-worlds { | ||
flex: 1 | flex: 0 1 320px; | ||
/* 固定合适宽度,避免过宽 */ | |||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
gap: 1.2rem; | |||
gap: | |||
} | } | ||
.fst-worlds-row { | .fst-worlds-row { | ||
display: flex; | display: flex; | ||
gap: | gap: 1.2rem; | ||
width: 100%; | |||
} | } | ||
.fst-world-item { | .fst-world-item { | ||
flex: 1; | |||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
padding: 1.5rem; | |||
background: #fff; | |||
border: 1px solid #e0e0e0; | |||
border-radius: 12px; | |||
text-decoration: none; | text-decoration: none; | ||
color: #333; | color: #333; | ||
min-height: 8rem; | |||
/* 保证高度,显眼 */ | |||
transition: all 0.25s; | |||
min-height: | |||
transition: | |||
} | } | ||
.fst-world-item:hover { | .fst-world-item:hover { | ||
border-color: #4caf50; | border-color: #4caf50; | ||
transform: translateY(-4px); | |||
box-shadow: 0 | box-shadow: 0 12px 24px rgba(76, 175, 80, 0.1); | ||
} | } | ||
.fst-world-symbol { | .fst-world-symbol { | ||
font-size: | font-size: 3rem; | ||
margin-bottom: 0.5rem; | |||
filter: grayscale(100%) brightness(1.2); | |||
/* 默认淡一点 */ | |||
transition: all 0.25s; | |||
} | |||
.fst-world-item:hover .fst-world-symbol { | |||
filter: grayscale(0%); | |||
transform: scale(1.1); | |||
} | } | ||
.fst-world-name { | .fst-world-name { | ||
font-size: | font-weight: 600; | ||
font-size: 1rem; | |||
color: #444; | |||
} | } | ||
/* --- 分隔线 --- */ | /* --- 分隔线 --- */ | ||
.fst-divider { | .fst-divider { | ||
border: | border: 0; | ||
border-top: 1px solid # | border-top: 1px solid #f0f0f0; | ||
margin: 0 | margin: 2rem 0; | ||
} | } | ||
| 第215行: | 第262行: | ||
.fst-tabbar { | .fst-tabbar { | ||
display: flex; | display: flex; | ||
gap: | gap: 2.5rem; | ||
border-bottom: | border-bottom: 1px solid #e0e0e0; | ||
margin-bottom: | margin-bottom: 2rem; | ||
} | } | ||
.fst-tabbar a { | .fst-tabbar a { | ||
padding: 0. | padding-bottom: 0.8rem; | ||
color: #888; | color: #888; | ||
font- | font-weight: 500; | ||
border-bottom: 2px solid transparent; | border-bottom: 2px solid transparent; | ||
margin-bottom: - | margin-bottom: -1px; | ||
font-size: 1.05rem; | |||
} | } | ||
.fst-tabbar a:hover { | .fst-tabbar a:hover { | ||
color: # | color: #333; | ||
} | } | ||
/* | /* 激活状态 */ | ||
.fst- | .fst-tabbar a.active, | ||
.fst-tabbar a:target { | |||
color: #2e7d46; | |||
border-bottom-color: #2e7d46; | |||
} | } | ||
/* --- 下方两列布局 --- */ | |||
/* --- | |||
.fst-row-bottom { | .fst-row-bottom { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: | gap: 4rem; | ||
/* 增加间距 */ | |||
align-items: flex-start; | |||
} | } | ||
.fst-main-left { | .fst-main-left { | ||
flex: 1 1 | flex: 1 1 600px; | ||
} | } | ||
.fst-main-right { | .fst-main-right { | ||
flex: 0 0 | flex: 0 0 280px; | ||
/* 右侧栏稍微独立 */ | |||
} | } | ||
/* | /* 主要内容文字优化 */ | ||
.fst-panel-content { | .fst-panel-content { | ||
font-size: 1rem; | |||
color: #444; | |||
} | } | ||
.fst-mod-tag { | .fst-mod-tag { | ||
display: inline- | display: inline-flex; | ||
padding: 0. | align-items: center; | ||
padding: 0.4em 0.8em; | |||
margin: 0.2em; | margin: 0.2em; | ||
background: #f5f5f5; | background: #f5f5f5; | ||
color: #555; | |||
border-radius: 6px; | |||
font-size: 0.9rem; | |||
transition: all 0.2s; | |||
} | } | ||
.fst- | .fst-mod-tag:hover { | ||
background: #e8f5e9; | |||
color: #2e7d46; | |||
transform: translateY(-1px); | |||
} | } | ||
/* | /* 时间线:更细致 */ | ||
.fst- | .fst-timeline-title { | ||
font-size: 1.1rem; | |||
font-weight: 600; | |||
margin: 0. | margin-top: 3rem; | ||
margin-bottom: 1.5rem; | |||
padding-bottom: 0.5rem; | |||
border-bottom: 1px dashed #e0e0e0; | |||
} | } | ||
.fst- | .fst-timeline { | ||
display: flex; | |||
flex-direction: column; | |||
gap: 0; | |||
} | } | ||
.fst-timeline-item { | |||
.fst-timeline- | display: flex; | ||
gap: 1.5rem; | |||
padding-bottom: 1.5rem; | |||
position: relative; | |||
padding- | |||
} | } | ||
.fst-timeline { | .fst-timeline-item::before { | ||
content: ''; | |||
position: absolute; | |||
left: 5px; | |||
top: 6px; | |||
bottom: 0; | |||
width: 1px; | |||
background: #e0e0e0; | |||
} | } | ||
.fst-timeline-item | .fst-timeline-item:last-child::before { | ||
display: none; | |||
} | } | ||
.fst-timeline-dot { | .fst-timeline-dot { | ||
width: | width: 11px; | ||
height: | height: 11px; | ||
border-radius: 50%; | border-radius: 50%; | ||
background: | background: #fff; | ||
flex: 0 | border: 2px solid #ccc; | ||
margin-top: 0. | flex-shrink: 0; | ||
z-index: 1; | |||
margin-top: 4px; | |||
transition: border-color 0.2s; | |||
} | |||
.fst-timeline-item:hover .fst-timeline-dot { | |||
border-color: #4caf50; | |||
background: #e8f5e9; | |||
} | } | ||
.fst-timeline-date { | .fst-timeline-date { | ||
font-family: monospace; | |||
color: #999; | color: #999; | ||
font-size: 0. | font-size: 0.9rem; | ||
padding-top: 1px; | |||
min-width: 4.5em; | |||
} | } | ||
.fst-timeline-text { | .fst-timeline-text { | ||
color: #333; | |||
font-weight: 500; | |||
} | } | ||
/* | /* 公告列表:纯净列表 */ | ||
.fst-news-title { | .fst-news-title { | ||
font- | font-size: 1.1rem; | ||
font-weight: 600; | |||
border-bottom: 2px solid #a5d6a7; | |||
padding-bottom: 0. | padding-bottom: 0.5rem; | ||
margin-bottom: 1rem; | |||
display: inline-block; | |||
} | } | ||
| 第375行: | 第409行: | ||
list-style: none; | list-style: none; | ||
padding: 0; | padding: 0; | ||
} | } | ||
.fst-news-list li { | .fst-news-list li { | ||
padding: 0. | padding: 0.6rem 0; | ||
border-bottom: 1px solid # | border-bottom: 1px solid #f5f5f5; | ||
color: # | color: #666; | ||
display: flex; | |||
align-items: baseline; | |||
gap: 0.5rem; | |||
} | } | ||
.fst-news-list li: | .fst-news-list li::before { | ||
content: '•'; | |||
color: #a5d6a7; | |||
font-size: 1.2em; | |||
} | } | ||
/* ========== 4. 地标 (简约图片卡片) ========== */ | |||
/* ========== 4. 地标 | |||
.fst-landmarks-grid { | .fst-landmarks-grid { | ||
display: | display: grid; | ||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); | |||
gap: | gap: 1.5rem; | ||
} | } | ||
.fst-landmark-item { | .fst-landmark-item { | ||
background: #fff; | |||
border: 1px solid #eee; | |||
border: 1px solid # | border-radius: 12px; | ||
border-radius: | padding: 1.5rem; | ||
text-align: center; | |||
transition: | transition: all 0.25s; | ||
} | } | ||
.fst-landmark-item:hover { | .fst-landmark-item:hover { | ||
transform: translateY(-4px); | |||
box-shadow: 0 | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06); | ||
border-color: #b9f6ca; | |||
} | } | ||
.fst-landmark-name { | .fst-landmark-name { | ||
font-weight: | font-weight: 600; | ||
margin-bottom: 0. | font-size: 1.1rem; | ||
margin-bottom: 0.2rem; | |||
color: #2e7d46; | color: #2e7d46; | ||
} | } | ||
.fst-landmark-desc { | .fst-landmark-desc { | ||
font-size: 0. | font-size: 0.9rem; | ||
color: #999; | color: #999; | ||
} | } | ||
/* ========== 5. | /* ========== 5. Footer (极简) ========== */ | ||
.fst-footer { | .fst-footer { | ||
margin-top: 4rem; | |||
padding: 2rem 0; | |||
text-align: center; | text-align: center; | ||
color: #bbb; | |||
color: # | border-top: 1px solid #f5f5f5; | ||
font-size: 0.9rem; | |||
} | } | ||
/* ========== | /* ========== 响应式细节 ========== */ | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.fst-row- | .fst-row-bottom { | ||
flex-direction: column; | flex-direction: column; | ||
gap: 2rem; | |||
} | } | ||
.fst- | .fst-timeline-item { | ||
gap: 1rem; | |||
} | } | ||
.fst-main-right { | .fst-main-right { | ||
flex: | flex: auto; | ||
width: 100%; | |||
border-top: 1px solid #f0f0f0; | |||
padding-top: 2rem; | |||
border- | |||
} | } | ||
} | } | ||
2026年2月14日 (六) 01:14的版本
/* FST 门户页面样式 — v3.3
* 极简现代风格 (Refined):去伪存真,无嵌套,重排版
* 视觉优化:移除多余装饰,使用留白和微阴影,字体颜色更深沉 */
/* ========== 全局容器 ========== */
.fst-portal {
max-width: 100%;
color: #2c3e50;
/* 深蓝灰,比纯黑更现代 */
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.6;
}
/* 链接颜色优化 */
.fst-portal a {
color: #388e3c;
/*以此为基准绿*/
text-decoration: none;
transition: color 0.2s;
}
.fst-portal a:hover {
text-decoration: none;
color: #1b5e20;
}
/* 移除所有盒子样式的默认边框 */
.fst-box {
border: none;
background: transparent;
margin-bottom: 2.5rem;
padding: 0;
}
/* 标题样式:极简,无背景条 */
.fst-box-header {
margin-bottom: 1.2rem;
border-bottom: 1px solid #eee;
padding-bottom: 0.5rem;
}
.fst-box-header h2 {
font-size: 1.5rem;
font-weight: 600;
color: #2c3e50;
margin: 0;
padding: 0;
border: none;
display: flex;
align-items: center;
gap: 0.5rem;
}
/* 移除之前所有的装饰性伪元素,保持纯净 */
.fst-box-content {
padding: 0;
background: transparent;
}
/* ========== 1. Welcome / Hero 区域 ========== */
.fst-welcome {
margin-bottom: 3rem;
text-align: left;
padding: 1rem 0;
border-bottom: 1px solid #f0f0f0;
/* 仅底部分割线 */
}
.fst-welcome-head h2 {
font-size: 2.2rem;
font-weight: 700;
color: #1a1a1a;
letter-spacing: -0.03em;
line-height: 1.2;
margin: 0 0 0.5rem 0;
border: none;
}
.fst-welcome-body {
font-size: 1.1rem;
color: #666;
max-width: 800px;
}
.fst-welcome-meta {
margin-top: 0.8rem;
font-size: 0.85rem;
color: #999;
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 500;
}
/* ========== 2. 公告薄条 (Modern Alert) ========== */
.fst-announce {
background: #f1f8e9;
/* 极浅绿 */
color: #33691e;
padding: 0.8rem 1.2rem;
margin-bottom: 2.5rem;
font-size: 0.95rem;
border-radius: 8px;
/* 轻微圆角 */
display: flex;
align-items: center;
gap: 0.8rem;
}
.fst-announce::before {
content: '📢';
/* 保持 emoji 或者用 SVG */
font-size: 1.2em;
}
/* ========== 3. 核心布局区 ========== */
.fst-row-top {
display: flex;
flex-wrap: wrap;
gap: 2.5rem;
margin-bottom: 3rem;
align-items: stretch;
}
/* 功能入口:网格卡片 */
.fst-quicknav {
flex: 1 1 500px;
/* 增加在大屏幕的权重 */
}
.fst-quicknav-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.2rem;
}
.fst-quicknav-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: 1.8rem 1rem;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 12px;
transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
cursor: pointer;
position: relative;
text-decoration: none !important;
}
/* Hover 效果:轻微上浮 + 柔和阴影 */
.fst-quicknav-item:hover {
border-color: #a5d6a7;
transform: translateY(-4px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
z-index: 2;
}
/* 点击/Active 效果 */
.fst-quicknav-item:active {
transform: translateY(-1px);
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}
.fst-quicknav-icon {
font-size: 2.2rem;
margin-bottom: 0.8rem;
filter: grayscale(100%);
/* 默认黑白,更显高级 */
opacity: 0.8;
transition: all 0.25s;
}
.fst-quicknav-item:hover .fst-quicknav-icon {
filter: grayscale(0%);
opacity: 1;
transform: scale(1.1);
}
.fst-quicknav-label {
font-size: 0.95rem;
font-weight: 500;
color: #555;
transition: color 0.25s;
}
.fst-quicknav-item:hover .fst-quicknav-label {
color: #2e7d46;
}
/* 世界图标区 */
.fst-worlds {
flex: 0 1 320px;
/* 固定合适宽度,避免过宽 */
display: flex;
flex-direction: column;
gap: 1.2rem;
}
.fst-worlds-row {
display: flex;
gap: 1.2rem;
width: 100%;
}
.fst-world-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1.5rem;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 12px;
text-decoration: none;
color: #333;
min-height: 8rem;
/* 保证高度,显眼 */
transition: all 0.25s;
}
.fst-world-item:hover {
border-color: #4caf50;
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(76, 175, 80, 0.1);
}
.fst-world-symbol {
font-size: 3rem;
margin-bottom: 0.5rem;
filter: grayscale(100%) brightness(1.2);
/* 默认淡一点 */
transition: all 0.25s;
}
.fst-world-item:hover .fst-world-symbol {
filter: grayscale(0%);
transform: scale(1.1);
}
.fst-world-name {
font-weight: 600;
font-size: 1rem;
color: #444;
}
/* --- 分隔线 --- */
.fst-divider {
border: 0;
border-top: 1px solid #f0f0f0;
margin: 2rem 0;
}
/* --- Tab 栏 --- */
.fst-tabbar {
display: flex;
gap: 2.5rem;
border-bottom: 1px solid #e0e0e0;
margin-bottom: 2rem;
}
.fst-tabbar a {
padding-bottom: 0.8rem;
color: #888;
font-weight: 500;
border-bottom: 2px solid transparent;
margin-bottom: -1px;
font-size: 1.05rem;
}
.fst-tabbar a:hover {
color: #333;
}
/* 激活状态 */
.fst-tabbar a.active,
.fst-tabbar a:target {
color: #2e7d46;
border-bottom-color: #2e7d46;
}
/* --- 下方两列布局 --- */
.fst-row-bottom {
display: flex;
flex-wrap: wrap;
gap: 4rem;
/* 增加间距 */
align-items: flex-start;
}
.fst-main-left {
flex: 1 1 600px;
}
.fst-main-right {
flex: 0 0 280px;
/* 右侧栏稍微独立 */
}
/* 主要内容文字优化 */
.fst-panel-content {
font-size: 1rem;
color: #444;
}
.fst-mod-tag {
display: inline-flex;
align-items: center;
padding: 0.4em 0.8em;
margin: 0.2em;
background: #f5f5f5;
color: #555;
border-radius: 6px;
font-size: 0.9rem;
transition: all 0.2s;
}
.fst-mod-tag:hover {
background: #e8f5e9;
color: #2e7d46;
transform: translateY(-1px);
}
/* 时间线:更细致 */
.fst-timeline-title {
font-size: 1.1rem;
font-weight: 600;
margin-top: 3rem;
margin-bottom: 1.5rem;
padding-bottom: 0.5rem;
border-bottom: 1px dashed #e0e0e0;
}
.fst-timeline {
display: flex;
flex-direction: column;
gap: 0;
}
.fst-timeline-item {
display: flex;
gap: 1.5rem;
padding-bottom: 1.5rem;
position: relative;
}
.fst-timeline-item::before {
content: '';
position: absolute;
left: 5px;
top: 6px;
bottom: 0;
width: 1px;
background: #e0e0e0;
}
.fst-timeline-item:last-child::before {
display: none;
}
.fst-timeline-dot {
width: 11px;
height: 11px;
border-radius: 50%;
background: #fff;
border: 2px solid #ccc;
flex-shrink: 0;
z-index: 1;
margin-top: 4px;
transition: border-color 0.2s;
}
.fst-timeline-item:hover .fst-timeline-dot {
border-color: #4caf50;
background: #e8f5e9;
}
.fst-timeline-date {
font-family: monospace;
color: #999;
font-size: 0.9rem;
padding-top: 1px;
min-width: 4.5em;
}
.fst-timeline-text {
color: #333;
font-weight: 500;
}
/* 公告列表:纯净列表 */
.fst-news-title {
font-size: 1.1rem;
font-weight: 600;
border-bottom: 2px solid #a5d6a7;
padding-bottom: 0.5rem;
margin-bottom: 1rem;
display: inline-block;
}
.fst-news-list {
list-style: none;
padding: 0;
}
.fst-news-list li {
padding: 0.6rem 0;
border-bottom: 1px solid #f5f5f5;
color: #666;
display: flex;
align-items: baseline;
gap: 0.5rem;
}
.fst-news-list li::before {
content: '•';
color: #a5d6a7;
font-size: 1.2em;
}
/* ========== 4. 地标 (简约图片卡片) ========== */
.fst-landmarks-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 1.5rem;
}
.fst-landmark-item {
background: #fff;
border: 1px solid #eee;
border-radius: 12px;
padding: 1.5rem;
text-align: center;
transition: all 0.25s;
}
.fst-landmark-item:hover {
transform: translateY(-4px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
border-color: #b9f6ca;
}
.fst-landmark-name {
font-weight: 600;
font-size: 1.1rem;
margin-bottom: 0.2rem;
color: #2e7d46;
}
.fst-landmark-desc {
font-size: 0.9rem;
color: #999;
}
/* ========== 5. Footer (极简) ========== */
.fst-footer {
margin-top: 4rem;
padding: 2rem 0;
text-align: center;
color: #bbb;
border-top: 1px solid #f5f5f5;
font-size: 0.9rem;
}
/* ========== 响应式细节 ========== */
@media (max-width: 768px) {
.fst-row-bottom {
flex-direction: column;
gap: 2rem;
}
.fst-timeline-item {
gap: 1rem;
}
.fst-main-right {
flex: auto;
width: 100%;
border-top: 1px solid #f0f0f0;
padding-top: 2rem;
}
}