童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

程序员如何做出“不难看”的设计

11月27日 渡缘祠投稿
  编者注:本文发表于12年底,里面有些例子和链接可能有些过时,但它的思想没有过时,推荐给开发者们学习。
  经常看到程序员展示自己做的东西,有一些是创业项目,有一些是WeekendProject,不客气地说,大部分都挺难看的。在10年前,只要你做出一个功能齐全的东西,哪怕非常难看也会有很多人叫好,而现在网站和其它互联网产品多如牛毛,没有人再愿意忍受难看的东西了。
  我觉得“不难看”是对一个产品最起码的要求,难看的产品往往都很难用。程序员在写代码的时候往往只注重功能的实现和性能的提升,忽视了外观和易用性,其实很多时候只要注意一些基本的规则,就可以大幅度提高产品的观感。作为一个外行,我也算是苦苦自学了好长时间的设计,这里打算分享一些我认为比较实用的技巧,希望可以帮助到同样在摸索的人。
  需要声明的是,这里的目标是做出“不难看”的设计,注意,只是“不难看”而已,怎么做得好看我也在学习。另外,我的水平也很低,只是比较能体会外行的痛苦,如果有什么错误的地方,欢迎批评指正。
  下面我会从四个方面来入手:对齐,字体排印,配色和装饰元素。
  1。对齐
  之所以把“对齐”单独列出来并且放在开头说,是因为它是一个看上去简单但非常容易被忽视的规则。如果你真的把所有该对齐的东西都对齐了,就会发现只是简单遵循这一个规则就会有如此大的效果。
  人的眼睛是喜欢秩序的,对齐就会让人觉得愉悦。不过有一点例外:尽量别用居中对齐,除非你有充足的理由。居中对齐会让人觉得很业余,你自己可以试一下好几段文字都居中是什么效果。
  当然,也有靠不规则来出彩的设计,但那是高级玩法,我们还是乖乖对齐比较好。关于对齐有一个很好的网站可以观摩,那就是IA(http:informationarchitects。net)。它的上一个版本其实更容易看到对齐的效果,可以通过这里查看,顶部和底部的导航看上去没什么联系,如果你对比一下会发现它们对齐得都非常好。
  2。字体排印(Typography)
  字体排印,英文名词叫做Typography,它包涵的东西很多,不只是字体的选择,还包括行距、行宽以及字体间距等元素的设定,这些东西都左右着我们的阅读体验。我们每天都阅读大量东西,每天都会接触到“文字”,由这一点就可以看出字体排印的重要性。关于字体排印的具体知识我就不多说了,有很多这方面的书和资料,这里只说几点容易被忽视的元素。
  首先是行宽的设定,也就是每行显示的文字个数。一般来说,我们的阅读顺序都是从左到右,然后换行。如果每行显示的文字个数太多,那么我们在换行的时候视线移动距离就比较长,就容易感觉到疲劳,所以千万不要搞成只有一栏然后对屏幕自适应宽度,那样的阅读体验非常差。如果非要做流动布局,建议设置一下maxwidth属性。
  其次是行距,也就是两行文字之间的距离。经常看到有些人调整了字体大小却忘记了调整行距,结果上下两行几乎挤在了一起,看起来非常累。如果你要调整字体大小,记得把行距也设置一下,就是CSS中的lineheight属性。
  第三是字间距。有些时候因为需要,我们会把一些文字设置得非常大,有些文字设置得非常小,这个时候每个字之间的间距可能就会变得过大或者过小,这个时候就需要调整一下,字体设计师们在设计一款字体的时候也会考虑这个因素。在CSS里面,有个属性叫letterspacing,可以调整字间距。
  最后想说一下的是标点。我们平时用到的很多标点符号都是错误的,比如说,英文的省略号不是三个点:而是(MacOSX的快捷键是O),英文引号也不是”而是“(MacOSX的快捷键是Option〔),注意,这个和全角引号也不一样。平时写文章聊天无所谓,但如果做设计的话,还是把标点用对比较好。另外,名词拼写最好也严谨一些,AppStore不是appstore,Xcode不是xcode,iPad不是ipad
  上面提到的除了标点之外,其余都是关于“空白”的问题。很多程序员可能会关注字体的选择,也知道Helvetica和Arial的区别,但是对字体之间的“空白”不太在意。而事实上,字体排印更多是对“空白”的设计,把“空白”的部分做好眼睛才能呼吸顺畅。
  3。配色
  配色一直以来都是个让我头疼的问题,它看上去很难掌握,事实上也非常难以掌握。有一阵子我甚至怀疑我自己在色彩方面有生理缺陷,不然我他妈那么用功好歹应该有点儿效果啊。后来做了一些色彩识别能力测试,才慢慢打消了破罐子破摔的念头。
  关于色彩基础知识的书和资料我看了不少,三原色、互补色、色环和光谱等知识知道了很多,但这些东西对我的帮助微乎其微。并不是这些知识没用,而是它们都需要辅助以大量的练习,可能还需要一个好的老师亲手指导,而我现在已经没时间和精力再从基础开始慢慢学画画了。不过,大量的阅读和无用尝试还是帮助我找到了一些比较实用并有迹可循的东西,下面就说一些窍门。
  程序员一般都是用十六进制或者RGB来表示色彩,比如说FF0000或者rgb(100,210,241,0。5)之类。这种认识色彩的方式非常不好,它们对你来说只是一堆随机数字,只是“碰巧”会出现那种色彩。而且即使你知道FF0000是红色,你也很难通过调整这些数字来找出你想要的色彩。现在我们不要再用十六进制或者RGB来考虑色彩了,我们要用HSB模式:H(hues)表示色相,S(saturation)表示饱和度,B(brightness)表示亮度。
  使用HSB来考虑色彩最大的好处是比较直观,当你调整色相(H),饱和度(S)或亮度(B)中的某一项时,基本可以大概知道色彩会发生什么变化,这样我们就可以选出比较可控的又“不难看”的色彩搭配。比如说,我们可能选择了某一种色彩作为链接的色彩,那么就可以保持该色彩的色相(H),饱和度(S)值不变,只调整亮度(B)的值,这样就顺利得到了一种比较深的色彩,可以用来做:hover色彩,如图:
  这样用户在鼠标移动到链接上的时候,得到的反馈就比较自然,这里是个简单的demo:http:www。zhuoqun。netdemolink。html
  如果把色彩比作杠铃的话,那么程序员的“色彩肌肉”可能只能举起5磅的重量,所以开始的时候我们不能太勉强,不要试图去掌控跨度很大的色彩,选中一个色彩之后,任何时候都只调整H,S,B中的一项即可。控制住变量,事情就不会变得太糟。
  因为我们的力量有限,所以要尽可能少的使用色彩,也就是说要尽量重复使用色彩。比如说,有一种色彩我们用作链接的:hover色彩,同时一些高亮的文字的背景色也可以使用它,这样不但减少了色彩种类,还会给人一种视觉上的一致性,有个很好的例子就是http:www。subtraction。,这个网站的主人以前是纽约时报的设计总监,网站除了黑白之外这个网站只有一种橘黄色。
  相信很多程序员都听说过TwitterBootstrap。TwitterBootstrap是一个很酷的东西,极大地减少了设计工作,非常适合不懂设计的人快速搭建网站。但现在使用TwitterBootstrap的人越来越多,很多网站看上去千篇一律,让人非常厌烦。其实完全可以根据提到的规则来定制自己的TwitterBootstrap,这里我就以顶部的导航条为例简单做一个demo。首先我们看到导航条的背景样式是这样的:
  background:2C2C2C;
  backgroundimage:webkitlineargradient(top,333,222);
  现在我们把333输入到PhotoShop里面,可以看到它的HSB的值为0,0,20。现在我们保持亮度(B)不变,通过调整H和S找到一种舒服的颜色,比如160,90,20。但是这个颜色亮度太低了,所以我们增加30的亮度,颜色就变成了160,90,50。十六进制为:。0D8059。
  然后我们对其它颜色做同样的转换。222的HSB为0,0,13,然后把它的H和S的值设置为和333一样,就变成了160,90,13,再增加30的亮度,就变成了160,90,43。十六进制为:0B6E4D。
  同理,2C2C2C会转换成160,90,47。十六进制为:0C7854。
  然后把原来样式里面的三个相应的颜色都替换掉就行了。背景换了之后,你会发现菜单选中后的背景颜色还没有改,原来的颜色是222,现在要改成0B6E4D。此外连接上的文字显得有些暗,原来的颜色是999,现在改成DDD。下面是完成后的demo(只测试了Chrome浏览器):
  http:zhuoqun。github。comdemonavbar。html
  4。装饰元素
  装饰元素都是锦上添花的东西,上面提到的几点如果做不好的话,装饰元素再好看也没用。最常用的装饰元素是纹理和阴影。有时候我们想要给整个网页一个背景,如果是纯色会显得比较呆滞,用纹理平铺会比较好一些,在网上搜texture会找到很多相应图片,我比较喜欢纯色然后加一些noise的背景,这里有一个生成器可以帮你做到:http:www。noisetexturegenerator。com
  至于阴影,有textshadow和boxshadow等。我以前在一些网站浏览的时候,总觉得上面的文字比较特别,选中一看才发现都加了textshadow。textshadow如果用得好会产生一些很好的文字效果,而且不会影响阅读体验。而如果想要一些立体效果,可以考虑boxshadow,但使用的时候要考虑到一致性和假想中的“光源”,相邻的元素最好不要做出相反的阴影。
  一般比较专业的网站在细节上都处理得非常好,从装饰元素就可以看出来。因为很喜欢的Twitter的设计,有一阵子我就把它的首页自己实现了一遍(可以在这里查看,请用Chrome浏览器,因为偷懒没用考虑浏览器差异)。在抄袭的过程中,我发现即使在一些常人不会注意到的细节上它都努力做到尽善尽美。比如说输入框上面的placeholder其实是用span浮动在上面,因为原生的placeholder没那么丰富的效果。还有弹出窗口的那个小三角,乍看之下没什么,但如果你查看代码结构,会发现有两层:
  这个让我很好奇:应该一个div就可以实现才对啊。当把caretinner隐藏掉之后,发现原来caretouter是一个半透明的层,而且宽高都比caretinner多了1px,只是用来模拟阴影效果:
  仔细看就能看到那个半透明的小三角
  抄到这里的时候我感到非常震惊,然后十分肯定这样的代码是设计师自己写的,不然不可能把设计意图实现得那么完美。这才是realwebdesigner啊!知名设计师Z也曾经在Twitter上说过:”Realwebdesignerswritecode。Alwayshave,alwayswill。”Twitter的设计师肯定都是自己写HTML和CSS代码。
  从Twitter的例子可以看出,好的装饰元素可以提升品质感。但是也要注意一点,装饰元素只是用来装饰的,千万不要搞得太惹眼以至于喧宾夺主。
  以上说的这几点中,修改容易并且见效最快的就是对齐和字体排印,把这两点做好设计会直接上一个台阶。颜色用不好可以先不用,都用灰度也行,比如背景颜色EEE,字体颜色333,分割线颜色CCC虽然简陋,但是“不难看”。
  下面推荐一些资源,其中有书,也有在线的教程,大部分我都看过而且觉得不错。
  1。《写给大家看的设计书》这本书简单易懂,介绍的也都是可以遵循的规则,很适合业余爱好者阅读,非常推荐。
  2。TypeisB很好的字体博客,里面的基础文章非常值得一看。
  3。T关于字体设计的好书,可以在线阅读。
  4。《色彩设计的原理》最近出的书,浅显易懂。
  5。《版面设计的原理》和《色彩设计的原理》是同一个系列,能学到很多关于布局的知识。
  6。D包含了字体排印、配色和版式设计等多方面内容,值得一看。可以在线阅读。
投诉 评论 转载

一个功能是如何被实现出来的?用户在使用一款软件时,所呈现的功能到底为什么是这样设计的?为什么你认为重要的功能,迟迟不能被实现?是因为产品经理像吐槽中那么LJ呢还是另有起因?一般,我认为做产品可以大体分为这……色彩设计方法为什么要整理设计色彩方法?在色彩设计应用中,我们对颜色不同程度的理解,影响到设计页面的表现,熟练地运用色彩搭配,设计时岂不事半功倍。一张优秀的设计作品,它的色彩……阿里设计实战!“回声”项目第一期设计小结编者按:新手想快速进步,多参考专业设计师的设计思路是特别有帮助的捷径之一,今天阿里的同学分享一个新项目的设计小结,文中里关于色彩与版式的诸多细节,以及几个有趣的细节都非常值得设……别再纠结是Bug还是新需求了自从我干上软件开发这一行,并且使用了Bug跟踪系统,我们在每一个项目里都会纠结一个基本的问题:你怎么能把Bug与功能需求区分开来?当然,如果程序崩溃了,这毫无疑问是Bug……产品icon与色彩心理学最近准备做一款app,由于公司的LOGO主色调是黄绿色(黄绿色时而能够表现出自然的感觉,时而能够表现出未来虚幻的感觉),但是产品体现的情感与公司主色调不符合,所以得设计个app……面条与产品:简单简陋,而是为了更纯粹的美味我是一个面霸。我对面条的依赖,大概可以想象瘾君子对白粉的需求离开了,肯定活不下去。最直接的原因就是因为我来自北方。从小到大几乎顿顿面条,且乐此不疲。即使从高中开始到大学,……程序员如何做出“不难看”的设计编者注:本文发表于12年底,里面有些例子和链接可能有些过时,但它的思想没有过时,推荐给开发者们学习。经常看到程序员展示自己做的东西,有一些是创业项目,有一些是Weeken……从美工到设计师!凭什么说我是设计师?编者按:冯易进我希望大家明白,设计师不仅仅只是设计职业的称呼,因为他承担的角色还是设计中的示范作用,所以时刻要记得:设计师何以为师?今天作者分享了13条经验,很值得新……6种方式提升在线酒店预订体验说到电商支付流程的用户体验,有大量关于转化率的议题,也有很多有用的建议能够解决可用性问题。但这些资料都没有包含甚至触及到一个特殊的电商领域在线酒店预订。在用户体验方面,这是一个……好评如潮!帮你的网站吸引更多用户的七大秘诀如何让网站黏度更高,吸引更多用户是站长和网页设计师们永恒的话题。但是用户量无法凭空而来,即使你做好了内容,各种问题依然会成为拦路虎让你挠头不已。今天这篇文章将会告诉你七大秘诀,……豆瓣小组的商业化思考难这是我最近思考豆瓣的商业化的结果,不是说豆瓣商业化难,而是对我来说真的好难。我应该算不上豆瓣的深度用户,也不是豆爸,更没有深入研究的工具和理论,“豆瓣的商业化”这个概念……常见设计理论合集72法则因为人脑处理信息的能力有限,所以它通过把信息分成块和单元来处理复杂问题。根据GeorgeAMiller的研究,人们短期记忆每次能处理5~9件事情。这经常贝作为把导……
共享行业网站建设中品牌推广的方法完成一个好的网站建设需要预先规划好建站方案完成自适应手机网站建设之后,企业营销难题也就迎刃而解传统电脑端网站建设并不能代替手机端建站推广的影响力优帮云建站之模板建站一站式托管服务,免去网站安全隐患自助建站工作的落实需要企业相关人员的积极配合网站建设指南:三种建站方法盘点网站建设与网站日常维护步骤建站繁琐流程,优帮云企业模板建站帮你一一解决了解建站的优势之后,企业应当尽快筹备网站建设认清企业发展方向才能更好制作网站从网站建设到运营具体流程步骤

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界