feat(frontend): replace lazy loading with zibll lazysizes

This commit is contained in:
kate522 committed 2026-08-18 01:33:38 +08:00
1 parent 02571eecd6
commit 435ee1daa7
78 files changed
+1515 -909

No files matched your search

@@ -69,53 +69,34 @@
}
}
/* ============================================================
* 14. 图片懒加载 blur-to-sharp 过渡
* 模仿 zibll 的 lazy_blur 效果
* ============================================================ */
img.lazyload,
img.lazyloaded,
img[data-src] {
transition: filter 0.6s var(--ease), opacity 0.4s var(--ease);
/* Zibll lazySizes state and animation contract. */
.lazyloaded {
transition: 0.3s;
--lazy-animation: lazy_blur;
}
img.lazyload,
img[data-src] {
filter: blur(5px);
opacity: 0.7;
.lazyloaded.img-icon {
--lazy-animation: lazy_fade;
}
img.lazyloaded {
filter: blur(0);
opacity: 1;
img.lazyloaded:not(.lazyloadafter) {
-webkit-animation: var(--lazy-animation) 0.6s;
animation: var(--lazy-animation) 0.6s;
}
/* 14b. aksrt-lazy 动画变体(按 lazyload_animation 配置切换) */
@keyframes aksrt-lazy-blur {
from { filter: blur(8px); opacity: 0.6; }
to { filter: blur(0); opacity: 1; }
}
@keyframes aksrt-lazy-fade {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes aksrt-lazy-scale {
from { transform: scale(1.08); opacity: 0.8; }
to { transform: scale(1); opacity: 1; }
@keyframes lazy_blur {
0% { filter: blur(5px); }
100% { filter: blur(0); }
}
img.aksrt-lazy {
transition: filter 0.5s var(--ease), opacity 0.5s var(--ease), transform 0.5s var(--ease);
@keyframes lazy_fade {
0% { opacity: 0; }
100% { opacity: 1; }
}
img.aksrt-loaded[data-lazy-animation="blur"] {
animation: aksrt-lazy-blur 0.6s ease both;
}
img.aksrt-loaded[data-lazy-animation="fade"] {
animation: aksrt-lazy-fade 0.6s ease both;
}
img.aksrt-loaded[data-lazy-animation="scale"] {
animation: aksrt-lazy-scale 0.5s ease both;
@keyframes lazy_scale {
0% { transform: scale(1.1); }
80% { transform: unset; }
}
/* ============================================================
@@ -308,21 +289,6 @@ input:focus, textarea:focus, select:focus,
animation: aksrtPopIn var(--dur-fast) var(--ease-out) forwards;
}
/* --- 图片懒加载过渡 --- */
img.lazyload, img.lazyloaded, img[data-src] {
transition: filter 0.6s var(--ease), opacity 0.4s var(--ease);
}
img.lazyload, img[data-src] {
filter: blur(5px);
opacity: 0.7;
}
img.lazyloaded {
filter: blur(0);
opacity: 1;
}
/* --- 滚动进度条动效 --- */
.reading-progress-bar {
transition: width 0.1s linear;