用一个设计师的语言讲前端技术,计算机如何转化你的设计

设计会转化成计算机能懂的各种元素:输入框、按钮、下拉等;HTML负责骨架CSS负责装饰;JavaScript帮助你可以更加丰富地操作这些元素

用一个设计师的语言讲前端技术,计算机如何转化你的设计

我一直笃信不知道HTML和CSS的体验设计师是连砖头和钢筋都没有摸过的建筑师,因此在以往的十几个项目里虽然总是进行策略层的设计,但也不忘记锻炼自己HTML和CSS能力,只有手够脏才能成为一位好的设计师。

最近的讨论里,我们总在纠结于设计师和开发人员无法相处的话题,其实答案很简单──当你没有我的生活体验,你如何让我理解你。在开发人员那个充满逻辑、过程、抽象、定义的世界里,到底哪个部分是曾涉足,决定了你是不是一个足够理解开发人员的设计师。

于是,我尝试用一个设计师的语言讲前端技术──计算机是如何将你的设计转化成计算机语言的。

设计会转化成计算机能懂的各种元素

你在用photoshop制作界面时,会使用层的概念给例如输入框、按钮、下拉等元素进行分拆,这些存在于psd文档中的元素到了浏览器那里,会被前端工程师变成一个个标准的元素,这些元素的组合就形成了dom结构(document Object Model),浏览器通过读取DOM结构生成最后的页面。

HTML负责骨架CSS负责装饰

这些元素的定义由HTML完成,长什么样子,由CSS完成,下面这个例子里,没有经过CSS修饰的DOM结构只剩下HTML构成的”骨架”,而加上CSS修饰以后就会变成设计师想要的效果。

你的设计就是这样被使用HTML和CSS变成一个浏览器可以读取的页面的,如果你注意到上面的下拉菜单,作为一个设计师你可能不喜欢这种风格,想变成下面这样的风格:

这就会使CSS渲染很麻烦,因为CSS的原料只有那么多种布料和装饰,你设计的东西超过了CSS能够提供的效果,就会增加开发过程。但随着前端技术的发展,也不是完全不可能,可是浏览器又拖了后腿,各个版本和”品牌”支持的CSS渲染效果都不一样,他们要花大量的时间让它们所有的表现保持一致,你倒是很轻松的使用你mac上的PS做效果。你知道为啥你的程序员背后抱怨你了吗?

JavaScript帮助你可以更加丰富地操作这些元素

这样你就可以生成一个静态的页面了,在以前,这就足够了,通过一个静态页面就可以跟后台进行交互;但现在,前端的交互行为越来越丰富,很多交互都放在前台进行,而不需要到后台去。

这就像你买个包子,你问服务员有没有白菜的,服务员直接告诉你没有,她不用跑到厨房去问厨师。前台交互当然不像买包子这样简单,有很多细节的交互行为都是由JavaScript完成──这就是JavaScript的意义──它帮助你更好地操作这些元素,根据需要改变他们的样式、位置、内容、以及增删。

下面这个例子是一个常见的回到页首交互细节,整个交互过程(在线演示在这里)是:

在第一页下拉;

慢慢浮现出一个按钮;

点击按钮回到页首;

按钮慢慢消失。

这个交互就不是html和css能够完成的了,当然也不是photoshop能完成的,细致的设计师会在文档里写清楚这个部分的交互行为,或者使用axure做一个原型,但是如果掌握一点点前端技术,你完全可以把这个效果写出来,前端代码是与程序员沟通最天然的工具,同时在agile UX的环境里我们鼓励设计师和前端开发人员结对,一起把这个交互效果表达出来。

在以前,学习这些知识确实很难,但是前端技术的发展使得我们现在可以只掌握一些基础就能写出流畅的前端代码,这就是各种前端框架的兴起,比如HTML和CSS的Less、960.gs等,JavaScript里的jQuery、YUI、Prototype,此外,有越来越多整合的框架将HTML、CSS和JavaScript整合在一起,使设计师可以轻松的使用制作高保真原型,例如Twitter推出的Bootstrap以及Zurb的Foundation。

这些框架的存在就是把一些前端交互的现有模式用代码包装起来,就跟你在包子店点包子要3号套餐一样,不需要再跟人说要什么馅喝什么粥,就说”3号”搞定。这些模式包括:弹出对话框(dialog)、标签页(tabs)、下拉(dropdown)、表单(forms)、提醒(tooltips)、警告(alert)、翻滚(scroll)、收放(collapse)、走马灯(carousel)、按钮(button)、自动补全(auto Complete)等等,你只需要写一点点代码就可以叫到包子,对不起,完成一个交互场景的设计。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月3日 18:04:02
下一篇 2024年5月3日 18:06:09

相关推荐

  • c语言替换字符cstring,C语言替换字符串函数

    c语言:如何将字符串中指定的字符替换为另一个指定字符 1、打开visual C++ 0-文件-新建-文件-C++ Source File。定义变量:#include stdio.hvoid main(){ char c1,c2,c3; /*定义字符变量*/。 2、这个写一个算法吧,搜索字符串,寻找b,找到后判断b的后一个字符是否为c,如果不是c,则继续搜索直…

    2024年5月20日
    3000
  • 脚本c语言,用c写脚本

    脚本语言和C、C++这些编程语言有什么区别 脚本语法比较简单,比较容易掌握;脚本与应用程序密切相关,所以包括相对应用程序自身的功能;脚本一般不具备通用性,所能处理的问题范围有限。 编程语言:需要编译执行;本身具有逻辑性和行为能力;例如:C、Java等。脚本语言:需要解释执行;本身具有逻辑性和行为能力;例如:javascript等。 (1)脚本语言不需要编译器…

    2024年5月20日
    4200
  • c语言程序ch-aa,C语言程序将从源程序中第一个函数开始执行

    C语言编程 1、C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 2、利用C语言编写一个求两数相加的和的编程思想和方法如下:首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。然后使用scanf()语句接…

    2024年5月20日
    3500
  • c语言打印四边形,用c语言打印出*****图案矩形

    打印平行四边形,输入图形的行数、列数并输入打印的字符,打印出图形… 打印平行四边形可以看成打印一个三角形,后固定输出一行固定的符号,配合换行字符,完成相应的图形。 平行四边形一般用图形名称加四个顶点依次命名,在欧几里德几何中,平行四边形是具有两对平行边的简单四边形,平行四边形的相对或相对的侧面具有相同的长度,并且平行四边形的相反的角度是相等的。 …

    2024年5月20日
    3400
  • linuxcpu个数c语言,linux cpu 个数

    在Linux系统中,如何运行一个C语言程序? 打开Linux系统,启动shell命令终端。在终端中输入gedit helloworld.c命令并回车。进入之后进行编译,编译好后保存并退出。输入gcc helloworld.c命令并回车,等待编译成功。输入命令 ./a.out 即可运行程序。 编译。由.c文件生成.o文件,写作:gcc a.c -o a.o -…

    2024年5月20日
    4900
  • c语言文件rb,c语言文件如何转换为cpp

    用C语言设计一个文件加密与解密程序 文本文件 加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如txt中的文件内容:abcd 只要给每一个字符+1,就可以实现加密。 因此,SVN服务器上需统一存放明文文件。则通过服务器白名单功能实现对终端电脑数据进行强制透明加密,对上传到应用服务器数据实现上传自动解密、下载自动加密。 可能很长 ,这是在我以前一个程…

    2024年5月20日
    3900
  • c语言设计数字低通滤波器,c语言低通滤波器代码

    y=x*wc/(s+wc)这个一阶低通滤波器用c语言代码如何实现呢? 1、第一步:你需要采用MATLAB 设计滤波器的脉冲响应序列,如记为h(n) = [ h1,h2,… hN]第二步:c 语言实现的是 y(n) = h(n) 卷积x(n) 其中h(n)和x(n)都是向量 详细代码很简单,自己来吧。 2、这个我刚好做过一个滤波器,事实上对时域信号…

    2024年5月20日
    5100
  • c语言差分方程,差分进化算法c语言

    自动控制原理中,传递函数是怎么样转换成C语言的呢,才能在工控机上实时… 既然离散系统,那么递推关系式也许可以吧。但是自己用C语言写,估计很麻烦,既然有Matlab就用Matlab算啊。 ,写出开环传递函数,也就是G(s)H(s)=(Ks+m)/s^a(s-b)(s-c)等形式.其中的a就是积分环节数,必须将分母(即特征方程式)中的s提出来之后,才…

    2024年5月20日
    3700
  • c语言取中间数,c++取中间值

    C语言输入三个数求中间的哪个数怎样写代码 只有3个数,穷举比较实现很方便,所以在输入3个数后直接利用if…else if结构比较大小取中值输出即可。 int a[3],i,j,t;//定义一个数组a[3]存放三个数,i、j作为比较时用到的循环变量,t作为交换数组的两个元素的临时变量。 第三个IF表示:(如果执行IF,生成的新序列)头尾两个数字比较…

    2024年5月20日
    4700
  • c语言输出五角星,c语言输出简单的五角星图形

    如何用c语言做一个用*组成的实心五角星? 1、最简单的话,用强大的搜狗输入法吧,输入法里可以找到。includestdio.h int main(void){ printf(★ \n);return 0;} 要是正规点的就用他们对应的ASCII码。 2、设立一个for循环,用一个变量i控制行数,再用一个变量j控制每打印*和 的个数,利用printf函数输出字…

    2024年5月20日
    3800

发表回复

登录后才能评论



关注微信