diff --git a/web/src/app/global.css b/web/src/app/global.css index 75f5dc7f..4b8e93cd 100644 --- a/web/src/app/global.css +++ b/web/src/app/global.css @@ -74,6 +74,15 @@ } } +/* Hide scrollbar while keeping scroll behaviour (horizontal tag/filter rows). */ +.scrollbar-hide { + -ms-overflow-style: none; /* IE / Edge */ + scrollbar-width: none; /* Firefox */ +} +.scrollbar-hide::-webkit-scrollbar { + display: none; /* Chrome / Safari / WebKit */ +} + @custom-variant dark (&:is(.dark *)); @theme inline { diff --git a/web/src/app/home/plugins/components/plugin-market/PluginMarketComponent.tsx b/web/src/app/home/plugins/components/plugin-market/PluginMarketComponent.tsx index bdd4d623..b5fd6de0 100644 --- a/web/src/app/home/plugins/components/plugin-market/PluginMarketComponent.tsx +++ b/web/src/app/home/plugins/components/plugin-market/PluginMarketComponent.tsx @@ -787,38 +787,42 @@ function MarketPageContent({ - {/* 用真实标签做快速筛选 */} -
- - {availableTags.map((tag) => { - const selected = selectedTags.includes(tag.tag); - return ( - - ); - })} + {/* 用真实标签做快速筛选 —— 始终单行横向滚动,避免标签变多时换行错位 */} +
+
+ + {availableTags.map((tag) => { + const selected = selectedTags.includes(tag.tag); + return ( + + ); + })} +
+ {/* 右侧渐隐,提示还有更多标签可横向滚动查看 */} +