响应式网页设计的研究
2014-11-05张欣辉
张欣辉
摘 要
本文阐述响应式网页设计的关键步骤和技术。分别从媒体查询、弹性图片、流式布局对响应式web进行探讨。
【关键词】响应式 CSS3 媒体查询 流式布局
响应式网页设计(RWD)这个术语是2010年伊桑·马克特(Ethan Marcotte)提出的[1]。他将三种已有的开发技巧整合起来,并命名为响应式网页设计。这三种开发技巧分别为弹性网格布局、弹性图片、媒体查询。真正的响应式设计方法不仅仅只是根据视口改变网页布局,相反它还从整体上颠覆了我们当前设计网页的方法。以往我们是先针对桌面电脑进行固定宽度设计,然后将其缩小并且针对小屏幕进行内容整排;现在我们应该先针对小屏幕进行设计,然后逐步针对大屏幕的设计内容。
1 设计响应式网页的步骤
1.1 通过产品策划构思确定信息框架
参与产品策划构思,通过对用户行为的研究确定信息框架。明确产品的层级、功能点、最想展现的页面。分析页面类型把页面归类,例如操作页面、详情页面、列表页面等。
1.2 移动框架
颠覆了之前网页设计的方法,以往我们是针对PC进行固定宽度设计,然后将其缩小并且针对小屏幕进行内容整排;现在我们应该先针对小屏幕进行设计,再制作PC端的设计。移动端设计的优先级比较高,其原因如下:
(1)移动设备屏幕比较小,能够让设计师找到优先级最高的模块展示给用户。同事手机以触屏居多,它的手势、交互动作也较PC端丰富了很多,对操作要求更高;此外手机使用场景更加丰富,很多场景用户是缺乏耐心的。
(2)现在的智能移动设都都具有许多特性,如GPRS定位、语音输入、指纹识别、人言识别技术、重力传感器、光线传感器、加速度传感器等等,智能移动设备的可能性更加丰富。
设计手机端“超细长页面”的框架。设计移动端细长关键是:把关键页面,包括首页、详情页面等,这些在功能和布局上具有独特性代表性的网页,展现给用户。设计细长网页的时候要注意用户在小屏幕上的操作和阅读习惯。
1.3 响应式模块设计
由于事先规范出2-3个固定宽度做为响应的宽度。宽度最窄的即为手机端框架。再依次扩展出剩下两个宽度的页面设计。这一步可以让这些页面有条理地布局,用户在浏览时有流畅的体验。首先制定模块响应变化的方式,即网页从小屏幕到大屏幕,模块如何变化,布局如何展现,是否需要根据内容再重新排布等等。下一步工作就是继续细化规则,把框架精确到具体尺寸,即制定流体栅格系统。
1.4 细节设计
细节设计即在内容排版和交互效果方面加以丰富。根据前面制定的方案,打造合适的UI元素和控件。交互方式主要是展开、收起、模块移动的效果。这一部分可以根据产品的内容进行策略调整,细节部分先设计PC端。因为PC端能明显展现产品的复杂度,无论是设计、开发还是测试人员对于PC的工具和流程都较为熟悉,从PC开始设计细节可以更流畅。
1.5 响应式模块设计、开发、提测
根据设计稿进行切图,前端开发人员进行前端构建,然后在真实设备下测试页面的效果,整个团队讨论并进行优化。
2 响应式网页开发的关键技术
2.1 媒体查询(media-query)
响应式的关键就是媒体查询,它会自动探测屏幕宽度,然后加载相应的CSS文件。
上面代码的意思是如果屏幕宽度小于400px就加载tinyscreen.css文件。除了用HTML标签加载CSS文件,还可以在现有的CSS文件中加载。@import url(“tinyscreen.css”)screen and (max-device-width:400px);
同一个CSS文件中也可以根据不同的屏幕分辨率,选择不同的CSS规则。
@media screen and (max-device-width:400px){.column{float:none; width:auto;} #sidebar{display:none;}}它的意思是如果屏幕宽度小于400px,则column块取消浮动、宽度自动调节,sidebar不显示。
2.2 流式布局
各个区域的位置都是浮动的,不是固定不变的。Float的好处就是如果宽度太小,放不下两个元素,后面的元素会自动滚到前面元素的下方,而不会水平方向上溢出,避免了水平滚动条的出现。另外,绝对定位的使用也要非常的小心。网页仅通过媒体查询来划分窗口宽度范围,会从一组查询规则突变至另一组,中间没有经过平滑的渐变,而且会导致规则宽度范围之外的页面需要水平滚动才能完整浏览,具有一定的局限性- 为了解决这个问题,我们需要使用由百分比定义网页内容宽度并设置 CSS浮动属性的流式布局。
2.3 弹性图片
响应式网页还必须实现图片的自动缩放。只要一行CSS代码:img,objective{max-width:100%;}这行代码对嵌入网页的视频也有效。若img{max-width:60%},图片就会自动按照容器60%的比例进行放缩。
3 结束语
面对不断发展的浏览器和上网设备,寻找一种可行的解决方案。采用HTML5和CSS3的响应式网页设计,可以兼容多种设备和屏幕。响应式是一种设计理念和前端技术紧密结合的新兴的网页形态,它体现了团队跨职能来沟通协作。不需要服务器端,结合HTML、CSS、jQuery等网页开发技术就能达到良好的用户体验。移动设备正在迅猛增长,即将超越PC,成为最主流的上网方式,这个趋势是不可逆的。响应式网页设计也将展现出它优良的设计效果和用户体验,来迎接未来的移动世界。
参考文献
[1]Ethan Marcotte.Responsive Web Design[M].3.
[2]FrainB.Responsive Web Design with HTML5 and CSS3[M].Birmingham:Packet Publishing,2012:3.
作者单位
北京航空航天大学软件学院 北京市 100028endprint