前端设计如同一个人的着装与外表,站点的设计总是最先吸引人们的眼球。布局是否合理、风格是否简介、配色是否和谐,流程是否通畅,操作是否便捷,这些前端特效都影响着用户对站点的认可度。随着用户体验,可用性,可交互性等越来越多的前端术语的出现,前端设计已经不是简单的HTML、CSS、AJAX等元素的整合了,它更关注交互的流畅性、操作的便利性、流程的合理性、结构的清晰度以及可维护性、页面兼容性以及同后端程序的良好桥接等,应该能够在真正理解WEB应用的需求的基础上放眼全局,把握整个前端的设计方案,因此新的时期赋予了前端开发人员新的使命,业内更需要全能的开发人才。

1、视觉设计

了解web排版艺术以及交互艺术,PS,了解web应用的一些方法:布局,排版,字体,色彩,表单等,为用户提供良好的视觉体验

2、交互设计

强调可用性:在效力、效率、满意度三个维度进行衡量。效力:用户可以完成任务;效率:用户完成任务的快慢;满意度:用户是否很享受完成任务的这个过程。

打开网页,你是否很希望你关注的消息显示在最醒目的位置?你是否喜欢某一操作因为比较简单?你是否希望网页上只出现你最想看到的内容。

总结:用户的3种特性:懒惰,喜新厌旧,有想法。

设计时候遵循以用户为中心的设计原则:UCD(user-centered Design):即以用户为中心进行产品的设计,开发和维护,一切都从用户的感受和需求出发,而不是让用户去适应产品,要做到这一点,就必须要时刻关注用户习惯、视觉感受、交互方式等细节。

工具:axure rp ,主要针对负责定义需求、设计功能、设计界面的专家,包括用户体验设计师UX、交互设计师UI、业务分析师BA、信息架构师IA、可用性专家UE和产品经理PM

原型设计和客户的交流发生了如下改革:

1.可以进行更高效的设计

2.体验动态的原型

3.更清晰地交流想法

制作线框图应该注意:

1.需求:requirements

2.精简:reduction

3.规则:regularity

4.重构:refatoring,理解为在编程领域中为了改善代码的质量而进行的工作。也就是改进。

使用PNG,是一种无损的位图图片压缩格式,与目前常用的GIF图片格式相比,它有更多实用的优点:

1.更高的压缩率

2.更高的颜色深度

3.基于Alpha通道的透明色

色彩:

人类可以感知波长为380nm到780nm的光波,意味着我们可以感知赤橙黄绿青蓝紫的七彩世界。均衡的色彩让人舒心,突兀的色彩让人烦心。比如IBM笔记本的设计黑色为主,再配上一个红点,使整体显得协调而醒目。

色彩三要素:

色相:色彩的首要特征,例如红色,黄色,蓝色,就是颜色属性中的色相。

饱和度:色彩的纯度,颜色混合的次数越多,则纯度越低。设计上:饱和度相似能使设计更具凝聚力。

明度:色彩的亮度。颜色有深浅,明暗的变化。白色的明度值最高,黑色最低。

流行配色:

1.单色系配色:稳重

2.相似色配色:相同色度的颜色

3.互补色配色

4.三色配色

页面内容的优化:

1.降低请求数

1)合并文件

2)CSS Sprites:把所有的背景图像放到一个图片文件中,注意:不能滥用,后期维护困难;若在系统架构中缓存策略做得好,同样可以尽可能低使用这项技术,因为首次加载的时间会变得更长。

3)剔除重复脚本:带来多余的http请求和javascript运算,影响页面性能。

2.减少交互通信道

2.1压缩技术

1)压缩:压缩javascript和css,减少文件大小,节省下载时间

2)优化图像:PS中使用“保存为web格式”来保存切割图片,可以输出适用于web质量的图像。(PNG,JPG,GIF)

其中:gif只有256色,不易表现色彩丰富的图像,小图标,支持小动画;JPG格式压缩比较高,所以适合用于照片类的图像。PNG格式包含了PNG-8及真彩的PNG-24或PNG-32,体积更小,且支持alpha通道,不支持动画。

3)减小cookie体积

2.2:合理利用缓存

1)使用外部javascript和CSS,可以提高页面加载速度,因为外部文件都能在浏览器中产生缓存,而且可以减少html文档的大小。如果把javascript和css内置在html中,则每次请求的时候都会随html文档重新下载,在用户访问站点中的多个页面时,这种方式带来的性能提高更加明显。

2)缓存Ajax

Ajax可以实现前端和后台服务的异步通信,使浏览器不用刷新整个页面就能够获得数据,带来良好体验的同时,能快速得到异步的HTTP响应同样重要,提高Ajax性能的措施最重要的就是:使响应具有可缓存性。

2.3.减少不必要的通信量

1)剔除未用到的脚本和样式。

2)推迟加载内容

3)使用get完成Ajax请求,使用POST方法需要首先发送文件头,然后发送数据。而post,只需要发送一个TCP数据包(除非有很多cookie),但是IE中的URL的最大长度是2K,因此如果发送一个超过2K的数据就不能使用GET了。

4)对于静态内容使用无cookie请求。

3.合理使用“并行”

3.1尽量减少重定向

3.2慎用iframe

3.3样式置于顶部

3.4脚本放到样式后面加载

4.节约系统消耗

4.1避免使用CSS表达式

4.2避免使用滤镜

二 IE及解析CSS的Bug,28个普通Bug、4个布局bug、6个可以绕开的bug.(个人建议:不需要刻意去记忆,遇到bug的时候,根据实际情况灵活应对就好)

《大巧不工 web前端设计修炼之道》学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. C#中virtual和abstract区别,举例子

    virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能 ...

  2. 原来腾讯安全中心TP和虚拟机vmware10是有冲突的

    用VMware 10启动linux,总是出现VMware Workstation 不可恢复错误: (vmx)...   然后网上查了好多类似问题始终不能解决.后来发现每次出现这个问题腾讯的TP是启动的 ...

  3. 浅谈UBUNTU

    一 UBUNTU介绍 Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词,意思是"人性".& ...

  4. 树形DP--求树上任意两点间距离和

    例题:HDU2376   HDU6446(2018CCPC网络赛) 思路:求任意两点间距离和可以转换为->路径长度乘经过路径次数的和. 求经过次数:设这条边两端的点,被经过的次数分别为A和B,那 ...

  5. Java Web之数据库连接池

    数据库连接池 一.数据库连接池 1. 数据库连接池就是存放数据库连接(Connection)的集合 2. 我们获取一个数据库连接是一个相对很麻烦的过程,如果我们获取一个数据库连接,使用一次以后就给它关 ...

  6. luogu3455 [POI2007]ZAP-Queries 简单的莫比乌斯反演

    link ms是莫比乌斯反演里最水的题... 题意:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 多组询问, T<=50000, ...

  7. eclipse gradle 找不到依赖解决办法

    右击工程,选择gradle  在点击Refresh Gradle Project 即可,..不得不说,gradle 在eclipse 下真没maven 好用.....

  8. Linux防火墙详解

    1.Linux防火墙基础 作为隔离内外网.过滤非法数据的有力屏障,防火墙通常按实现环境的不同分为硬件防火墙和软件防火墙.硬件防火墙是功能专一的硬件设备,具有比较全面的功能,其工作效率较高,但是加个昂贵 ...

  9. Liunx php函数 smtp 发送邮件

    1. 查看防火墙是否开放端口 默认smtp 25 iptables -L -n 如果没有,添加25端口 iptables -A INPUT -p tcp --dport 25 -j ACCEPT ip ...

  10. C#面试题-递归

    有一组数1.1.2.3.5.8.13.21.34...,求第n个数是多少? public int Recursion (int n){ ){ ; } &&n<=){ ; } )+ ...