网页设计中的对比原则

By 猪小凡 三月 14th, 2010, under 翻译

原文链接:http://pd4.me/blog/translation/the-principle-of-contrast-in-web-design/

网页设计是由很多个不同的元素构成的,而这些元素的重要性都不同,并且有些元素还需要尤为的突出.有些元素彼此之间存在着联系,而另外的元素之间则一点关联性都没有.比较难办的部分就是如何有效的在视觉上来传递元素之间的关系.这就该用到对比原则了.

对比就是两个或更多个元素之间的不同.通过对比,设计师就可以创造出视觉趣味性,同时引导用户的注意力.想象一下,如果页面上所有的元素都是一个模样,那就会觉得这些内容没有组织,没有”(视线)流”,没有明确的结构,也很难去理解和接受.因此在网页设计中,对比是很重要的一部分.

在这篇文章中,我们将会看到如何通过颜色,尺寸,对齐方式这三个方面来建立对比.

颜色中的对比

大多数人听到”对比”这个词,他们首先想到的就是颜色.尽管对比原则中不只包含颜色,但是颜色对于帮助用户识别页面中不同的元素有很大的帮助.

一般页面都包含页头,内容区,页脚.那么我们就需要从视觉上清晰的区分中这三个不同的部分.很好的方法就是: 使用不同的背景色.

先来看看Church Media Group’s website,这是一个很好的例子.页头和页脚都使用较深的背景色,内容区是白色.通过这种差异,可以很明显的突出内容,并表现出它的重要性.如果我们再深入点看,在内容区域也有不同的背景色对比:”案例”部分使用了浅蓝色.正因为它与其他内容部分的对比很小,表示两个部分是有关联的.

Phil Renaud’s portfolio使用了一个独特布局和极其漂亮的配色方案.网站整体使用了棕色来设计,他使用了一种金黄色来增加垂直导航区域和其他区域的对比.

褐色对比

文本之间也可以使用颜色来形成对比.在Billy Tamplin中,标题,副标题,文章段落分别使用了不同的颜色,将各部分合理的区分并建立视觉结构,最终获得了很好的效果.作为博客的界面来说,在文章标题和主体内容之间建立对比是很重要的.这样在用户滚动页面的时候,就可以让他们清楚的看到文章的从哪开始和到哪结束.

文字区域的对比

尺寸中的对比

在页面设计中另外一种对比方式就是不同的元素使用不同的尺寸.换句话说,让一部分内容比其他的更大.

在不能依靠颜色的时候,通过尺寸建立对比则变得非常重要.Taxi的配色很少,而它的页面中有很多的新闻.因此,为了建立三列布局的结构,设计师在中间列使用了大得多的宽度-比左侧和右侧列的两倍还大.让用户一眼就能看出来,中间那列是页面中最重要的部分.

尺寸对比布局

正如标题可以使用颜色来建立对比,尺寸也可以.在网站内容中,大标题是建立视觉结构很好的方法.Imaginaria Creative的网站中,使用了大标题来吸引用户的注意力并且留住他们,这样用户就会阅读下面那些稍小的段落中更多内容.

大标题对比

大标题对比2

对齐方式的对比

在高品质网页设计中,好的对齐方式占了很大的比重.当物品排成一行时,通常看上去感觉更好.因此,我觉得使用不同的对齐方式来建立对比是较难的而且要更谨慎的使用.但是如果做的好的话是非常有效的.

LegiStyles在标题下面的内容块左侧使用了一个很大的留白.再加上大尺寸的标题,形成了一个很好的对比效果.如果你想使用不同的对齐方式,那么一定要将这种不同的尺度做大,否则最后会看起来像一个糟糕的设计中的失误.

对齐方式的对比

居中的大段文字是一个排版中的禁忌.因为会造成文本很难阅读.但是,可以尝试将左对齐的文本段落和居中对齐的标题来混合起来.这是使用不同的对齐方式建立对比的另外一个好办法.再结合使用一种漂亮的衬线字体,这样也能获得很漂亮的效果.

Simon Collison的每个内容块中,都使用了居中对齐的标题,左对齐的文本.尽管标题的文字并没有比段落的文字大很多,但是已经能看出差别了.

标题与内容不同的对齐方式

A List Apart是另外一个居中标题左对齐段落的很好的例子.

另外一个居中标题左对齐文字

开始去做吧

学习在你的设计中建立合适的对比跟学习其他的设计准则一样–需要练习.花些时间来研究那些优秀设计师的作品,看看他们是如何使用对比的.要记住,对比就是”不同”.如果两个元素实质上就是非常不同的,那么一定要让它们有明显的视觉差别.

从”引爆点法则”看产品高级功能设计

By 猪小凡 三月 13th, 2010, under 思考

引爆点(豆瓣)通过大量的分析,企图找到”让产品发起流行潮”的根本原因或基本元素,对书中的分析和理论还是比较认同的.书中提到

无论是暇步士的时尚潮,还是病毒的流行潮,都是流行三法则—-个别人物法则,附着力因素法则和环境威力法则作用的结果

其中,个别人物法则是指”信息”的发起人/传播人的特殊身份,包括绝对内行,联系员,推销员三种.

  • 联络员: 结识的人非常多,属于那种什么人都认识的人,是我们生活中非常依赖的人,具有把全世界的人都联系在一起的天赋
  • 绝对内行:在某个领域接近权威,同时不只是被动的接受信息,而是寻找各种各样优秀的方法/内容,同时会乐于分享,甚至是近乎病态的助人行为
  • 推销员:拥有感染力,甚至催眠能力,能引起共鸣的人,这类人对于信息传递的有效性有着绝对的优势

了解了以上的基本概念,其实会发现这几个角色通常有交集,我们身边的人可能会存在同时具有多种角色特质的人.而从产品角度来看,无论是联络员,绝对内行,还是推销员,都基本上可以认为是产品的核心用户:更广的关系网(可能是线上,可能是线下),绝对内行/推销员(需要在足够了解产品的情况下才能胜任).其实这个概念跟马化腾去年传播的很广的将互联网产品核心能力提升到极致中的观点一致:

但做口碑就要关注高端用户、意见领袖关注的方向。以前,我们的思路是抓大放小,满足大部分用户的需求。但是现在来看,高端用户的感受才是真正可以拿口碑的

当然,高端用户和核心用户都是产品目标用户中的子集.所以针对某些高端/高级用户而开发的高级功能,可能在产品的推广期可以赚到更多的免费而有效的宣传。google reader的快捷键功能,这个应该就是高级用户才会去用的,而在早期(2005~2006)基于此功能可查的传播都产生了4万多个内容,同时传播源中又不乏“权威”的媒体,可以更有效的保证传递的效率和结果。

对于还处于推广期的产品,研究其领域/目标的高端用户目的和需求,并提供几个功能来满足,很可能会提高用户的满意度,并提高这些用户传播产品的几率,而这些用户传播的有效性是无法忽视的。但是同时,核心,简单的功能依然重要而且更要突出,成为可快速传播的“点”,即使greader支持快捷键,相信你也不会对朋友推荐它说“嘿,用这个阅读器吧,他支持快捷键”,而会推荐它的核心功能:订阅。

结论:高级功能有的时候不是那么无用,如果开发成本允许并且对于很明确可以满足高级用户的功能,值得在早期就先完成它。

关于可用性表单编码和设计的小贴士

By 猪小凡 三月 7th, 2010, under 翻译

原文地址: http://www.noupe.com/design/tips-for-coding-and-designing-usable-web-forms.html

备注: 关于label和tag,在中文中都翻译成标签,而下文中出现的标签,都是对label的翻译,比如”用户名”+输入框, 这里的”用户名”项在英文中是label,约定翻译为标签

页面表单已经是web设计中讨论最多的元素,已经超过10年了.我们无法避免.Call-to-action(一般翻译为”行动呼吁”,”行动号召”,但是都觉得不理想.译者注)的方式通常会将用户引导到表单页;付费需要使用表单;用户注册或订阅需要使用表单-表单的使用是不会停止的.

尽管在HTML中,把表单拼凑到一块相当容易,但是对于可用的,友好的表单来说,编码,制作样式和设计是很难的.在网站的转变中,对于成功转化率,表单始终扮演着很重要的角色,下面的小贴士和文章末尾处提供的源码,应该会对制作和编码页面表单的开发者提供有价值的信息.

两列 VS 一列

这个取决于表单的内容,不过当表单内容相当简单时,通常尽量避免两列布局.

下面是一个很好的简单表单的例子,它将每个标签(label)都放到相关表单元素的上方

简单表单

这种表单布局的好处有哪些,仅仅是为了反对两列布局?首先,表单的元素具有更大的空间,可以满足今后对于文案的修改.两列布局的表单在这点上会有限制,甚至可能需要重构整个表单部分才能满足调整的需求.另外一个好处就是看上去不杂乱,在每个标签部分不会有大量的空白,所以很容易阅读并且很容易将标签与输入框联系起来.另外,每个成对的标签/输入框的背景色可以让表单从视觉上看更吸引人.

作为对比,让我们看看下面这个两列布局的表单

尤其是因为左对齐的文字和不明显的颜色,这个表单不具备上一个例子中那种干净的视觉效果.事实上,在标签和输入框之间的垂直空白多少会分散人的注意力,误认为里面包含了很多个部分,而实际上一个简单的表单在视觉上应该表现的像一个整体.

但是使用两列布局来完成一个清晰的,有条理的效果也不是不可能的,正如下面展示的例子Chapters Indigo Books

清晰有条理的两列布局表单

因此,尽管表单的布局没有明确的规定,但是仍存在有效的原则:包括简单的表单避免使用两列布局;如果使用两列布局则应该让标签右对齐.

让交验的反馈信息在一行中显示

最近Luke WroblewskiA List Apart中写了一篇关于表单交验的反馈信息放到一行显示的文章.其中提到

当使用交验信息显示在一行时,我们的测试者(完成的)更快,成功率更高,犯错更少,而且更满意

jQuery Inline Form Validation, Because Validation is a Mess这篇教程一步一步的介绍了如何使用jQuery在信息较多的表单中将反馈信息显示在一行.

另外一篇文章:Really Easy Field Validation

Dexagogo提供了一个可以将你的表单交验信息显示在一行的简单的脚本.演示中的例子不是最好的,不过你完全可以按照你需要的来自定义.脚本中使用了Scriptaculous来实现的渐入渐出的效果.

组织有关联的输入框

在一个较长的表单中,为了增加可用性,你可能会受到一些限制,但是将关联的输入框组织到一起,将表单分割并用可控的视觉化组件表现出来,可以使表单不那么吓人.这样,表单可以让人感觉更容易填写,即使填写它可能跟填写没有组织的表单花费的时间一样.

为了将关联的表单组织起来,使用<fieldset>和可选<legend>元素,正如下面的代码一样

<form id="form" action="register.php" method="post">

	<fieldset>
		<legend>Basic Info</legend>
		<div>
		<label for="name">Name:</label>
		<input type="text" name="name" id="name" />
		</div>
		<label for="password">Password:</label>
		<input type="text" name="password" id="password" />
		<div>
		<label for="password-confirm">Confirm Password:</label>
		<input type="text" name="password-confirm" id="password-confirm" />
		</div>
	</fieldset>

	<fieldset>
		<legend>Address</legend>
		<label for="address">Address:</label>
		<input type="text" name="address" id="address" />

		<label for="address2">Address (cont'd):</label>
		<input type="text" name="address2" id="address2" />

		<label for="zip">Zip/Postal:</label>
		<input type="text" name="zip" id="zip" />

		<label for="city">City:</label>
		<input type="text" name="city" id="city" />

		<label for="country">Country:</label>
		<input type="text" name="country" id="country" />

	</fieldset>

</form>

<fieldset>默认会带边框,不过可以修改,通常会通过CSS来去掉.下面是单独表单一个例子,它使用<fieldset>和<legend>分割成两个部分

Cosmicsoda Registration Form

不幸的是,<fieldset>的边框在不同的浏览器中表现不一样,所以一般最好的方法是通过css去掉边框并且通过其他的方式建立自定义的边框.不过这也会影响<legend>的效果,因此现在很少看见使用<fieldset>和<legend>和两个HTML元素.但是<fieldset>仍然可以用来组织元素,同时通过自定义边框和标题来实现比较基础的效果.<fieldset>和<legend>元素对表单的易用性还是有额外的帮助的.

必填项的明确标识

表单中通常都会使用与其他文字颜色不一样的星号(*)来表示必填项,这样必填项是较突出的.尽管现在大多数网站包含(必填项)标识,但是其中的一些并没有合理的使用.

关于星号的解释说明文字应该直接放到表单的上面,所以用户在开始填写之前就能看见.有些网站将星号的解释文字放到表单的下方,多少看上去有点像脚注.下面的Elderluxe contact page例子中,星号解释文字的位置就很不好.

上面的例子中有两个问题: 星号的颜色和其他文字一样;解释文字放在了表单的底部.在大部分情况下,单独放一个星号就够了,无需解释的,但是如果你的目标用户不是电脑使用者(computer-savvy),你真的需要在表单的上面加上对于星号的解释.

下面这个来自Office Depot’s registration page的例子展示了将星号的解释文字合理的放置

尽管上面的这个例子也有一些问题(比如标签文字左对齐,字体过小,留白使用的太少),但是它很清晰的标明必填项,并且在用户填写表单之间就解释了星号的含义.这是这个例子中最重要的,前三项不是必填的,因此用户可以很安全的略过它们.

更精美的复选框,单选框,按钮和下拉菜单

表单可以看上去很无趣,尤其是那些下拉菜单,单选框,复选框的样式被大多数浏览器限制,也无法使用CSS单独定制那些元素样式,让各个浏览器显示都一样的效果.幸运的是,有许多JavaScript插件和代码可以允许开发者来使用跨浏览器的,更精美的表单元素.

jQuery Checkbox支持你在表单中加入自定义的复选框和单选框.在这里我没有很特别的在意单选按钮的外观(它们看上去也一点都不像单选框),不过它确实是个可选项.

jQuery Image Combobox是一个完整支持自定义图片(skinnable)的下拉菜单,可以替代浏览器中原有的常用的-丑陋的下拉菜单

Giva Labs mcDropdown jQuery Plug-in是一个直观的,支持键盘的,更容易替代传统的下拉菜单,同时还允许数据嵌套.

当输入框获得焦点时显示提示

复杂的表单一般具有很多不同的输入框,如果显示一些帮助文字,可以让用户填起来更容易.当然,你不想让用户被一个或更多的解释表单文字所湮没。

通过简单的改变,你可以写个JavaScript脚本(或者使用可定制的插件),用类似传统提示的样式显示一个消息,来解释可能产生疑惑的表单元素,或者那种需要要求输入的内容是特殊格式的输入框(比如,只允许用字母和数字组成,并且至少6个字符的用户名)

jQuery Input Floating Hint Box是一个简单的插件,可以在输入框获得焦点时,显示完全可以自定义的浮出提示窗.

DHTML Goodies Form Field Tooltip是另一个对表单中输入内容的交验工具.它会根据表单输入框中的title属性来显示一段帮助文字.

充分的留白

正像前面提到过的,如果表单的元素没有显示以很清晰,友好的方式显示,那么会看上去很丑而且混乱.通常我们认为在网站设计中对留白的使用原则,同样适用于表单,甚至可以一直应用到最小的细节中.

你可以通过以下的方式来改进表单的设计: 在输入框周围增加适当的留白,给元素更大或者更好用的尺寸,或者也可以通过调整CSS中的padding属性来实现输入框内的留白.例如,试着在下面的两个输入框输入些文字.

只是通过调整padding的和尺寸,第二个输入框就有更好用的感觉.当多个文字输入框出现在同一个表单中,这样会让人在整体感觉上产生很大的不同,即使从技术上讲在用户填写表单花费的时间长度上,它并没有产生很大的不同.

同时,这样也能让你在输入框中看到更多字符.尤其是名字输入框,应该为了那些较长的名字提供更大的可见空间.超出的字符,会开始将其他的字符挤出视线,所以最好是有足够的空间来满足那些较长名字的用户,让他们可以更容易的认出错误.通过下面的输入框可以看到较长的名字是如何被截断的.

让你的表单更友好

关于易理解的表单的这个主题可以很容易构成一整篇文章或者更多,但是这有一些小贴士可以确保你的表单更友好并且对于不同的用户来说都可用.

  • 在输入框中都使用title属性,来帮助那些使用屏幕阅读器的用户
  • 如果标签没有围绕在所关联的输入框时,使用for属性来匹配关联的输入框的id.(这样当用户点击label时,焦点也会置入到输入框内.译者注)
  • 通过给每个元素使用tabindex属性来组成一个tab队列(这样键盘使用tab键可以依次切换,译者注)
  • 对于tab队列,使用更大”步长”来增加数字(如使用”10,20,30…”来替代”1,2,3…”),这样将来需要增加时不需要重写所有的tabindex属性
  • 对于复选框和单选框,将标签(label)放到关联元素的后面这样屏幕阅读者访问时,会先读到标签,然后是”复选框”或者”单选框”
  • 使用<optgroup>来组织<select>
  • 使用accesskey属性来支持键盘快捷键

延伸阅读

做真正的“第三个场所”

By 猪小凡 二月 25th, 2010, under 思考

插叙:今天把原来的博客 (djpig.com)的feed改到了这个新的博客上,怕老订阅用户产生疑问,特此说下~

这片文章在编写标题的时候着实踌躇了一番,因为可能没有任何结论,可能没有任何方法,仅仅是引发的思考,而思考之后的结果是什么?暂时未知,只是先沉淀下来。

这部分思考是读《软件随想录》(豆瓣)引出的

人们需要第三个场所

引用书里的一段话

社会雪茄Ray Oldenburg在他所著的The Great Good Place一书中谈到,人类除了工作地点和住家之外,还需要第三个场所,在那里会朋友,喝啤酒,谈天说地,享受人际交往的乐趣。

如上所说,在日常生活中,我们需要第三方的场所,来满足我们“人际交往”的需求。注意,我们需要的是人际交往!比如我们会约几个朋友去咖啡馆,我们需要的是咖啡馆的场所,氛围,同去的人,和这个第三方场所。而随着网络的发展,我们的第三方场所一定程度上从线下转移到了线上。但是本质不该发生变化,依然是第三方的场所。所以会产生下面的思考。

可共存

先来回答几个问题:

  • 你同时在泡几个社区?比如论坛?SNS社区(虽然这么叫不合理)?围脖?
  • 每个社区泡的周期是多久?比如最近一个月经常去天涯,上一个月经常去开心?
  • 你在校内和在qq空间的朋友圈,行为一致吗?比如在校内经常是留言,分享,发照片,到qq空间是偷菜(哦,现在叫摘了),互踩?

线下的第三方场所都是共存的。咖啡厅适合朋友们去放松,闲聊;茶馆是可以几个人谈谈稍微正式的事情;饭店是可以喝酒,胡侃(真的不认为饭店只是为了吃)。

不同的第三方场所会提供不同的氛围,适合不同的人群做不同的事。是由氛围来决定人群和事。那么线上的第三方社区主要该致力于营造自己希望的,目标用户喜欢的氛围。而用户又会在有不同的社教需求时选择不同的场所,比如校内主要与同学沟通,qq空间主要是网络朋友(qq本是虚拟身份,又开了校友的真实身份,一定会导致部分用户的需求冲突),开心则是同事居多。

早期的互联网很流行一句话:“永远不知道,屏幕背后跟你聊天的是不是一只狗”,而随着网络的发展,实名制的愈演愈烈,好像我们都开始实名了,但是不知道是否记得痞子蔡在《第一次亲密接触》中的经典段落,分析上网人的三种目的。这些需求消失了没有了吗?

所以因为目标用户不同,用户需求不同,所希望营造的氛围不同,设计理念及功能不同,推广运营方式不同,最终导致社区的用户群,沉淀的内容,用户的行为都有很大差异。

这些能统一吗?一个社区满足所有人的需求?一种氛围适应不同人群的不同需求?不同的“第三个场所”是可共存的。

核心价值

还是那句话“人们去第三个场所是为了享受人际交往的乐趣”,所以一定离不开人。氛围可模仿,内容可抄袭,好友关系怎么办?关于这部分想的还比较浅,暂时挖个坑。

不干扰

作为第三个场所,所要做的就是场所。你可以摆放更好的椅子让用户坐的更舒服。可以播放合适音乐,选择合适的灯光来营造更好的气氛。甚至你可以提醒用户最近你的朋友总来,他们都做了什么什么了,你也该回来看看了。但是你不能在咖啡厅提供KTV,在茶馆放DJ,在酒吧禁烟。别笑,实际线上的“第三方场所”这种事干的还真不少。专业的事还是让专业的人去做,作为咖啡厅,就研究咖啡如何更好喝,提供更多的品种,提供更悠雅的灯光,至于划拳K歌的事,还是交给专业的KTV去做吧。

最近发生在自己身上的事:过年老家的同学们聚会,在qq空间传了一张照片,大家的合照。因为qq空间有圈人的功能,便打算都圈出来,忽然想到同学的真实身份是否想暴露?他们的好友关系是否想暴露?所以只圈了两个就停了。同样的照片又由不同的同学传到了校内上,放心大胆的把一个一个都圈了出来~

多功能

满足不同场景。上面说了不干扰,在这里还要提下多功能。多功能是在满足需求,营造氛围的前提下的。咖啡馆里提供无线网,杂志,让你等朋友的时候不无聊。咖啡馆里提供各种棋牌的工具,让朋友来了没话题的时候也有事可做。酒吧里提供存酒的服务让你没喝完的还可以下次来喝,点酒的时候不用担心喝不了。它们都在保证大方向的前提下不断对流程进行细分和加长,满足各种可能发生的需求。

结束

文章很乱,只是在思考,线上“第三个”场所到底该怎么做?人们的“人际交往”需求到底该如何满足?还是有很多东西需要思考和整理的。

推荐个延伸阅读: Angela的《网络社会人

关于颜色的基本理论

By 猪小凡 二月 23rd, 2010, under 方法论

视觉设计离不开颜色,这是最基础的.最近看了很多关于这方面的资料,包括视频文章和书籍,里面的概念有些凌乱,在此汇总整理一下.基本概念了解了才能更好的理解视觉设计,能够针对视觉上的问题提出些有效的建议,同时可以保证更高效的沟通.至少现在个人上是只能看出问题,提不出来原因及解决方案,这是很无力的..

颜色的基本属性

1. 色相(Hue)

  • 在web视觉设计这本书中,把色相的概念等同于色度(chroma),不过查了几个参考之后(来源1_百度百科,来源2_SmashingMagazine)个人认为色度还是与色值等价,不该与色度等价
  • 色相即是什么颜色(如蓝色/红色)
  • 由于各种颜色的波长不同,所以导致色相不同,颜色就不同
  • 所有的颜色一起可以构成”色轮”,在photoshop中是用一个水平条表示的,而实际这个色条的顶端和尾端的颜色是相同的

2. 色值(Value)

  • 也叫色度(chroma),指的是颜色的深浅程度,指包含的单种标准色成分的多少,缺乏白色,加入黑色或灰色

3. 饱和度(Saturation)

  • 颜色的鲜艳程度是强还是弱
  • 单纯色相纯度或浓度的大小
  • 完全饱和的色相(fully-saturated hue),指的是没有混合黑,白,灰或互补色的色相.这种颜色纯度最高
  • 饱和度降到最低,则图像会变为黑白色

4. 明度(Intensity)

  • 明度是类似与照片的曝光过度或曝光不足时的效果
  • 明度低的时候色彩会很暗,明度高的时候色彩会很亮
  • 明度最低时图像就会一片黑

5. HSI颜色模式

  • 以上的三个属性:色相/饱和度/明度构成的对于颜色的控制模式就是HSI颜色模式
  • 一般图形/图像处理软件都是使用的这种模式,通过对色相/饱和度/明度的调节来实现对颜色的控制

6. 浅色/深色(阴影色)/调和色(色调)

  • 这几种颜色都是平时设计中常用的颜色
  • 对纯的色相混合白色可以得到浅色
  • 对纯的色相混合黑色可以得到深色(阴影色)
  • 对纯的色相混合灰色/互补色可以得到调和色
  • 因为纯的色相是饱和度最高的,所以浅色/深色/调和色都是低饱和度的颜色
  • 一般web设计使用的颜色都是低饱和度的颜色,可以获得更舒服更合适的颜色

暂时附个图可以更好的理解上面的概念,最近会再更新把”写给大家写的设计书”里面经典的图贴出来

  • 色轮最外圈的即圆周上的点都是纯的色相,饱和度最高的
  • 从圆周向圆心的方向上都是纯色混合白色,获得浅色

彩色色轮

参考资料: