From 0887ff1a04e73d9eba6f06917d2ab53f71413147 Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Mon, 24 Aug 2026 09:37:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=89=8D=E7=AB=AF=E7=95=8C=E9=9D=A2):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=95=E9=A1=B5=E9=80=82=E9=AB=98=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/webui/ofdgo.css | 4 ++++ assets/webui/ofdgo.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/assets/webui/ofdgo.css b/assets/webui/ofdgo.css index 43bb320..57e5d65 100644 --- a/assets/webui/ofdgo.css +++ b/assets/webui/ofdgo.css @@ -401,6 +401,10 @@ body[data-hide-meta] .meta-panel { background-size: 24px 24px; } +.viewer-panel.single-page-fits-height { + overflow-y: hidden; +} + .empty-state { position: absolute; inset: 0; diff --git a/assets/webui/ofdgo.js b/assets/webui/ofdgo.js index 3297ac2..4966dfb 100644 --- a/assets/webui/ofdgo.js +++ b/assets/webui/ofdgo.js @@ -2110,6 +2110,7 @@ function scrollbarWidth() { function updateFitSpace() { const page = currentPageInfo(); if (!page || state.fitMode === "free") { + el.viewerPanel.classList.remove("single-page-fits-height"); el.pageFrame.style.removeProperty("--fit-space"); el.pageFrame.style.removeProperty("--fit-gap"); return; @@ -2117,6 +2118,7 @@ function updateFitSpace() { const shell = pageShell(state.pageIndex); const height = shell ? shell.getBoundingClientRect().height : Math.max(1, page.height * MM_TO_PX * state.scale); const base = pageSpace(); + el.viewerPanel.classList.toggle("single-page-fits-height", state.doc.pageCount === 1 && height <= el.viewerPanel.clientHeight - base * 2); const space = Math.max(base, (el.viewerPanel.clientHeight - height) / 2); const gap = space > base ? space + 1 : space; el.pageFrame.style.setProperty("--fit-space", `${space}px`);