feat(widgets): oneline posts scroller + tilt showcase cases

Add remaining high-traffic zibll marketing widgets: horizontal posts
rail and left-copy/right-image tilt cases, with CSS registration.
This commit is contained in:
2026-07-19 00:35:00 +08:00
parent bf28ab64b8
commit 2f81e2a0b5
5 changed files with 581 additions and 0 deletions
+157
View File
@@ -0,0 +1,157 @@
/**
* Batch3f: oneline posts + tilt cases.
*/
.aksrt-oneline { margin-bottom: 12px; }
.aksrt-oneline__track {
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(180px, 220px);
gap: 12px;
overflow-x: auto;
scroll-snap-type: x mandatory;
padding-bottom: 6px;
-webkit-overflow-scrolling: touch;
}
.aksrt-oneline.style-mini .aksrt-oneline__track {
grid-auto-columns: minmax(140px, 160px);
}
.aksrt-oneline__item {
display: flex;
flex-direction: column;
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--color-line, #e5e7eb);
background: var(--surface-1, #fff);
text-decoration: none;
color: inherit;
scroll-snap-align: start;
min-width: 0;
}
.aksrt-oneline.style-list .aksrt-oneline__item {
flex-direction: row;
align-items: center;
gap: 10px;
padding: 8px;
}
.aksrt-oneline__thumb {
height: 110px;
background: var(--surface-2, #f3f4f6) center/cover no-repeat;
overflow: hidden;
}
.aksrt-oneline.style-mini .aksrt-oneline__thumb { height: 90px; }
.aksrt-oneline.style-list .aksrt-oneline__thumb {
width: 64px;
height: 64px;
border-radius: 8px;
flex-shrink: 0;
}
.aksrt-oneline__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aksrt-oneline__thumb.is-empty { background: linear-gradient(135deg, #e2e8f0, #f8fafc); }
.aksrt-oneline__body { padding: 10px 12px 12px; min-width: 0; }
.aksrt-oneline.style-list .aksrt-oneline__body { padding: 0; }
.aksrt-oneline__title {
font-size: 13px;
font-weight: 600;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.aksrt-oneline__meta { margin-top: 4px; font-size: 11px; color: var(--muted-2-color, #999); }
.aksrt-tilt {
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 28px;
align-items: center;
margin-bottom: 18px;
}
@media (max-width: 991.98px) {
.aksrt-tilt { grid-template-columns: 1fr; }
}
.aksrt-tilt__badge {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 12px;
padding: 4px 10px;
border-radius: 999px;
background: #eff6ff;
color: #2563eb;
margin-bottom: 12px;
}
.aksrt-tilt__title {
font-size: 30px;
line-height: 1.25;
margin: 0 0 12px;
}
.aksrt-tilt__hl {
font-style: normal;
background: linear-gradient(90deg, #3b82f6, #a855f7);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.aksrt-tilt__subtitle {
font-size: 14px;
color: var(--muted-2-color, #666);
line-height: 1.7;
margin: 0 0 14px;
}
.aksrt-tilt__features {
list-style: none;
margin: 0 0 16px;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px 14px;
font-size: 13px;
}
.aksrt-tilt__features i { color: var(--color-primary, #3b82f6); margin-right: 4px; }
.aksrt-tilt__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.aksrt-tilt__btn {
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-radius: 999px;
background: var(--color-primary, #3b82f6);
color: #fff !important;
text-decoration: none;
font-size: 13px;
font-weight: 600;
}
.aksrt-tilt__showcase {
position: relative;
min-height: 260px;
}
.aksrt-tilt__img {
position: absolute;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 16px 40px rgba(0,0,0,.12);
background: var(--surface-2, #f3f4f6);
}
.aksrt-tilt__img.is-main {
position: relative;
width: 100%;
aspect-ratio: 4/3;
}
.aksrt-tilt__img:not(.is-main) {
width: 42%;
aspect-ratio: 4/3;
right: -4%;
bottom: -8%;
z-index: 2;
}
.aksrt-tilt__img:nth-child(3) {
left: -4%;
top: -6%;
right: auto;
bottom: auto;
width: 38%;
z-index: 1;
}
.aksrt-tilt__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aksrt-tilt__img.is-empty { background: linear-gradient(135deg, #dbeafe, #ede9fe); }
+1
View File
@@ -7,3 +7,4 @@
@import url("widget-batch3c.css");
@import url("widget-batch3d.css");
@import url("widget-batch3e.css");
@import url("widget-batch3f.css");