互联网已经渗透到人们日常生活的方方面面,台式机、笔记本、平板电脑、智能手机等设备日新月异,如何在不同厂家、不同型号的产品上呈现适合的信息以使用户获得一致的体验,是每个互联网内容开发商长期面临的难题。
早期,开发人员需要为电脑和移动智能设备分别设计内容和样式,针对不同用户分别定向,耗时费力。随着移动终端的飞速发展,为支持多种设备且节省网站的开发时间及维护成本,响应式网页设计逐渐成为主流设计。
一、响应式网页设计的意义
传统网站在不同客户端展现一样的内容,小屏幕显示细小紧密的文字和链接,用户不得不在手持设备的小屏幕上不停地滑动手指放大页面阅读信息、缩小页面查找信息,横屏竖屏来回切换,页面中提供交互的视觉元素需要多次放大才能适合手指操作。例如,传统网站中的用户登录或注册区块。
移动用户首先需要在密集的信息中找到它,随后通过手指操作多次放大这个区域,同时,在放大过程中注意不要触及到其他链接或按钮,然后把光标落实在文本域进行输入,最后移动到确认按钮处单击。此外,传统网站的文件量在移动网络环境中下载速度较慢,并且有些媒体内容不适应移动端浏览器的要求而不能正常显示。
随着智能设备的开发,基于台式机、平板电脑、智能手机,屏幕分辨率、尺寸、材料、显示方式,系统、浏览器、脚本支持等软件硬件带来的不同,用户都希望获得一致的网络体验,让产品迎合用户的需求,而不是让用户烦乱地适应产品。响应式网页设计是以用户为中心的设计实践。早在 2012 年,谷歌公司就指出,响应式设计是优化移动网站的最佳方式。不单是移动互联网,在品牌和服务的整体推广营销策略中,这一设计方法不断地巩固,成为整个互联网行业的发展战略之一。
二、响应式网页设计的定义
2010 年,Ethan Marcotte 提出响应式网页设计(RWD,Responsive Web Design),其实,这并不是一项新技术,而是已有技术———媒介查询 ( MediaQueries)、流式布局 ( Fluid Grids)、自适应图片(Scalable Images)的有机组合。随着技术标准的扩展,这三项技术(媒介查询、流式布局、自适应图片)虽然仍是响应式网页设计的核心,但并不是全部。响应式网页设计无论从观念还是技术都正在经历着优胜劣汰的进化过程。
响应式网页设计,是指根据用户的使用设备,使用情境以及使用行为来调整网页的版式、内容、功能和交互方式的设计方法。响应式网页设计为适应多样的浏览情况而设计更流畅、更灵活的页面,达到良好设计实践,为用户提供更优化的体验。
三、响应式网页设计的方法
响应式网页设计是以用户为中心的设计,关注特定情境下的用户体验,它既要适应设备的功能和限制又要适应用户的使用环境。响应式网页设计的方法主要包括以下几个方面。
(一)移动优先(Mobile First)
在网站策划与制作的初步阶段,响应式技术比常规方法费时耗力。一般来讲,开发人员需要了解用户设备及不同使用情境,优先从移动端开始设计,从创建具有一定可用性的基本体验开始,满足用户简洁、顺畅的情境需求。然后,渐进增强,布局显示内容,提高图片质素,增加必要的服务,提供恰当的交互,创造更丰富的体验。移动优先采用渐进增强(Progressive Enhance-ment)原则,而非早期网站设计提倡的优雅降级(Graceful Degradation)原则。移动优先既可以为不支持媒介查询的移动设备提供适合的布局,聚焦当下最重要的事,也可以降低 CSS 代码复杂性,减少冗余代码。
(二)媒介查询(Media Queries)
媒介查询是指根据用户特定情境,查询设备各种属性来布局样式和内容。测试的属性包括:设备屏幕宽高(device-width,device-height);视窗显示区域的宽高(width,height),例如浏览器窗口的大小;屏幕方向媒体特性决定一个设备是处于横屏还是竖屏,即设备处于垂直或水平的状态(orienta-tion),宽长比例等特性(aspect - ratio);设备屏幕分辨率(resolution),每平方英寸像素数(ppi),一般的屏幕为 163ppi,视网膜(Retina)屏为 326ppi。这些属性可以通过“与或非”等逻辑运算符形成复杂的表达式,以此判断是否为特定目标设备类型,从而加载特殊样式、调整页面布局、提供适合的功能和交互。
(三)流式布局(Fluid Layouts)
传统的固定宽度(Fixed Width)布局以像素为单位,是网页布局中最常见的方法,它简单粗暴地固定了页面的宽度,使用户在不同设备上浏览相同的页面。屏幕较大时,页面两侧出现大片的空白区域未加利用;屏幕较小时,页面内容位置不变,用户只能不断地通过手指滑动进行浏览和界面交互。流动宽度(Fluid Width)布局的单位是百分比。
流动布局根据浏览器窗口宽度自动调整页面布局,不会出现水平滚动条。大屏幕时,页面两侧不会出现固定布局中的大面积空白;小屏幕时,内容也不会挤成一团难以阅读。
弹性宽度(Elastic Width)布局以“em”为单位,随着文本大小的改变,容器的宽度也等比例地改变,将容器调整到合适的宽度。因为行宽过短,眼睛往复跳跃扫视会破坏阅读节奏;而行宽过长,容易造成持续行进阅读失误。为了提高文本的可读性,尽量使每行的中文字符个数介于 25 ~45 之间,英文字符个数介于 45 ~70 之间。
网格布局(Grid Layouts)可以使信息展示得有序、和谐,间距均衡、布局工整的页面提高了可读性,添加或更新内容时也更加容易。网格布局多采用 8 列、10 列、12 列、16 列,由于 12 可以被 2、3、4、6 整除,因此它是最常用的网格布局列数。
混合布局(Hybrid Layouts)则结合上述两种及以上的布局方法。相对固定布局,其他布局更具灵活性,但每种方法都各有优势和缺点。目前,响应式网页设计较常用的流式布局方法是利用 CSS 表格属性(display: table-cell)混合内容列为流动宽度,侧边列为固定宽度的方法。页面布局采用内容优先(Content First)原则,即权衡如:图片、视频、文本、广告等不同内容的重要性来决定网格的编排。
(四)文本单位(Sizing Font)
设计师常用像素(px)来设置文本大小,不同的设备屏幕具有不同的长宽尺寸和像素密度,这就造成了以像素为单位的文本可能在这台设备上显示的效果不错,在另一台设备上看起来太大或太小。并且,由于像素的精确控制,不同的文本大小需要分别逐一设置,调整时也更繁琐。在响应式网页设计中默认文本大小(em) 的比例和百分比(%)却具有更好的可访问性和灵活性。
“em”可以进行跨浏览器缩放,1em 相当于当前默认文本大小,指定了默认文本大小以后,调整默认基准或倍数,其余的文本就会自动按比例进行缩放,从而简化了维护。“%”和“em”类似,文本尺寸也可以按比例缩放,两者在技术上没有太大区别,且都是随父级容器级联的,只是“em”在语意上作为默认文本大小的比例设置更容易理解。另外,还有一种更具灵活性的单位“rem”(root em),其设置的大小只与 HTML 元素有关,避免了在嵌套元素中产生的级联问题。但是,目前“rem”虽然在桌面设备浏览器的支持较好,在移动平台却没有得到广泛的支持。
(五)自适应图片和视频(Scalable Images & Vidoes-)
许多网站在小屏幕设备上采取简单的方法来处理图片:方法一,设置图片的 CSS 的 display 属性为none,从视觉上隐藏图片;方法二,通过媒介查询简单地控制缩放图片的比例。采用这两种方式的图片依然会被按照原始文件量下载,既没有节省流量也没有节省下载时间,因此都是不可取的。
目前最优的方法是在加载页面之后,按照页面布局确定加载哪张图片。根据图片容器在不同设备上的宽度设置断点,通过媒介查询为不同断点提供不同的图片,如果图片等比缩放的艺术效果不够好,则需要视觉设计师为其单独切割画面以保证艺术感染力。对于 Retina 高分辨率屏幕,需要创建较大面积和文件量的图片,达到细致清晰的显示效果,而不需要在小屏幕低质素的设备上加载这样大的图片。可伸缩矢量图形(SVG,Scalable VectorGraphics),可以自如缩放而不失真、文件量也不会增大,是未来屏幕显示矢量图形的理想解决方案。
视频的处理与图片不同,在小屏幕中可以只提供一个视频链接来提高页面的加载速度;在大屏幕中则按照布局需要成比例缩放,关键是视频的容器要设置与视频的长宽比例一致,这样,视频才能够随着容器的变化而成比例调整。
(六)导航方式(Navigation Mode)
不论在哪种设备中,导航都是引导用户交互的重要元素,其可访问性和易用性是至关重要的,尤其在小屏幕中如何布局导航成为影响用户体验的重要课题。最简单的方式是任导航栏目流动堆叠下来,虽然直观整齐,但却占用了屏幕的宝贵空间,把主要内容信息挤了下去。第二种方法是把导航转化为下拉列表,节省空间,但不够直观,很多用户还不能把原本用于表单中的组件和导航栏目结合起来,另外,目前大多数设备都不支持下拉列表的样式化。第三种方法则是先隐藏导航,然后通过单击一个形象化的按钮来展开导航栏目,节省了屏幕空间,相对于下拉列表也比较容易理解,但增加了一个单击的操作步骤。
四、响应式网页设计的特点
响应式网页设计是为了让浏览者使用不同设备时获得一致的用户体验而开发的,不只是针对移动设备。在互联网产品、技术和标准不断发展的过程中,响应式网页设计也是不断进化的,只有了解其利弊,才能更好地为用户服务。
首先,响应式网页设计操作灵活,可以针对某个页面调整,而不必影响网站中的其他页面;其次,响应式网页设计适应性强,相对传统方法更容易调整以适应层出不穷的新设备;再次,响应式网页设计虽然在规划阶段有些耗时费力,但从长远看,却可以节省产品整体的开发维护成本,节约时间;最后,响应式网页设计可以促使产品在不同设备上保持视觉体验的统一性,维护品牌体验的一致性。
响应式网页设计并非总是最合适的方法。有的网络服务商需要为大屏幕、固定位置用户和小屏幕、移动用户提供的内容差别非常大,两者的生命周期不同,动态效果和交互体验不同,以及移动定位、传感器和大数据带来的诸多因素,设计师就需要为不同用户的不同使用情境分别设计网站,然后通过媒介查询自动定位到适合的站点。
五、结语
响应式网页设计从媒介查询、流式布局、自适应图片开始,但其发展远不止于此。响应式网页设计需要以用户的网络环境、使用情境、设备功能为考虑因素,来设计不同的布局、内容及交互。像DHTML 或 AJAX 一样,响应式网页设计还不是一个完美的解决方案,它不断发展进化也可能终将被替代而退出历史舞台,但目前,它仍是网页设计的首要趋势。互联网及智能设备发展迅速,设计师只有扩展新知,开阔视野,不断创新,才能适应日新月异的社会变革。
参考文献:
[1] [美]Tim Kadlec. 响应式 Web 设计实践[M]. 侯鸿儒,译. 北京:人民邮电出版社,2013.
[2] [美]Kristofer Layon. 移动 Web 实现指南———面向移动设备的网站优化、开发和设计[M]. 张皛珏,译. 北京:人民邮电出版社,2013.
[3] [美]Ben Frain. 响应式 Web 设计———HTML5 和 CSS3 实战[M]. 王永强,译. 北京:人民邮电出版社,2013.
[4] DDF,UXPA 中国. 用户体验百家谈[M]. 北京:电子工业出版社,2013.