响应式 Web 设计指南「实践篇」
无论你是奔赴战场、跑马拉松,还是构建一个响应式的站点,准备工作都是关键。
创建一个响应式的站点意味着要考虑多样化的设备生态系统。
如果没有适当的准备,你将发现自己会因为缺少必要的部分而忙里忙外,并且站点的质量也将受到很大的影响。
考虑的因素
作为任何响应式项目的第一步,都应该是确定投资这个项目是否有意义。在你做决定之前,这里有一些值得思考的因素。
如果其中有任何一项造成了严重的障碍,那么也许你应该选择一个非响应式的实现,至少目前来说是这样。
性能
与有线网络相比,移动网络正遭受着显著增加的延迟和显著减少的带宽。即使在小屏幕上隐藏了内容,但是标签和CSS依然会被下载。
性能是用户体验中固有的一部分。如果你并不关心如何构建站点,那么最终这将导致一个异常臃肿而缓慢的站点。
使用环境
你的站点的用户体验会根据使用环境的不同而不同。不同的设备可以在不同的环境下完成不同的任务。
相反,一个能够在多种设备上表现一致的新站点可以运行的非常好,是因为其体验并不依赖于大量的使用环境。
内容协商
也许你会选择去重新组织或者重构站点的内容。比方说有一个页面有一个内容栏和一个边栏,如果你将布局变为单独一栏,那么边栏就会被挤到整个内容栏的下面。
很多时候,边栏的内容也许远远要比内容栏底部的内容重要。所以如果你不重新规划内容的顺序,那么页面的层级划分就会消失。
时间投入
相比非响应式的方法而言,响应式的方法通常都需要更多的前期时间投入。
因为你要考虑大量的具有不同能力的设备,还需要去观察目前已经存在了哪些设备,以及一些特殊设备如何与之交互。
这些时间并没有被浪费,在项目开始时失去的时间很可能会在维护成本中得到弥补。
如果你有时间投身到创建一个高质量的站点中去,那么你应该响应式地好好思考一下。
支持
从桌面端向下构建响应式站点,正如它在大部分情况下所实现的那样,会在很多移动设备上造成问题。
取而代之,如果你选择渐进增强的方式,那么就可以避免这些问题。首先为能力最弱的浏览器编码,然后再使用媒介查询来逐渐增强体验。
首先为能力最弱的浏览器构建站点是最明智的选择,但也不能保证更流行的设备就一定比目前的设备有更强的能力。
广告
响应式站点中广告的问题,已经不再仅仅是技术的种种限制了。
解决响应式设计中有关广告制作和广告销售的问题是非常重要的一步,因为广告商是从广告的精准投放中获利的。
大幅的标题栏广告用在小屏幕设备上是注定失败的,而响应式的方法能够确保为每种分辨率的屏幕提供的广告都是合适的。
结论
无论当前我们的工具及心态有着怎样的局限,请不要忽视响应式设计的潜能。
一旦你已经认定了响应式方法对于你的项目来说是合适的,那么你就要考虑如何来实现它。
当我们能认真的使用它,并能将其与正确的技术结合在一起时,一个响应式的方法才可以作为大部分站点的起点。
响应式设计流程
如果你往水里扔了一颗石子儿,那它便会激起一连串扩散的涟漪,虽然撞击点很小,但影响波及甚远。
如果把我们现有的工作流程比作是水,那么响应式设计就是那颗石头,而那一圈不断扩散着的涟漪,影响着一同工作的方方面面。
可交互媒介
是时候转变一下 “Web是一种静态的媒介” 的观念了。Web是灵活的、不可预测的,因此固执地使用固定的工作流程和静态的可交付成果并不能帮助我们挖掘Web的潜能。
不要用那些其实并不存在的限制来约束我们自己,我们的工具、技术以及可交付成果应该更好地反映出Web的这一动态特性。
协作
传统的网页设计流程都是线性的,首先由设计师创建设计稿,一旦通过后便将其转换为几个静态的线框图,最后交给开发者去实现。
而在一个响应式项目中,由于你关注的是如何为大量不同的设备服务,工作流程无疑会变得更加复杂。
你不能期望设计师能预料每一种可能出现的情况,你也不能期望开发者能百分之百地与设计师设计的每个交互都保持同步,因此我们需要一种更高层次的合作。
如果在设计过程中,设计师和开发者能一起紧密地工作,那么开发者就能指出其他可能的情景,考虑就会更加周全。
沟通
从项目启动开始,设计师和开发者就应当参与进来。
通过及早地让设计师和开发者参与进来,可以确保页面与交互之间的一致性,而开发者则可以在发现潜在问题之前,就将它们指出来。
不同于简单的手手相传,一种更具协作性的工作流程能使得设计大纲更加成功。
在设计大纲中,应该安排站点在尽可能多的设备上进行测试。因为这样可以对设计中的任何瑕疵都予以指出,并可以暗示你应该做出哪些调整来为给定的设备做优化。
迭代
理想情况下,每次迭代只需要做出很细微的调整,因为对于体验的轻微调整会相对容易。
这听起来也许非常耗时,的确是这样,但这对于确保最终的产品能够给用户带来舒适的体验,也是至关重要的一步。
尊重
如果项目中设计师和开发者之间缺乏彼此尊重,那么整个过程也会失败。
我们会凭借已有的一点知识走很长的一段路。尊重,正如它所表现出来的那样,你很难将它给予那些你不了解的事物。
如果你是一个设计师,那么就去花点时间在编程上,这将使你更加深入地了解开发者们的工作。
同样,作为一名开发者则要去探索一下那些设计概念,这样可以帮你意识到设计远远不只是漂亮的颜色和字体。
与客户协作
协作不应该仅限于内部,它也同样应该扩展到你与客户的来往当中。让客户尽早地加入进来,并且从始至终都要让他们成为项目中的一部分。
如果在整个过程中都能让客户参与进来的话,那么你们之间的关系就会变成一种团队合作。客户与设计团队之间的那堵墙便轰然倒塌了,双方的意见都可以被对方听到,而且每一项提出的解决方案都会有来自双方的贡献。
系统方式思考
一个站点需要有一致性,不但包括页面与页面之间,而且还包括设备与设备之间。
要想获得一致性,就需要以系统的方式来思考问题。通过考虑单独的组件,可以将它们从页面中解耦,并迫使我们思考这些组件应该如何一同工作。
先考虑站点中单独的组在不同的环境中要如何运行,然后考虑这些组件如何能统一地创建出一种广阔的体验,这些对于任何响应式项目的成功都至关重要。
优先考虑手机
手机在爆炸式地增长:
随着设备数目的激增,越来越多的人们开始只使用移动设备来访问互联网。在有些国家移动平台已经占据了主导地位,因此优先考虑移动平台是很有意义的一件事。
手机迫使你专注:
移动设备大都只有一个很小的屏幕,这意味着能往里面填充的内容很有限。优先为手机设计可以迫使你专注于弄清楚哪些内容是最重要的。
手机丰富的能力:
移动设备开始加装越来越多的传感器,虽然目前还不能从浏览器中访问到,但放眼未来,我们可以利用这些传感器创建出更好的体验。
线框图
如果从一开始就创建一个高保真度的原型,那么要从完成的设计中看出之前的颜色或样式将会变得非常困难。但是如果能从创建一个低保真度的线框图开始,那么一切就会变得很容易。
通常情况下,线框图不会包含颜色、字体或者图片。画线框图的目的并不是为了演示站点布局,而是为了帮助确定页面结构,其中包括将会显示什么类型的内容,以及这些内容有着怎样的优先级。
要尽可能地让你的线框图保持简单。线框图的保真度越高,你遇到的阻力也就越大,线框图的保真度越低就越容易让人专注于页面的结构、层次和行为。
模型
是时候放弃“像素级精确控制”的那种渴望了。不完美是件好事,不完美能催生各种特质并带来可塑性。
静态模型存在着大量的问题,对于设计最终将会如何呈现,它只能给出非常有限的预测。
在浏览器里设计能够更好地演示当用户与页面上的元素交互时所发生的一切,另一个好处是可以让我们专注于内容和结构。
对于许多设计师来说,在代码中工作让他们失去了创新和试验的能力。不过在理想的工具出行之前,最重要的是学会放弃对图像编辑软件的依赖。
样式向导
为了能够对整个项目有所帮助,你需要创建视觉样式向导以及相应的模式库。
这样做不但可以确保站点可以维持一个统一的视觉外观,而且代码也能维持统一的样式,这在很大程度上简化了后期的维护。
一份良好的视觉参考除了要包含站点内各个元素的样式之外,样式向导还应该提供特定的元素要在什么时候以及如何被使用的信息。
样式向导正变得越来越流行,其中最为著名的就是 Twitter 的 Bootstrap。有了这样一份资源,即使对于新手开发者来说,快速开展工作也会成为一件容易的事。
响应式 Web 设计指南「实践篇」的更多相关文章
- 响应式 Web 设计指南「基础篇」
Web 是普遍存在的,也是无处不在的,Web可以适应任何尺寸的屏幕以及任何使用环境,因为Web有其固有的灵活性和可塑性. Web 再也不是某一平台独有的矿藏,而是真正成为了一张名副其实的大网,并将各种 ...
- <HTML5和CSS3响应式WEB设计指南>译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
- 响应式WEB设计的9项基本原则
响 应式Web设计对于解决多类型屏幕问题来说是个不错方案,但从印刷的角度来看,其却存在着很多的困难.没有固定的页面尺寸.没有毫米或英寸,没有任何物理 限制,让人感到无从下手.随着建立网站可用的各种小工 ...
- 最佳的 14 个免费的响应式 Web 设计测试工具
一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...
- 如何通过CSS3 实现响应式Web设计
如何通过CSS3 实现响应式Web设计: 分为三个步骤:(1)允许网页宽度自动调整.首先在页面头部中,我们需要加入这样一行:<meta name="viewport" con ...
- [转]响应式WEB设计学习(1)—判断屏幕尺寸及百分比的使用
原文地址:http://www.jb51.net/web/70360.html 现在移动设备越来越普及,用户使用智能手机.pad上网页越来越普遍.但是传统的fix型的页面在移动终端上无法很好的显示.因 ...
- css014 响应式web设计
css014 响应式web设计 一. 响应式web设计基础知识 1.rwd的三大理念:a.用于布局的弹性网络, b.用于图片和视频的弹性媒体,c.为不同屏幕宽度创建的不同样式的css媒体查询. ...
- CSS3-基于浮动的布局,响应式WEB设计,定位网页上的元素,设计打印页面的css技术
基于浮动的布局: 1.除非图片设置了宽度,否则始终应该要对浮动的图片设置一个宽度,这样可以让浏览器给其他内容腾出环绕的空间 2.当侧边栏的高度与主内容区的高度不一致的时候,可以用个margin进行调整 ...
- 推荐35个新鲜出炉的响应式 Web 设计实例
响应式设计的准则在于根据用户使用的屏幕的分辨率来改变网站的的布局.因此,视频或图像的大小和文本的数量,可以被视为是一个明显的变化.让你即使从智能手机浏览一个网站的时候能轻松地看到网站上的重要内容.今天 ...
随机推荐
- Zabbix Agent active批量调整客户端为主动模式监控
Zabbix Agent active批量调整客户端为主动模式监控 zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下: 1. ...
- centos6.5环境基于conga的web图形化界面方式配置rhcs集群
一.简介 RHCS 即 RedHat Cluster Suite ,中文意思即红帽集群套件.红帽集群套件(RedHat Cluter Suite, RHCS)是一套综合的软件组件,可以通过在部署时采用 ...
- Ex 5_21 无向图G=(V,E)的反馈边集..._第九次作业
根据题意,求的是最大生成树.利用Kruskal算法,对边进行从大到小的顺序进行排序,然后再依次取出边加入结果集中.假设图有n个顶点,那么,当结果集中有n-1条边时,剩下的边的集合即为反馈边集. pac ...
- 虚拟机Ubuntu 18.04安装RabbitMQ 3.7.9
Windows 10家庭中文版,VirtualBox,Ubuntu 18.04,Rabbitmq 3.7.9,Erlang/OTP 20 [erts-9.2], 在虚拟机上装好了Ubuntu,写了一个 ...
- 造轮子和用轮子:快速入门JavaScript模块化
造轮子和用轮子:快速入门JavaScript模块化 前言 都说“不重复造轮子”,就像iPhone——它除了打电话还可以播放音乐——但是工程师不用从零开始做一个音乐播放功能,也许只要在iPhone的系统 ...
- PHP 抽象类
* 抽象类 * 1.使用关键字: abstract * 2.类中只要有一个方法声明为abstract抽象方法,那么这个类就必须声明为抽象类 * 3.抽象方法只允许有方法声明与参数列表,不允许有方法体; ...
- Zookeeper集群部署与配置(三)
在上一篇博客中我们讲解了<Zookeeper的单机配置>,此篇博客将继续介绍Zookeeper的集群部署与配置. 环境 集群配置的环境与单机配置的环境相同,唯一不同的就是集群是在多台服务器 ...
- 去掉li列表前面的空格
如果用li做列表的话,li前面的空格其实是li的默认样式.因为li位于ul里面,所以,有空格代表了ul肯定有padding值. ul { margin: 0px; padding: 0px; }
- 《剑指offer》-数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 最开始的思路 ...
- android修改默认输入法
方案一:adb命令设置?方案2:系统配置:方案3:调用系统API接口设置---------------------------adb shell cmdadb rootadb remountadb p ...