Skip to content

fix(ShareBar): 修复移动端分享按钮被挤压变形 - #4382

Open
88lin wants to merge 1 commit into
notionnext-org:mainfrom
88lin:fix/sharebar-mobile-scroll
Open

fix(ShareBar): 修复移动端分享按钮被挤压变形#4382
88lin wants to merge 1 commit into
notionnext-org:mainfrom
88lin:fix/sharebar-mobile-scroll

Conversation

@88lin

@88lin 88lin commented Aug 7, 2026

Copy link
Copy Markdown
Member

已知问题

  1. 移动端屏幕宽度不够时,ShareBar 分享按钮没有横向滑动,排在左侧的按钮被 flex 压缩变形(图标和文字挤在一起)

解决方案

  1. 修改 components/ShareBar.js 的 Tailwind 类名
    • w-fullw-max min-w-full:移动端允许内容溢出触发横向滚动,同时保证按钮少时仍占满容器宽度
    • 添加 flex-nowrap:显式禁止换行
    • 添加 [&>*]:shrink-0:禁止按钮收缩变形
    • 添加 scroll-hidden:隐藏滚动条(项目 globals.css 中已有定义)
    • 添加 md:w-full:桌面端恢复全宽,保持 md:justify-end 右对齐布局不变

改动收益

  1. 移动端分享按钮不再被挤压变形
    • 按钮过多时可横向滑动浏览,触摸顺滑(touch-pan-x 已有)
    • 滚动条隐藏,视觉干净
  2. 桌面端布局完全不变
    • md:w-full 覆盖 w-maxmd:justify-end 保持右对齐
  3. 所有 21 个使用 ShareBar 的主题均兼容
    • 20 个主题在标准块级容器中使用,无影响
    • endspace 主题在 flex justify-end 容器中使用,overflow-x-auto 使 flex item 可收缩+滚动,无影响

具体改动

  1. components/ShareBar.js(+2/-2 行)
-    <div className='m-1 overflow-x-auto'>
-      <div className='flex w-full md:justify-end'>
+    <div className='m-1 overflow-x-auto scroll-hidden'>
+      <div className='flex w-max min-w-full flex-nowrap md:w-full md:justify-end [&>*]:shrink-0'>

测试确认

  • 本地开发环境测试通过(语法检查通过)
  • 桌面端布局无变化(md:w-full + md:justify-end 保持原行为)
  • 移动端按钮不再变形,可横向滑动
  • 所有 21 个主题兼容性逐一检查通过
  • 零副作用:flex-nowrap 是默认值显式声明,scroll-hidden 仅在溢出时生效,shrink-0 仅防止按钮收缩

用户文档

  • 不适用(无文档改动,纯 CSS 类名修复,不改变任何配置或 API)

问题:移动端屏幕宽度不够时,分享按钮没有横向滑动,
排在左侧的按钮被 flex 压缩变形。

修复:
- w-full → w-max min-w-full:移动端允许内容溢出触发横向滚动
- 添加 flex-nowrap:禁止换行
- 添加 [&>*]:shrink-0:禁止按钮收缩变形
- 添加 scroll-hidden:隐藏滚动条
- md:w-full:桌面端恢复全宽,保持 justify-end 布局不变

影响范围:所有使用 ShareBar 公共组件的主题
桌面端布局无变化
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

@web-flow is attempting to deploy a commit to the tangly1024's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants