V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
drymonfidelia
V2EX  ›  程序员

为什么绝大部分网站,用户光标 hover 按钮的时候会变 pointer 样式, native app 大多不会,这样用户体验不是很不 native

  •  
  •   drymonfidelia · 22 小时 16 分钟前 · 2753 次点击
    38 条回复    2026-02-11 05:59:04 +08:00
    mcfog
        1
    mcfog  
       22 小时 9 分钟前
    答案在谜面里。网页是“页”不是 app 。网页本来就不 native 。
    drymonfidelia
        2
    drymonfidelia  
    OP
       22 小时 2 分钟前
    @mcfog 这样交互习惯不统一为什么用户会习惯呢,现在前端各种技术例如 SPA 都在想办法让用户感觉 native ,为什么没人考虑优化下这个设计
    vishun
        3
    vishun  
       21 小时 55 分钟前
    native app 是指安卓和 ios 相关的应用吗?这个连光标都没有,怎么 hover?
    shaozelin030405
        4
    shaozelin030405  
       21 小时 52 分钟前
    native app 吗,pointer 就在用户手里呀
    Lockroach
        5
    Lockroach  
       21 小时 52 分钟前
    如果是安卓 iOS 的话没有光标,macOS 和 windows 应用的话看开发者适配,我用的 app 看了下还是有 pointer 样式的
    blucas01
        6
    blucas01  
       21 小时 46 分钟前
    @Lockroach 很大概率是 electron ,其实还是网页 😅
    usVexMownCzar
        7
    usVexMownCzar  
       21 小时 45 分钟前 via iPhone
    因为不重要,用户不在乎,压根感觉不到,你在乎这个不如给用户两块钱。
    loolac
        8
    loolac  
       21 小时 39 分钟前
    问题是这玩意有这么重要吗?
    xxgw
        9
    xxgw  
       21 小时 27 分钟前   ❤️ 1
    前几年我自己做网站的时候,巴不得只要是能点击的就全都使用 pointer 光标样式。后面我看 youtube 上的学习 nextjs 这类技术时,我慢慢发现,其实有两套习惯,我觉得都有他们的道理。

    1 、只要是能交互的点击的,hover 时都会展示 pointer 光标,这其实也符合直觉,让用户知道这个东西能点击。

    2 、第二种就是,如果这个按钮是非页面跳转(比如切换主题颜色,点击弹窗,提交按钮操作等),则不会设置 pointer 的样式,那如果是一个链接或者是一个页面跳转的按钮,则 hover 上去就会展示 pointer 样式,这样子就是让用户知道当前这个操作是否会导致页面的跳转。

    我觉得两种方式都有道理,但是我现在基本都遵循第二种方式的原则去开发网页。
    wetalk
        10
    wetalk  
       21 小时 16 分钟前
    @drymonfidelia #2 因为先有网页,后有 app
    calvinHxx
        11
    calvinHxx  
       21 小时 10 分钟前
    本来就是网页,就不是 native app 。
    lovelyxiaod
        12
    lovelyxiaod  
       21 小时 3 分钟前
    那可不, native app hover 还没有 tooltip 呢.

    因为 native 根本没有 hover
    94
        13
    94  
       20 小时 59 分钟前   ❤️ 1
    很多时候如果 UI 上面不是明确表示成可以点击的效果,其实很多用户是不知道可以点击的。所以增加 pointer 样式或者 highlight 效果让用户知道这里可以点击是很常见的操作。
    理由很简单,产品设计应该越“白痴”、“傻瓜”越好,而不是什么"Native"的感觉。
    nilaoda
        14
    nilaoda  
       20 小时 58 分钟前
    按钮一般不会变 pointer ,超链接会
    94
        15
    94  
       20 小时 54 分钟前
    @94 #13 ,补充一下,“Native App” 并不只是移动设备上面的 App ,PC 这种带有光标设备上面的应用也可以是不使用 web 技术方案的"原生应用"。
    crysislinux
        16
    crysislinux  
       20 小时 52 分钟前
    应该指的是桌面 native app 和桌面 web 吧。web 这个 cursor 我觉得大部分是上古遗风,浏览器本身就有一些默认行为。native 和 web 这里最大的区别我觉得是文本复制性,web 里默认所有的文字都能复制,所以 cursor 默认是一个竖线光标,native 默认所有的文字都不能复制,所以 cursor 默认就是一个箭头。至于说让用户知道能不能点我觉得而不是很核心,native hover 上去即使光标不便大多也是会有背景变化提示的。
    crysislinux
        17
    crysislinux  
       20 小时 51 分钟前
    @lovelyxiaod 还有桌面 native 呢,你说的 hover ,Tooltip 都有
    66beta
        18
    66beta  
       20 小时 49 分钟前
    没有 cursor 怎么 hover ?还是你不是产品经理
    66beta
        19
    66beta  
       20 小时 48 分钟前
    @66beta #18 fix: 还好你不是产品经理
    xiaojun996
        20
    xiaojun996  
       20 小时 41 分钟前
    @xxgw #9 其实还是前者好, 看看 reddit 等一系列网站
    MindMindMax
        21
    MindMindMax  
       20 小时 37 分钟前
    原生应用有面向触摸屏设备:用户通过手指点击而非鼠标悬停进行操作。触摸屏没有“悬停”这一交互模式,因此 hover 效果在移动端天然受限。

    UI 设计哲学不同:原生应用更倾向于通过颜色、阴影、动画等视觉变化来响应点击,而不是依赖光标形态。
    nexo
        22
    nexo  
       20 小时 35 分钟前
    @xxgw 你慢慢的发现有参考什么权威指南吗 其实这是一个 UX/UI 问题 Google Material Design, Apple 对 web 的端的规范 都是必须加上的 因为现在都是扁平化的设计 不加会增加阅读成本
    nexo
        23
    nexo  
       20 小时 34 分钟前
    Native App 和 Web 是不一样的规范 一般是不用加
    Razio
        24
    Razio  
       20 小时 30 分钟前
    @xxgw #9 你有没有想过还有无障碍访问?我觉得你写这么多字一点道理没有,还是再想想
    john6lq
        25
    john6lq  
       20 小时 28 分钟前
    Web API 名字太有迷惑性了,指针 pointer 效果是一只手...我还好奇都在讨论什么呢。
    otakustay
        26
    otakustay  
       19 小时 45 分钟前
    浏览器的原生样式里按钮 hover 也不是手形的,我也不知道这个手形是怎么发展过来的
    june4
        27
    june4  
       19 小时 42 分钟前
    如果没变,感觉就象网页卡死了一样,用户期望会变手形,如果不符习惯会不有适感。
    adoal
        28
    adoal  
       19 小时 35 分钟前
    以前桌面原生 GUI 程序的标准 UI 组件都是通过风格来跟不能交互的部分区分的,比如可以点击的按钮很有立体感,比如失效的控件会变灰,所以不需要改变光标形状。
    ciaoca
        29
    ciaoca  
       18 小时 46 分钟前   ❤️ 1
    新生代从小使用触屏,已经不理解鼠标了
    Shatyuka
        30
    Shatyuka  
       18 小时 34 分钟前
    Semi.Avalonia 主题,能交互的控件都是手形,非常难受
    qzhai
        31
    qzhai  
       17 小时 17 分钟前
    哈哈,我也发现了,但是我现在开始遵循只有跳转页面才变小手。
    因为我看 shadcn ui 等国外主流的框架都是这么遵循的。
    但是国内的 ui 框架默认是要有交互的地方都变成小手。
    为此我还跟设计讨论过好一阵,最终决定遵循国外框架的规范。
    因为我们发现浏览器本身所有交互也是只有跳转页面的时候有小手。
    avenger
        32
    avenger  
       16 小时 14 分钟前 via iPhone
    tailwindcss v4 默认已经不加了,社区也是有两种声音

    /* 按钮标准加小手 cursor-pointer https://tailwindcss.com/docs/upgrade-guide#buttons-use-the-default-cursor */
    avenger
        33
    avenger  
       16 小时 12 分钟前 via iPhone
    dandeli0n
        34
    dandeli0n  
       15 小时 2 分钟前
    chrome 原生样式 hover 按钮也不会变成 pointer 吧,Winform 也可以将按钮的 cursor 设置成 hand
    开发者、设计者的风格选择罢了
    calvinHxx
        35
    calvinHxx  
       13 小时 52 分钟前
    https://github.com/microsoft/WinUI-Gallery
    这种才是纯血 native app, 用户体验比网页套壳还是好不少的。
    julyclyde
        36
    julyclyde  
       9 小时 51 分钟前
    app 是指触摸屏手机的 app 吗?
    这玩意有 hover 么?
    drymonfidelia
        37
    drymonfidelia  
    OP
       8 小时 20 分钟前
    @julyclyde 指的是桌面 app ,桌面才有 cursor
    lonely701
        38
    lonely701  
       43 分钟前
    首先在传统应用程式( program )中,比如 word ,如果有超链接( hyperlink )元素,指针形态就会改变,在浏览器中也是一样,这确保了 consistency 一致性,这是用户界面( UI )设计的核心之一,为了给用户带来确定性。
    第二点,浏览器本身也是一个应用程式( program ),浏览器本身的控件和网页中的链接都是可交互的元素,指针( cursor )悬停时两者有不同的反馈是非常合理的。
    Native App 这个概念虽然是基于 App ,也就是 iPhone 创造的概念,但是我认为这个词是为了和 Web App 做区分。Web App 和 Native App 的区别之一就在于指针形式不同。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    ♥ Do have faith in what you're doing.