feat(web): unify home published/growth cards with heat-strip vertical layout

This commit is contained in:
kairee committed 2026-11-01 17:18:42 +08:00
1 parent 59fa38b6e3
commit e40905da24
6 files changed
+57 -26

No files matched your search

+18 -11
View File
@@ -336,7 +336,7 @@ a.live-chip:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--bo
.rank-badge.rank-1 { background: var(--accent); color: var(--accent-contrast); }
.rank-badge.rank-2 { background: var(--accent-soft); color: var(--accent-strong); }
.rank-badge.rank-3 { background: var(--surface-3); color: var(--muted); }
.video-thumb, .hero-cover, .heat-thumb, .candidate-thumb {
.video-thumb, .hero-cover, .media-thumb, .candidate-thumb {
position: relative;
overflow: hidden;
border-radius: 9px;
@@ -348,7 +348,7 @@ a.live-chip:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--bo
width: 96px;
aspect-ratio: 16 / 9;
}
.video-thumb img, .hero-cover img, .heat-thumb img, .candidate-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-thumb img, .hero-cover img, .media-thumb img, .candidate-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cover-placeholder { display: grid; place-items: center; color: var(--muted); font-size: 10px; }
.cover-placeholder img.image-error { opacity: 0; }
.video-card-body { grid-column: 3; grid-row: 1; min-width: 0; }
@@ -426,7 +426,8 @@ a.live-chip:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--bo
scrollbar-width: none;
}
.heat-strip::-webkit-scrollbar { display: none; }
.heat-card {
/* 统一的竖排媒体卡:图 + 两行截断标题 + 作者/数据行 + 高亮数据行。 */
.media-card {
position: relative;
display: flex;
flex-direction: column;
@@ -435,12 +436,17 @@ a.live-chip:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--bo
border: 1px solid var(--border);
border-radius: 13px;
background: var(--surface);
scroll-snap-align: start;
transition: border-color 0.15s, transform 0.15s;
}
.heat-rank {
.media-card:hover {
border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
transform: translateY(-1px);
}
.heat-strip > .media-card { scroll-snap-align: start; }
.media-rank {
position: absolute;
top: 14px;
left: 14px;
top: 10px;
left: 10px;
z-index: 1;
display: grid;
place-items: center;
@@ -452,17 +458,18 @@ a.live-chip:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--bo
font-size: 11px;
font-weight: 700;
}
.heat-thumb { width: 100%; aspect-ratio: 16 / 9; }
.heat-title {
.media-thumb { width: 100%; aspect-ratio: 16 / 9; }
.media-title {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
font-size: 12.5px;
line-height: 1.35;
font-weight: 650;
}
.heat-meta, .heat-score { color: var(--muted); font-size: 10.5px; }
.heat-score { color: var(--accent); }
.media-meta { color: var(--muted); font-size: 10.5px; }
.media-highlight { color: var(--accent); font-size: 10.5px; font-weight: 650; }
.capacity-row { padding: 7px 0; }
.capacity-label { display: flex; justify-content: space-between; gap: 12px; font-size: 12.5px; }