响应式网站设计,响应式网站建设的原则

发布日期:2016-03-05
响应式网页设计(Responsive Web design,通常缩写为RWD)是指:页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。可以说是一种网页设计的技术做法,该设计可使网站在多种浏览设备(从桌面电脑显示器到移动电话或其他移动产品设备)上阅读和导航,同时减少缩放、平移和滚动。

具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。

这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。


响应式网页设计概念产生的灵感

响应式网页设计最初是由Ethan Marcotte曾发表过一篇"Responsive Web Design"文章中提出的一个概念,文中援引了响应式建筑设计的概念:现出现了一门新兴的学科——"响应式架构(responsive architecture)",并提出了物理空间应该可以根据存在于其中的人的情况进行响应。其灵感来源主要是结合嵌入式机器人技术以及可拉伸材料的应用,犹如建筑师们正在尝试建造一种可以根据周围人群的情况进行弯曲、伸缩和扩展的墙体结构;还可以使用运动传感器配合气候控制系统,调整室内的温度及环境光。比如目前正在研发的"智能玻璃",当室内人数达到一定的阈值时,这种玻璃可以自动变为不透明,确保隐私。我们将这个思路延伸到网页设计的领域,也就得到了一个全新的概念。

显然,我们无法也无需使用运动传感器或是机器人技术,响应式Web设计更多需要的是抽象思维。好在,一些相关的概念已经得到了实践,比如液态布局、帮助页面重新格式化的media queries和脚本等。但是响应式Web设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式。

为什么未来的网站需要响应式网页设计?

在回答这个话题之前,我们先看下随着移动互联网的发展,网页设计和前端开发的现状:

1、全球有超过53亿手机用户(包括传统手机)
2、国内3G用户超过1亿
3、iPhone4手机在2010年出货量超过3000万部;
4、iPhone 4S上市前3天卖掉400万部;
5、Android手机每天激活超过50万部;
6、iPad出货量已经超过2.5亿部;
7、预计到2015年,移动互联网的数据流量将超越桌面端的流量。
8、……

看到这些数据,大家在看下周围的变化,也许你已经开始注意到,自己和身边的朋友也都越来越多的用上了iPhone或者android手机或平板,两年前我们预料的移动互联网时代即将来临,现在已然实现了,而且我们是正处在移动互联网快速发展的时代,已经不再是起步阶段了。

所以我们只有紧随着移动互联网发展的脚步,合理的使用响应式网页设计使我们的网站能自动根据不同设备环境自动响应及调整,才能增加用户的体验度,留在更多的用户。

响应式图片设计

响应式图片技术是思路不仅要同比的缩放图片,还要在小设备上降低图片自身的分辨率。这个技术的实现需要使用几个相关文件,我们可以在Github上获取。包括一个JavaScript文件(rwd-images.js),一个.htaccess文件,以及一些范例资源文件。大致的原理是,rwd-images.js会检测当前设备的屏幕分辨率,如果是大屏幕设备,则向页面head部分中添加BASE标记,并将后续的图片、脚本和样式表加载请求定向到一个虚拟路径"/rwd-router"。当这些请求到达服务器端,.htacces文件会决定这些请求所需要的是原始图片还是小尺寸的"响应式图片",并进行相应的反馈输出。对于小屏幕的移动设备,原始尺寸的大图片永远不会被用到。

这项技术支持多数的现代浏览器,包括IE8+、Safari、Chrome和Opera,以及这些浏览器的移动设备版本;在FireFox及一些旧浏览器中,则会优雅降级:我们仍可得到小图片的输出,但同时,原始大图也会被下载。

响应式网页设计目前存在的问题

响应式网页设计目前存在的一个问题是横幅广告和视频不是流式的。不过搜索广告和显示广告支持特定的设备平台目标、智能手机和基本的移动设备提供不同的广告尺寸格式。可以为不同平台使用不同的着陆页(英语:Landing page)URL,或者可以用AJAX(英语:Ajax framework),显示一个页面上的不同广告变体。

再者就是自从响应式网页设计被提出以来,界内人士争论就不断,其实核心问题只有两个:一是太多的资源请求和有限的终端支持之间的矛盾;二是响应式的网页设计和移动终端在用户体验和视觉风格上的差异。前者不能容忍在弱小的手机/平板上通过龟速的3G/2G网络来加载一个笨重的PC端页面,而后者纠结是在于响应式网站也不像手机网站。