diff --git a/frontend/src/components/ImgLightbox.vue b/frontend/src/components/ImgLightbox.vue index 73965fa..935b2c5 100644 --- a/frontend/src/components/ImgLightbox.vue +++ b/frontend/src/components/ImgLightbox.vue @@ -18,21 +18,21 @@ watch( (v) => { if (v) { window.addEventListener('keydown', onKey) - prevOverflow = document.body.style.overflow - document.body.style.overflow = 'hidden' - // 吸顶栏带 backdrop-filter,真机上其合成层会盖在遮罩之上 - // (遮罩明明 z-index 更高也拦不住)——索性开预览时整个藏掉 + prevOverflow = document.body.style.overflowY + // 只锁纵向:整个 overflow 改 hidden 会覆盖样式表的 overflow-x: clip, + // 横向从「裁剪」变「可滚动容器」,手机上整页能被拖宽(真实事故) + document.body.style.overflowY = 'hidden' document.body.classList.add('lb-open') } else { window.removeEventListener('keydown', onKey) - document.body.style.overflow = prevOverflow + document.body.style.overflowY = prevOverflow document.body.classList.remove('lb-open') } } ) onBeforeUnmount(() => { window.removeEventListener('keydown', onKey) - document.body.style.overflow = prevOverflow + document.body.style.overflowY = prevOverflow document.body.classList.remove('lb-open') })