feat(frontend): replace lazy loading with zibll lazysizes
This commit is contained in:
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;
|
||||
|
||||
Reference in new issue
Block a user