全局美化 v1

This commit is contained in:
tamakyi
2026-10-19 11:08:30 +08:00
parent b9a8afb2ec
commit d47329d505
27 changed files with 10220 additions and 219 deletions
+24 -24
View File
@@ -30,13 +30,13 @@
}
.explore-name a {
text-decoration: none;
color: #333;
color: var(--tb-text);
}
.explore-name a:hover {
color: #1e87f0;
color: var(--tb-primary);
}
.explore-intro {
color: #666;
color: var(--tb-text-secondary);
margin-bottom: 10px;
font-size: 0.9rem;
display: -webkit-box;
@@ -60,7 +60,7 @@
display: flex;
align-items: center;
padding: 10px;
background: #f8f8f8;
background: var(--tb-surface-2);
border-radius: 8px;
transition: background 0.2s;
}
@@ -83,7 +83,7 @@
}
.recommend-name a {
text-decoration: none;
color: #333;
color: var(--tb-text);
}
.recommend-tags {
display: flex;
@@ -108,14 +108,14 @@
gap: 16px;
min-width: 0;
padding: 16px 18px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 8px;
background: #fafafa;
background: var(--tb-surface-2);
text-decoration: none;
transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.hot-vote-item:hover {
border-color: #1e87f0;
border-color: var(--tb-primary);
background: #f5faff;
text-decoration: none;
transform: translateY(-1px);
@@ -126,7 +126,7 @@
.hot-vote-title {
display: block;
overflow: hidden;
color: #333;
color: var(--tb-text);
font-size: 0.98rem;
font-weight: 600;
line-height: 1.45;
@@ -146,7 +146,7 @@
}
.hot-vote-action {
flex: 0 0 auto;
color: #1e87f0;
color: var(--tb-primary);
font-size: 0.82rem;
white-space: nowrap;
}
@@ -176,25 +176,25 @@
padding: 4px;
margin: 2px auto 20px;
max-width: 320px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 9px;
background: #fafafa;
background: var(--tb-surface-2);
}
.explore-tab {
border: 0;
border-radius: 6px;
padding: 8px 15px;
background: transparent;
color: #666;
color: var(--tb-text-secondary);
cursor: pointer;
font-size: 0.9rem;
transition: background 0.2s ease, color 0.2s ease;
}
.explore-tab:hover { color: #1e87f0; }
.explore-tab:hover { color: var(--tb-primary); }
.explore-tab.is-active {
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
color: #1e87f0;
color: var(--tb-primary);
font-weight: 600;
}
.explore-panel[hidden] { display: none !important; }
@@ -211,12 +211,12 @@
border: 1px solid #dce9ff;
border-radius: 7px;
padding: 7px 11px;
color: #1e87f0;
color: var(--tb-primary);
background: #f5faff;
cursor: pointer;
font-size: 0.84rem;
}
.vote-random-btn:hover { border-color: #1e87f0; background: #edf6ff; }
.vote-random-btn:hover { border-color: var(--tb-primary); background: #edf6ff; }
.all-votes-list { display: grid; gap: 10px; }
.all-vote-item {
display: flex;
@@ -224,10 +224,10 @@
justify-content: space-between;
gap: 16px;
padding: 14px 16px;
border-bottom: 1px solid #e9e9e9;
border-bottom: 1px solid var(--tb-border);
text-decoration: none;
}
.all-vote-item:first-child { border-top: 1px solid #e9e9e9; }
.all-vote-item:first-child { border-top: 1px solid var(--tb-border); }
.all-vote-item:hover { background: #f8fbff; text-decoration: none; }
.all-vote-item .hot-vote-title { max-width: 100%; }
html[data-theme="dark"] .explore-tabs {
@@ -241,16 +241,16 @@
html[data-theme="dark"] .all-vote-item:hover { background: rgba(78, 168, 245, 0.10); }
.explore-notice {
background: #f0f7ff;
border-left: 4px solid #1e87f0;
border-left: 4px solid var(--tb-primary);
padding: 15px 20px;
margin-bottom: 20px;
border-radius: 4px;
color: #333;
color: var(--tb-text);
font-size: 0.9rem;
line-height: 1.6;
}
.explore-notice strong {
color: #1e87f0;
color: var(--tb-primary);
}
/* 极简「换一批」按钮:描边胶囊 + 悬停浅蓝底色 + 点击旋转反馈 */
.tb-shuffle-btn {
@@ -260,7 +260,7 @@
padding: 5px 14px;
font-size: 0.85rem;
line-height: 1.4;
color: #1e87f0;
color: var(--tb-primary);
background: transparent;
border: 1px solid #e3e3e3;
border-radius: 999px;
@@ -269,7 +269,7 @@
}
.tb-shuffle-btn:hover {
background: #f0f7ff;
border-color: #1e87f0;
border-color: var(--tb-primary);
}
.tb-shuffle-btn:active {
transform: scale(0.96);
+29 -29
View File
@@ -35,7 +35,7 @@
.preview-card {
background: #fff;
padding: 20px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 8px;
text-align: center;
}
@@ -76,9 +76,9 @@
gap: 4px;
padding: 4px;
margin-bottom: 18px;
border: 1px solid var(--tb-border, #e5e5e5);
border: 1px solid var(--tb-border);
border-radius: 9px;
background: var(--tb-surface-2, #fafafa);
background: var(--tb-surface-2);
}
.profile-tab {
flex: 1;
@@ -86,17 +86,17 @@
border-radius: 6px;
padding: 9px 8px;
background: transparent;
color: var(--tb-text-muted, #666);
color: var(--tb-text-muted);
cursor: pointer;
font-size: 0.9rem;
white-space: nowrap;
transition: background 0.2s ease, color 0.2s ease;
}
.profile-tab:hover { color: var(--tb-primary, #1e87f0); }
.profile-tab:hover { color: var(--tb-primary); }
.profile-tab.is-active {
background: var(--tb-surface, #fff);
background: var(--tb-surface);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
color: var(--tb-primary, #1e87f0);
color: var(--tb-primary);
font-weight: 600;
}
.profile-panel[hidden] { display: none !important; }
@@ -113,7 +113,7 @@
flex-direction: column;
gap: 12px;
padding: 16px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 8px;
background: #fff;
}
@@ -137,7 +137,7 @@
display: block;
font-size: 0.78rem;
line-height: 1.5;
color: #999;
color: var(--tb-text-muted);
}
.feat-field { display: block; }
.feat-field > label > span {
@@ -172,18 +172,18 @@
align-items: center;
gap: 3px;
padding: 3px 8px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 999px;
font-size: 0.78rem;
color: #666;
color: var(--tb-text-secondary);
cursor: pointer;
user-select: none;
}
.feat-day input { margin: 0; }
.feat-day.is-on {
border-color: #1e87f0;
border-color: var(--tb-primary);
background: rgba(30, 135, 240, 0.08);
color: #1e87f0;
color: var(--tb-primary);
}
.feat-schedule-times {
display: flex;
@@ -195,12 +195,12 @@
align-items: center;
gap: 6px;
font-size: 0.82rem;
color: #666;
color: var(--tb-text-secondary);
}
.feat-schedule-times input[type="time"] {
width: 130px;
padding: 4px 8px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 4px;
}
html[data-theme="dark"] .feat-day {
@@ -208,9 +208,9 @@
color: var(--tb-text-muted);
}
html[data-theme="dark"] .feat-day.is-on {
border-color: #1e87f0;
border-color: var(--tb-primary);
background: rgba(30, 135, 240, 0.14);
color: #1e87f0;
color: var(--tb-primary);
}
html[data-theme="dark"] .feat-schedule-times input[type="time"] {
border-color: var(--tb-border);
@@ -219,7 +219,7 @@
}
.feat-quota-line {
font-size: 0.82rem;
color: #666;
color: var(--tb-text-secondary);
text-align: center;
}
.feat-actions {
@@ -259,19 +259,19 @@
align-items: center;
gap: 6px;
padding: 6px 8px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 4px;
background: #fff;
cursor: text;
}
.tb-tag-box:focus-within { border-color: #1e87f0; }
.tb-tag-box:focus-within { border-color: var(--tb-primary); }
.tb-tag-chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 2px 8px;
border-radius: 3px;
background: #1e87f0;
background: var(--tb-primary);
color: #fff;
font-size: 0.875rem;
line-height: 1.8;
@@ -302,7 +302,7 @@
gap: 8px;
margin-top: 4px;
font-size: 0.75rem;
color: #999;
color: var(--tb-text-muted);
}
.tb-tag-error { color: #f0506e; }
html[data-theme="dark"] .tb-tag-box {
@@ -316,7 +316,7 @@
/* ===== profile account 面板卡片化(复用 UIkit 变量体系,暗色自动跟随) ===== */
.tb-pcard {
background: #fff;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 10px;
padding: 13px 14px 8px;
margin-bottom: 12px;
@@ -332,7 +332,7 @@
float: right;
font-size: 0.76rem;
font-weight: 400;
color: #999;
color: var(--tb-text-muted);
line-height: 1.6;
}
/* 头像与背景预览:两项同行、整体居中;头像框与背景框“显示高度”一致(150px) */
@@ -355,7 +355,7 @@
.tb-media-frame {
display: block;
flex: none;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
background: #f7f7f7;
overflow: hidden;
}
@@ -382,9 +382,9 @@
margin: 8px 0 0;
font-size: 0.72rem;
line-height: 1;
color: #666;
color: var(--tb-text-secondary);
background: #f4f4f4;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 999px;
padding: 4px 9px;
}
@@ -392,7 +392,7 @@
display: block;
font-size: 0.78rem;
line-height: 1.5;
color: #999;
color: var(--tb-text-muted);
margin-top: 6px;
}
.tb-media-actions { margin-top: 10px; }
@@ -421,7 +421,7 @@
text-align: center;
font-size: 0.78rem;
line-height: 1.6;
color: #999;
color: var(--tb-text-muted);
}
.tb-account-note:last-child { margin-bottom: 0; }
/* 裁剪弹窗:图片区域限制在视口内,移动端可用 */
+11 -11
View File
@@ -8,9 +8,9 @@
padding: 4px;
margin: 6px auto 20px;
max-width: 320px;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 9px;
background: #fafafa;
background: var(--tb-surface-2);
}
.qlist-tab {
flex: 1 1 0;
@@ -18,16 +18,16 @@
border-radius: 6px;
padding: 8px 15px;
background: transparent;
color: #666;
color: var(--tb-text-secondary);
cursor: pointer;
font-size: 0.9rem;
transition: background 0.2s ease, color 0.2s ease;
}
.qlist-tab:hover { color: #1e87f0; }
.qlist-tab:hover { color: var(--tb-primary); }
.qlist-tab.is-active {
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
color: #1e87f0;
color: var(--tb-primary);
font-weight: 600;
}
.qlist-panel[hidden] { display: none !important; }
@@ -38,23 +38,23 @@
justify-content: space-between;
gap: 16px;
padding: 14px 16px;
border-bottom: 1px solid #e9e9e9;
border-bottom: 1px solid var(--tb-border);
text-decoration: none;
}
.all-vote-item:first-child { border-top: 1px solid #e9e9e9; }
.all-vote-item:first-child { border-top: 1px solid var(--tb-border); }
.all-vote-item:hover { background: #f8fbff; text-decoration: none; }
.all-vote-item .hot-vote-title { max-width: 100%; }
.hot-vote-title {
display: block;
overflow: hidden;
color: #333;
color: var(--tb-text);
font-size: 0.98rem;
font-weight: 600;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.hot-vote-title:hover { color: #1e87f0; }
.hot-vote-title:hover { color: var(--tb-primary); }
.hot-vote-meta {
display: flex;
flex-wrap: wrap;
@@ -63,7 +63,7 @@
margin-top: 8px;
}
.hot-vote-meta .uk-label { font-size: 0.72rem; line-height: 1.6; }
.hot-vote-action { flex: 0 0 auto; color: #1e87f0; font-size: 0.82rem; white-space: nowrap; }
.hot-vote-action { flex: 0 0 auto; color: var(--tb-primary); font-size: 0.82rem; white-space: nowrap; }
/* 提问列表右上角:状态标签与操作按钮统一尺寸(等宽等高、垂直居中、完全对齐)。
每个元素显式带 .qlist-pill 类,选择器挂在 .qlist-pills 容器下提升优先级,
避免浏览器对 <button> 的默认样式或 UIkit .uk-label 造成差异。
@@ -132,7 +132,7 @@
}
.qlist-stat {
background: #fff;
border: 1px solid #e5e5e5;
border: 1px solid var(--tb-border);
border-radius: 9px;
padding: 8px 6px;
text-align: center;