From 870449fa4db66ccb4e55668226661ac18e0084f1 Mon Sep 17 00:00:00 2001 From: judy Date: Fri, 26 Jun 2026 17:15:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(web/style):=20=E9=BC=A0=E6=A0=87=20hover=20?= =?UTF-8?q?post-list=20=E6=97=B6=E6=BB=9A=E5=8A=A8=E6=9D=A1=E5=8D=A0?= =?UTF-8?q?=E4=BD=8D=E5=AF=BC=E8=87=B4=E5=86=85=E5=AE=B9=E5=B7=A6=E5=8F=B3?= =?UTF-8?q?=E6=8A=96=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #93 把 #post-list 的 scrollbar 改成 hover 时显示,通过 hover 切换 scrollbar-width: none → auto 实现。但这个切换在 Firefox 和 Chromium 都会真正占走 ~10px 布局宽度,鼠标移进 post-list 内容左移 10px、移走 再右移回来,肉眼可见的抖动。 修法:scrollbar-gutter: stable 永远预留 gutter,bar 仍然只在 hover 时画。视觉上跟之前完全一致(默认空、hover 出现),但布局宽度恒定, 鼠标进出零 reflow。 (原本是跟 PR #106 keyed-diff 一起修的,但 #106 在 scrollbar 改动 push 上去之前就 merge 了,所以这里单独再开一个 PR。) --- CHANGELOG.md | 1 + web/style.css | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index af2e518..0243958 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ auto-generated notes — but stable semver tags must pass. ## Unreleased - Thread view no longer flickers on every refresh. The post list is now diffed in place (keyed by post id), so unchanged posts keep their existing DOM nodes — SSE bursts, the 8s poll fallback, and cross-tab broadcasts can all fire together without repainting the column. When SSE is healthy the per-thread poll is suppressed entirely. +- Post column no longer shifts left/right when the pointer hovers the thread view. The Slack-style hover-reveal scrollbar now reserves its gutter at all times, so toggling the bar in/out doesn't reflow the column. - _Add entries here as they ship. They get cut into the next `v` section at release time._