feat(frontend): deepen single post 1:1 parity with Zibll

Split related style/source settings, add subtitle/meta/allow-view helpers, align cover/author/tags/pay shell markup and CSS with Zibll single.
This commit is contained in:
kate522 committed 2026-07-13 12:43:07 +08:00
1 parent 72ea0828bc
commit 48f7436030
14 files changed
+2156 -1434

No files matched your search

+46 -16
View File
@@ -1,5 +1,7 @@
/* ========== 面包屑导航 — 对齐 zibll breadcrumb ========== */
.breadcrumb-nav {
.breadcrumb-nav,
ul.breadcrumb,
.breadcrumbs-wrap {
font-size: 13px;
padding: 0 8px;
margin-bottom: 12px;
@@ -8,7 +10,9 @@
}
.breadcrumb-nav ol,
.breadcrumb-nav ul {
.breadcrumb-nav ul,
ul.breadcrumb,
.breadcrumbs.breadcrumb {
list-style: none;
margin: 0;
padding: 0;
@@ -18,59 +22,85 @@
gap: 0;
}
.breadcrumb-nav li {
.breadcrumb-nav li,
ul.breadcrumb > li,
.breadcrumbs.breadcrumb > li {
display: inline-flex;
align-items: center;
}
.breadcrumb-nav li + li::before {
/* Zibll flat ul.breadcrumb inserts parents with " </li><li> " — separators via content */
.breadcrumb-nav li + li::before,
ul.breadcrumb > li + li::before {
content: '/';
padding: 0 0 0 6px;
padding: 0 6px 0 6px;
opacity: 0.6;
}
.breadcrumb-nav a {
.breadcrumbs.breadcrumb .breadcrumbs__sep {
padding: 0 6px;
opacity: 0.6;
}
.breadcrumb-nav a,
ul.breadcrumb a,
.breadcrumbs a {
color: var(--color-ink-4, #999);
text-decoration: none;
transition: color 0.2s;
}
.breadcrumb-nav a:hover {
.breadcrumb-nav a:hover,
ul.breadcrumb a:hover,
.breadcrumbs a:hover {
color: var(--color-primary, #f04494);
}
.breadcrumb-nav .current {
.breadcrumb-nav .current,
ul.breadcrumb > li:last-child,
.breadcrumbs__item.is-current {
color: var(--color-ink-2, #4e5358);
font-weight: 500;
}
.single-cover-con .breadcrumb-nav,
.single-cover-con .breadcrumb {
.single-cover-con .breadcrumb,
.single-cover-con ul.breadcrumb,
.post-breadcrumbs .breadcrumb {
font-size: 13px;
margin: 5px 0 0 -6px;
opacity: unset;
padding: 0;
}
/* 封面内面包屑 */
.single-cover-con .breadcrumb-nav {
color: rgba(255, 255, 255, 0.7);
.single-cover-con .breadcrumb-nav,
.single-cover-con ul.breadcrumb,
.single-cover-con .breadcrumb {
color: rgba(255, 255, 255, 0.85);
}
.single-cover-con .breadcrumb-nav a {
color: rgba(255, 255, 255, 0.7);
.single-cover-con .breadcrumb-nav a,
.single-cover-con ul.breadcrumb a,
.single-cover-con .breadcrumb a {
color: rgba(255, 255, 255, 0.85);
}
.single-cover-con .breadcrumb-nav a:hover {
.single-cover-con .breadcrumb-nav a:hover,
.single-cover-con ul.breadcrumb a:hover {
color: #fff;
}
.single-cover-con .breadcrumb-nav .current {
.single-cover-con .breadcrumb-nav .current,
.single-cover-con ul.breadcrumb > li:last-child {
color: #fff;
}
/* 移动端 */
@media (max-width: 767px) {
.breadcrumb-nav {
.breadcrumb-nav,
ul.breadcrumb,
.breadcrumbs-wrap {
font-size: 12px;
}
}
@@ -540,3 +540,11 @@ html.dark .post-drop-meta__item:hover {
.post-actions .action i {
font-size: 16px;
}
.article-tags br { flex-basis: 100%; width: 100%; content: ""; display: block; height: 0; }
.article-tags .but.c-blue { color: #2196f3; }
.article-tags .but.c-yellow { color: #f0ad4e; }
.article-tags .but.c-green { color: #5cb85c; }
.article-tags .but.c-purple { color: #9c27b0; }
.article-tags .but.c-red { color: #f44336; }
+62 -2
View File
@@ -211,5 +211,65 @@
.single-head-cover .cover-meta.single-metabox {
display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 12px; color: var(--color-ink-4);
}
.aksrt-single-pay-box { margin: 16px 0 20px; }
.aksrt-single-pay-box .pay-box, .aksrt-single-pay-box .aksrt-paywall { margin: 0; }
/* Pay box root — Zibll #posts-pay.zib-widget.pay-box */
#posts-pay.zib-widget,
#posts-pay.pay-box,
.aksrt-single-pay-box {
margin: 16px 0 20px;
}
#posts-pay .aksrt-paywall,
.aksrt-single-pay-box .pay-box,
.aksrt-single-pay-box .aksrt-paywall {
margin: 0;
}
/* Cover meta pills + title-h-left */
.single-cover-con .article-title.title-h-left,
.single-cover .article-title.title-h-left {
color: #fff;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
margin: 0;
}
.single-metabox.cover-meta,
.cover-meta.abs-right {
position: absolute;
top: 12px;
right: 12px;
z-index: 3;
color: #fff;
}
.single-metabox .post-metas item,
.single-metabox .post-metas item a {
color: inherit;
opacity: 0.92;
margin-left: 10px;
font-size: 12px;
}
.single-metabox .post-metas item .fa,
.single-metabox .post-metas item i {
margin-right: 3px;
opacity: 0.9;
}
.single-cover-slide-wrap {
position: relative;
overflow: hidden;
border-radius: var(--radius-2xl, 16px);
}
.single-cover-slide-wrap .abs-center.left-bottom {
z-index: 2;
padding: 18px 20px;
color: #fff;
}
.article-avatar name.flex {
gap: 4px;
flex-wrap: wrap;
}
.article-avatar .aksrt-vip-badge,
.article-avatar .aksrt-identity-chip {
font-size: 12px;
line-height: 1.2;
vertical-align: middle;
}
.article-avatar .display-name {
margin-right: 2px;
}
@@ -549,3 +549,26 @@ html.dark .article-end-separator span {
.post-nav-box__item.is-empty {
visibility: hidden;
}
/* ===== Related (Zibll .relates / .relates-thumb) ===== */
.relates .title-theme { margin-bottom: 0; }
.relates .zib-widget { padding: 12px 15px; }
.relates ul.no-thumb { list-style: none; margin: 0; padding: 0; }
.relates ul.no-thumb li { padding: 6px 0; border-bottom: 1px dashed var(--color-line, rgba(0,0,0,.06)); }
.relates ul.no-thumb li:last-child { border-bottom: 0; }
.relates ul.no-thumb a.icon-circle { color: inherit; text-decoration: none; }
.relates ul.no-thumb a.icon-circle:hover { color: var(--focus-color, #f04494); }
.relates-thumb .swiper-scroll { padding-bottom: 4px; }
.relates-thumb .swiper-slide { width: 200px; max-width: 70vw; }
.relates-thumb .graphic.style-3 { position: relative; overflow: hidden; border-radius: 8px; }
.relates-thumb .graphic.style-3 .graphic-img { position: relative; overflow: hidden; background: var(--surface-2, #f3f4f6); }
.relates-thumb .graphic.style-3 img.fit-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.relates-thumb .graphic.style-3 .graphic-text { padding: 10px 12px; width: 100%; background: linear-gradient(transparent, rgba(0,0,0,.55)); color: #fff; }
.relates-thumb .graphic.style-3 .text1 { font-size: 13px; font-weight: 600; color: #fff; }
.relates-thumb .graphic.style-3 .text3 { opacity: .9; margin-top: 4px; }
/* Colored tag pills on single */
.article-tags .but { display: inline-flex; align-items: center; gap: 4px; margin: 0 6px 6px 0; }
.article-tags .but.ml6 { margin-left: 0; }
.allow-view-deny { margin: 20px 0; }