feat: 优化文章详情页 Fancybox 灯箱布局及配置
continuous-integration/drone/push Build is passing

This commit is contained in:
seahi committed 2026-09-12 08:04:59 +08:00
1 parent 827ceccdf0
commit 2ea461318c
2 files changed
+78 -1

No files matched your search

+52
View File
@@ -1598,3 +1598,55 @@ footer section p:first-child {
padding-top: 0 !important; padding-top: 0 !important;
} }
} }
/* 优化文章详情页灯箱 (Fancybox) 布局 */
.fancybox__container.has-vertical-thumbs {
flex-direction: row-reverse !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs {
width: var(--f-thumb-width, 94px) !important;
height: 100% !important;
flex-direction: column !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs__viewport {
flex-direction: column !important;
width: 100% !important;
height: 100% !important;
display: flex !important;
gap: 8px !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs__track {
flex-direction: column !important;
}
/* 确保图片上下有更多留白,避免顶头 */
.fancybox__slide {
padding: 60px 40px !important;
}
@media (max-width: 768px) {
/* 在移动端恢复默认的底部导航 */
.fancybox__container.has-vertical-thumbs {
flex-direction: column !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs {
width: 100% !important;
height: auto !important;
flex-direction: row !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs__viewport {
flex-direction: row !important;
width: 100% !important;
height: 100% !important;
display: flex !important;
}
.fancybox__container.has-vertical-thumbs .f-thumbs__track {
flex-direction: row !important;
}
.fancybox__slide {
padding: 40px 10px !important;
}
}
+26 -1
View File
@@ -372,7 +372,32 @@
if (typeof window !== 'undefined' && document.querySelector('[data-fancybox]')) { if (typeof window !== 'undefined' && document.querySelector('[data-fancybox]')) {
const { Fancybox } = await import('@fancyapps/ui/dist/index.js'); const { Fancybox } = await import('@fancyapps/ui/dist/index.js');
await import('@fancyapps/ui/dist/fancybox/fancybox.css'); await import('@fancyapps/ui/dist/fancybox/fancybox.css');
Fancybox.bind('[data-fancybox]', {}); // @ts-expect-error FancyboxOptions types may lack plugin properties like Toolbar/Thumbs in v6
Fancybox.bind('[data-fancybox]', {
Toolbar: {
display: {
left: [],
middle: [],
right: ['thumbs', 'zoomIn', 'zoomOut', 'fullscreen', 'close']
}
},
Thumbs: {
autoStart: false, // 默认不显示导航
type: 'classic'
},
Carousel: {
// 确保主图周围有留白,不顶边
},
on: {
ready: (fancybox: any) => {
// 强制添加 vertical thumbs 相关 class 以让导航靠右显示
const container = fancybox.getContainer();
if (container) {
container.classList.add('has-vertical-thumbs');
}
}
}
});
} }
if (!container) return; if (!container) return;