·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设问答 >> 响应式导航的设计模式有哪几类?

响应式导航的设计模式有哪几类?

作者:佚名      网站建设问答编辑:admin      更新时间:2022-07-23

responsive-website-navigation-design-1

在大屏幕上,导航置顶或导航居左是两种典型的设计模式,然而,这两种模式在小屏幕上却遭遇挑战。在响应式设计日渐流行的今天(译者注:其实已经流行了好几年了),我们更有必要重新审视针对小屏幕环境下的导航设计模式。这些通过移动设备访问的页面导航,必须既方便用户快速访问,又不能过于突出。

以下,我列出了 7 种常见的响应式导航的设计模式,它们分别是:

置顶(或“放任自流”)

页脚锚点

菜单选择

开关

侧滑

置底

彻底隐藏

上述每种设计模式都各有利弊,大家在选择导航设计方案时,需要根据项目的实际情况作出判断。

置顶(或“放任自流”)

将导航置顶或让导航随布局任意流动(放任自流)是一种最简单的导航实现方式。正是由于这种易于实现的方式,它也成为了当下许多响应式网页的“标配”。

优点

易于实现:在大屏幕和小屏幕上的实现方式一致 不依赖 JavaScript:这样就最大程度上保证了兼容性 无需打破原有 CSS 样式 无需打乱内容本来的顺序:这种方式保证了它是完完全全的流体布局,无需一丁点的人为干预

缺点

占用空间:高度问题在移动端是核心问题。Luke 在自己的书中表达的“内容优先,导航其次”是典型的移动端网页体验。我们都期望用户能够以最快的速度获取内容,这久意味着我们需要移除导航以确保用户关注的焦点始终保持在核心信息上。而当导航高度过大,导致屏幕内的核心信息无法展示的时候,就会引起用户的疑惑。如下图,当我们打开一个页面时,整个屏幕都被导航占据,用户无法获取有效信息。 ![置顶导航在小屏幕上自动折行显示][2] 扩展性差:当你的导航刚好在一行内展示时,若要再添加章节的时候会出现什么情况呢?如果客户突然要求再增加一个名为“产品和服务”的导航类目呢?或者将导航标题翻译成其他语言后导致字符长度的变化呢?这些情况都会破坏原有的设计方案。 粗手指:导航全挤在一起,粗手指心急如焚,怎么点也点不到自己想要访问的导航链,这样就增加了误操作的几率(不适合小屏幕上通过手指进行点击操作) 跨设备的问题:不同设备渲染的方式各异,在 iPhone 上很棒的页面或许在其它平台上表现得很糟糕。 ![不同设备上渲染的差异][3] 页脚锚点

xys20150105

在页面头部只保留一个去底部的锚点,将导航放在页脚是一种讨巧的做法。它节省了头部宝贵的空间,同时又满足了访问导航的需求。

优点: 容易实现:页眉锚点,导航置底,没有比这更简单的了! – 不依赖 JavaScript:这意味着更少的测试和更好的浏览器支持 CSS 改动小:由于采用了绝对或固定位置,将底部导航移到大屏幕的顶部简直太容易了

缺点: 用户迷惑:快速跳转至页脚这一动作容易让用户迷惑 缺乏优雅:这样说很奇怪(译者也有同感),但我(作者)认为类似开关的交互方式更性感一些。这种采用锚点跳转的方式虽然实用,但不优雅,相比那些经过精心设计的移动端应用的交互方式而言太过粗糙。

菜单选择

xys201501051

将导航收纳在一个选择菜单的控件当中是一个不错的方式。它避免了导航置顶所占用的屏幕空间。

优点:

腾出了足够的空间:一个选择菜单无论是在横向或纵向上都特别省空间 符合用户习惯:相比置底的方式,用户更习惯导航被放置在页面头部 容易辨认:下拉菜单的控件样式十分显眼,及其容易发现 支持本地化的交互方式:由于采用标准控件,使得操作十分本地化,这种本地化是指对设备自身属性的支持,比如,在触摸设备上能够通过点击操作,而在轨迹球上支持滚动操作;

缺点:

样式不统一:不同浏览器会呈现不同样式的下拉菜单 可能会让用户困惑:大部分用户只在填写表单时才会看见下拉菜单,而将下拉菜单用作导航,担心用户一下子无法理解 下拉菜单内容的处理方式比较奇怪:因为在下拉菜单中,子项目会自动缩进,这样虽然可用,但从视觉上看十分混乱; 可能会依赖浏览器调用 JavaScript

开关

xys201501052

开关的实现方式类似页脚锚点,但不是点击跳转至页脚,而是点击后将菜单区域滑动展开。同样也是比较容易实现的设计模式。

优点:

易于理解:相较于页脚锚点突然间的跳转,开关这种是位置不变的交互方式更容易让用户接受 交互更优雅(相比跳转而言) 拓展性强:你唯一要做的就是在PC端隐藏开关,在适当的断点处显示它,这一切的一切都能通过 CSS 来实现。

缺点:

动画可能不够平滑:Android 对于动画的支持一直不好,因此,可能得到你想要的效果 非常依赖 JavaScript:正因为打开开关的动画需要 JavaScript 来实现,所以它的兼容性不太好(作者的黑莓设备就不支持);