复盘B端导航设计,这些点要注意
xsobi 2024-11-24 23:32 1 浏览
编辑导读:作为一个新用户,进入一个网站或者产品的第一件事就是去看导航栏,根据导航栏的指引找到自己想要的信息。本文作者基于自己的工作经验,将从五个方面复盘了B端的导航设计,希望对你有帮助。
公司想要对原有的运营管理平台进行页面改版升级,本文就关于如何设计导航做了如下调查和总结。
公司现有平台页面如下:
页面有如下缺点:
- 顶部利用率低;
- 一级菜单过多;
- 功能搜索距离菜单位置太远;
- 根据后台数据,常用功能没有多少用户使用;
拿到任务,我的思路首先是探索导航的意义,其次查看其他产品的设计,而后总结导航的所有类型和可实现的方式,最后根据现有的菜单框架选定最适合的模型。
一、导航的意义
很多人是把导航和菜单联系在一起,叫导航菜单,但我觉得狭隘了。
菜单原指餐馆提供的列有各类菜肴的清单,它是大而全的;导航就是给客户指引,让用户知道自己在哪,可以去哪。显然导航的概念更丰富,而菜单是实现网站导航的一种。我们可以根据菜单点单,也可以按门店销售排行榜点单,也可以根据点单员的推荐点单。
所以发现了吗?这里就出现了三类导航:菜单导航(菜单点单)、标签导航(排行榜点单)、推荐导航(服务员推荐点单)。
二、菜单导航
菜单可分为顶部菜单、侧边菜单、顶部+侧边菜单。
关于这三者的优缺点,这位作者的梳理给了我很大帮助,链接如下:B端设计:导航菜单的设计5步法
这类菜单是将全平台所有可使用功能经过分类全部呈现出来,在重新讨论划分后,我们共有9个菜单,其中三个与平台主业务不想关,当时处于技术原因想借用前端框架暂时挂在这里,可以不用过多考虑,将其收起来放在隐藏点的位置即可。
所以实际为6个菜单,二级菜单大概为15个,三级菜单为75-80个。不算太多,三种类型的菜单摆放位置我们皆可考虑。
1. 关于二三级菜单展开模式
顶部放一级菜单,侧边放二三级菜单的模式通常一级菜单会展现出来,二三级展现形式可能会有以下两种:
1)二三级同时展示,如下图
2)二三层级逐级展开,如下图
同时展开的好处是可以将3级菜单一览无余,进入到内容页面只需要再点击一步。阿里云、腾讯云他们的菜单较多,采用的都是这种模式;而老牌的工具平台如PS、PR、Axure则喜欢逐级展开这种交互。
我没有想明白这类层级展开的菜单为何一直在用?从导航的目的触发,它使得找寻目标的路径变得很长,看起来似乎没有优势。
在展开方式上我们选择采用一级外露,二三级同时展开的模式。
2. 关于菜单位置
- 顶部+侧边导航:顶部放一级菜单,侧边同时展开二级和三级,它的阅读顺序不是很友好,我要先看上面,选中了一个后再在左边选择。
- 顶部导航:6个主菜单不多,且名字皆为两个字,在选择一级后,在下方同时展现二三级菜单,符合阅读顺序,是最佳选择。
- 侧边导航:侧边导航有三种展现形式:悬浮显示+纵向排列,依然违背阅读习惯;悬浮显示+横向排列,可取;固定显示,表达清晰,但是占位过多,排除。
最后,我们暂且选定顶部导航和侧边导航里的“悬浮显示+横向排列”,看一下与其他部分结合哪个效果会更好。
3. 关于交互方式
交互有两种,一种是悬停显示二三级菜单,一种是点击显示二三级菜单。两者的主要区别在于一个会随着鼠标移动消失,一个不会消失。
我个人倾向于点击,这样我不会因为不小心滑动鼠标导致面板消失,点击会让我有更强的掌控感,而且我觉得点击和悬停的操作成本是一样的。我不太明白上文作者所说的悬停可以使用户操作更方便的结论是怎么得来的。个人认为悬停只适用于出现的弹窗不需要进行二次点击,只是进行释义的场景。
鉴于团队其它同事偏好悬停,所以我们采用悬停+点击都支持的方式,但是菜单面板弹出后鼠标移出面板不会关闭面板,当再用户点击其它地方或点击某个子级菜单时关闭面板。
4. 关于使用图标
图标有两个作用:
1)简化表达
当人们熟悉它时,旁边即便没有文字说明我们领会它的内涵,这是全行业对用户的教育,潜移默化中形成了一套规范。如表达用户,一定是类似这种的图标。
表达更多则是:
当图标能清晰表达其内涵,则可以将页面的侧边导航收起,将空间让给内容区。
2)美化页面
如果菜单上全是文字,密密麻麻,没有记忆点,不是很好看。加上图标之后页面的层次感会好一些,而且图标可以比文字产生更好的记忆点,一二级菜单可以设计一个图标。
最终我们决定给每一个菜单都设计图标,这样自定义菜单模块上也可以用图标加文字的表现形式。在图标设计上,一级菜单的图标会选用不同的颜色,使菜单更有记忆点,页面也会更加年轻活泼。
三、标签导航
标签导航其实是菜单的一个二次分类,它不要求囊括所有功能,比如石墨文档里的“我的收藏”“最近使用”就是一个二次标签。系统支持自定义常见功能的导航就属于标签导航。
每个人按照自己的习惯定义导航可以极大地提高导航的速度,理应是非常好的一个功能。但是在我司原有的平台里,它仅出现在首页的右下角,实在太不突出。反观用户量极大的B端平台金蝶,它将常用功能放在首页的顶部,非常明显。
显然对于平台的频繁使用者而言,标签导航比导航菜单更具有导航价值,我们决定把标签导航固定在某一块显示,而不止是在首页显示,会给与它和菜单导航同样的重视。
四、推荐导航
推荐导航是平台给你推荐一些功能,最常出现在内容平台,比如优酷、人人都是产品经理网站在分析了大量用户的搜索后,将最有可能符合你目标的搜索项放在这里。
我们原有的平台里已经有了搜索模块,但使用者很少,一是因为他的位置与菜单相隔太远,一个在最左侧,一个在最右侧,根据设计的相关性原则,位置布局十分不合理。
运营后台的推荐不同于内容平台有大量用户的搜索数据可以进行分析出热点,但是我们有用户曾经的搜索记录。曾经搜索过的菜单很有可能有再次搜索的需求,类似百度搜索的历史搜索记录。
五、总结
导航的意义是给客户指引,帮助客户快速找到目标功能。它分为菜单导航、标签导航、推荐导航。菜单导航是合理分类,罗列全部套餐;标签导航是按照另一套规则或用户自定义常用功能菜单;推荐导航是根据大数据或历史数据预测用户可能想要寻找的目标功能。
最终一个产品的导航都需要结合三者共同作用。
作者:荣三歌 ;公众号:奇怪的猩猩
本文由 @荣三歌 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
相关推荐
- js向对象中添加元素(对象,数组) js对象里面添加元素
-
一、添加一个元素对象名["属性名"]=值(值:可以是一个值,可以是一个对象,也可以是一个数组)这样添加进去的元素,就是一个值或对象或数组...
- JS小技巧,如何去重对象数组?(一)
-
大家好,关于数组对象去重的业务场景,想必大家都遇到过类似的需求吧,这对这样的需求你是怎么做的呢。下面我就先和大家分享下如果是基于对象的1个属性是怎么去重实现的。方法一:使用.filter()和....
- 「C/C++」之数组、vector对象和array对象的比较
-
数组学习过C语言的,对数组应该都不会陌生,于是这里就不再对数组进行展开介绍。模板类vector模板类vector类似于string,也是一种动态数组。能够在运行阶段设置vector对象的长度,可以在末...
- 如何用sessionStorage保存对象和数组
-
背景:在工作中,我将[{},{}]对象数组形式,存储到sessionStorage,然后ta变成了我看不懂的形式,然后我想取之用之,发现不可能了~记录这次深刻的教训。$clickCouponIndex...
- JavaScript Array 对象 javascript的array对象
-
Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...
- JavaScript中的数组Array(对象) js array数组
-
1:数组Array:-数组也是一个对象-数组也是用来存储数据的-和object不同,数组中可以存储一组有序的数据,-数组中存储的数据我们称其为元素(element)-数组中的每一个元素都有一...
- 数组和对象方法&数组去重 数组去重的5种方法前端
-
列举一下JavaScript数组和对象有哪些原生方法?数组:arr.concat(arr1,arr2,arrn);--合并两个或多个数组。此方法不会修改原有数组,而是返回一个新数组...
- C++ 类如何定义对象数组?初始化数组?linux C++第43讲
-
对象数组学过C语言的读者对数组的概念应该很熟悉了。数组的元素可以是int类型的变量,例如int...
- ElasticSearch第六篇:复合数据类型-数组,对象
-
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON...
- 第58条:区分数组对象和类数组对象
-
示例设想有两个不同类的API。第一个是位向量:有序的位集合varbits=newBitVector;bits.enable(4);bits.enable([1,3,8,17]);b...
- 八皇后问题解法(Common Lisp实现)
-
如何才能在一张国际象棋的棋盘上摆上八个皇后而不致使她们互相威胁呢?这个著名的问题可以方便地通过一种树搜索方法来解决。首先,我们需要写一个函数来判断棋盘上的两个皇后是否互相威协。在国际象棋中,皇后可以沿...
- visual lisp修改颜色的模板函数 怎么更改visual studio的配色
-
(defunBF-yansemokuai(tuyuanyanse/ss)...
- 用中望CAD加载LISP程序技巧 中望cad2015怎么加载燕秀
-
1、首先请加载lisp程序,加载方法如下:在菜单栏选择工具——加载应用程序——添加,选择lisp程序然后加载,然后选择添加到启动组。2、然后是添加自定义栏以及图标,方法如下(以...
- 图的深度优先搜索和广度优先搜索(Common Lisp实现)
-
为了便于描述,本文中的图指的是下图所示的无向图。搜索指:搜索从S到F的一条路径。若存在,则以表的形式返回路径;若不存在,则返回nil。...
- 两个有助于理解Common Lisp宏的例子
-
在Lisp中,函数和数据具有相同的形式。这是Lisp语言的一个重大特色。一个Lisp函数可以分析另一个Lisp函数;甚至可以和另一个Lisp函数组成一个整体,并加以利用。Lisp的宏,是实现上述特色的...
- 一周热门
- 最近发表
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- android 开发环境 (24)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)