@@ -178,7 +186,7 @@ export const MediaCard = memo(function MediaCard({
}
return (
-
+
{card}
)
diff --git a/web/src/components/VirtualMediaGrid.tsx b/web/src/components/VirtualMediaGrid.tsx
index 297ecb3..08ebacb 100644
--- a/web/src/components/VirtualMediaGrid.tsx
+++ b/web/src/components/VirtualMediaGrid.tsx
@@ -3,8 +3,9 @@ import { Virtuoso } from 'react-virtuoso'
import clsx from 'clsx'
// 与 LibraryMediaSections 等处的海报网格保持同一套响应式列配置。
+// 手机上单卡只有约 100px 宽,间距收到 gap-3 给标题和徽标多留一点宽度。
export const MEDIA_GRID_CLASS =
- 'grid grid-cols-3 gap-4 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8'
+ 'grid grid-cols-3 gap-3 sm:gap-4 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 2xl:grid-cols-8'
function getFallbackColumns(width: number): number {
if (width >= 1536) return 8
@@ -105,7 +106,7 @@ export function VirtualMediaGrid({
itemContent={(rowIndex) => {
const start = rowIndex * columns
return (
-
+
{Array.from({ length: columns }, (_, colIndex) => {
const itemIndex = start + colIndex
if (itemIndex >= totalCount) {
diff --git a/web/tailwind.config.js b/web/tailwind.config.js
index a66870b..f3fb9c5 100644
--- a/web/tailwind.config.js
+++ b/web/tailwind.config.js
@@ -1,6 +1,12 @@
/** @type {import('tailwindcss').Config} */
export default {
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
+ future: {
+ // hover 样式只对真正能悬停的设备(鼠标/触控板)生效。触屏点击会让浏览器
+ // 保留 :hover 状态,导致海报墙上的卡片被放大、上移、盖上「立即观影」遮罩,
+ // 看起来像是整行错位、海报显示不全。
+ hoverOnlyWhenSupported: true,
+ },
theme: {
extend: {
fontFamily: {