如何将设计与构建结合

 设计与构建:构建的趋势与现状。Css3新特性:分两部分,新特性和实例部分

  1.效果图与页面的差异:

  1)内核小常识分享

  主流内核:

  Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等

  Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等

  Presto内核:Opera7及以上

  Webkit内核:Safari,Chrome等

  1 Trident内核和W3C标准脱节,Trident内核的大量Bug等安全问题没有得到解决。

  2 Gecko:这是Firefox 和 Flock

  所采用内核,这个内核的优点就是功能强大、丰富,可以支持很多复杂网页效果和浏览器扩展接口,但是代价是也显而易见就是要消耗很多的资源,比如内存。

  3 Presto:Opera 采用的是 Presto内核,Presto内核被称为公认的浏览网页速度最快的内核,这得益于它在开发时的天生优势,在处理JS脚本等脚本语言时,会比其他的内核快3倍左右,缺点就是为了达到很快的速度而丢掉了一部分网页兼容性。

  4 Webkit:Webkit 是 Safari 采用的内核,不过 Safari 是苹果系统下的浏览器(虽然也有windows版,但是比较少),所以只简单介绍一下这个内核的优点和缺点,优点就是网页浏览速度较快,虽然不及 Presto 但是也胜于 Gecko 和 Trident,缺点是对于网页代码的容错性不高,也就是说对网页代码的兼容性较低,会使一些编写不标准的网页无法正确显示。

  5 双核现在很多国内浏览器采用双核(IE+ Webkit),如遨游,360等

  总结:根据上述内核不同,造成了页面与效果图的差异,这是其中一个原因。下面我们看下效果图与页面差异性的简单处理方法。

  2)效果图与页面之间差异处理

  1 引导层你为何有毛边呢

  左图为:IE7 8 9 10 及火狐谷歌浏览器的输出的透明图片,右图为IE6的透明图

  造成毛边我们采用的方法:

  方法一:除IE6外采用PNG24位图,给IE6做张GIF图 或者PNG8的,这样处理不足之处是保证了其它浏览器,但是IE6有点毛边

  方法二:我们采用IE6做滤镜用一张PNG24的,其它浏览器也是PNG24,这样处理的好处是没有毛边但是滤镜是很消内存的,一般不采用

  方法三:在效果图上做点简单的改变如图:

  左图是IE6右图是其它浏览器,加个底图透明,毛边问题就被隐藏起来了,肉眼很难区分

  2 图标摆放小窍门

  左图是原图对比调整后的图,做了简单的调整,看第一个图标(手机),如果不用红框框出来,很难辨别,

  在不影响效果的情况下,我们做出了简单的改变,把图标向左移动了两像素,这样就用一套代码,不用再单独给那两像素定义样式了,图标达到居中的效果。

  3 间距栅格化

  看上图,间距有30px 18px 16px 13px

  我们在做间距截图时,我们通常采用10px 15px 20px 25px 30px这样的规律来处理间距,达到一定的规范性,但又不影响效果

  4虚线 项目符号

  上面是设计出来的,下面是系统自带的,但是我们一般采用下面的,能用代码写出来就用代码,原因是文件小而灵活,比如:一张图一般几十k,但是代码的话,也许就几k。灵活性的体现:比如能很快的把虚线变成实线

  不是特别强调效果时,我们也可以这么做,如上面关闭这段代码,很灵活,可以随时放大、缩小、换色等

  5背景图的规律性

  背景图可以整铺、平铺、纵铺规律性

  如上图,原图,和后面切出来的10,5像素的图对比时。怎么取值都找不到平铺点,这时我们要求助设计师了,给个平铺的点。~~~ O(∩_∩)O

  6 字体

  常用字体:宋体、 Arial 到后来的黑体、微软雅黑

  文字大小:宋体、 Arial建议使用12号+14号字体的混合搭配,微软雅黑通常用单数

  总体原则:提高文字的辨识性和页面的易读性

  7 行距间距

  当出现字间距时,如上图红框,我们一般不采用上面的数字,css中的字间距跟ps中行距的不一样的,一般采用自动排版

  在ps面板中,我们会注意到上面几个部分,字号像素,行距,字体,字体是否加粗,行间距最好要设出来,这样便于构建制作时取值

  8 文本字段

  文本处理要分清字段截取,打点,还是自动换行

  Css打点的不足之处:如图,点的位置,大小的不同

  2.Css3新特性: css3新特性,css3现实中的应用

  总结以下几个跟设计有关的css3的新特性

  1) 不依赖图片的视觉效果

  CSS3包含了大量新特性,可以用来创建一些以前只能通过图片(或脚本)才实现的视觉效果,比如圆角、阴影、半透明背景、渐变以及图片边框等。在这些新特性之中,多数是属于“背景和边框(Backgrounds and Borders)模块的,其余的则属于“色彩和图像”(Colors and Image Values)模块。

  项目中的应用:如下图:

  在红框标注中,上图用到了css3圆角,下图用到了css3边框,出来的效果跟原图一样,就不用切成图片了,大大节省了空间。

  2)盒容器变形

  CSS3中还有一类视觉效果,让我们可以在2D或者3D空间里操作盒容器的位置和形状,比如旋转、缩放或者移动。这些特效称为变形,在“2D变形”(2D Transforms)和“3D变形”(3D Transforms)模块中都有涉及。

时,但是能直观的看出css3在各个浏览器下的不同之处)

  3)独一无二的字体

  “字体”(Font)模块引入了@font-face规则,随着CSS3对字体样式的不断丰富,中文网页中对font-face尤其是web app中赋于了新的应用场景,那就是用 Icon Font 代替页面中的图片。

  也就是说Css3字体引用分成两部分:一个引入@font-face是定义字体,一个引入是@font-face定义图形

  1. Css3可以引入@font-face是定义字体,但是由于中文字体笔画过多没有规律,一般不采用这种方法

  而英文字体固定的24个字符,定义好库,使用比较灵活

  2.用css3引入是@font-face定义图形,如 图标

  http://ux.etao.com/fonts/ 网上用@font-face定义出来的icon

  http://weiba.weibo.com/?topnav=1&wvr=5 微博在项目中也应用了@font-face

  这样做的优点就是,文件小,图标易于管理,可以随时换色,更改大小,变换位置等。缺点就是目前对纯色的支持比较好,做渐变的话仅pc端webikit内核浏览器支持。移动端webkit不支持此属性,在 Android4.0里测试,也是不支持的。

  这里设计要注意的一点就是:图标做成矢量图

  4)过渡与动画

  CSS3的过渡(transition)在其同名的模块里描述。它是一种简单的动画特效,可以平缓地呈现一个元素的样式变化。例如,当用户将鼠标悬停于按钮之上时渐进且平滑地改变其颜色。更复杂的CSS3″动画”(animation)特性也在其同名的模块里有相应描述,它能够实现更复杂的样式变化和元素位移,而不需要用到Flash或JavaScript。

  http://www.wheattime.com/common-css3-animation.html CSS动画(我们麦时同学整理出来的)

  http://css3lib.alloyteam.com/ css3u

  3.构建与设计:趋势与现状

  首先,重构的目标: 实现代码复用、页面性能、可维护性、灵活性、相应性

  其次,CSS3的现有发展 (不太成熟)

  Internet Explorer: 46% 的 Internet 无法看到这些效果,因此不要将这些 东西用于重要的设计。同时保证,在这些效果不起作用的地方,有替代设计可用。

  浏览器现在的使用情况:(重点看下iE)

  http://tongji.baidu.com/data/ 百度 http://www.ie6countdown.com/#map 微软(2014 IE6倒计时网站)

  CSS 验证问题: 这些 CSS3 功能并非最终版本,目前不同的浏览器使用不同标签实现这些功能,可能为你的 Style Sheet 带来验证上的问题。

  臃肿代码: 因为不同浏览器要使用不同定义语法,最终将导致你的 CSS 代码十分臃肿。

  最后,我们所做的一切努力都是以用户为中心

  用户关心:快、美观、流畅、实用性

时间: 2024-09-11 05:11:06

如何将设计与构建结合的相关文章

回归架构本真:从规划、思维到设计,构建坚不可摧的架构根基

   关于什么是架构,业界从来没有一个统一的定义.Martin Fowler在<企业应用架构模式>中也没有对其给出定义,只是提到能够统一的内容有两点: 最高层次的系统分解: 系统中不易改变的决定.   <软件架构设计>一书则将架构定义总结为组成派和决策派: 组成派:架构=组件+交互:软件系统的架构将系统描述为计算组件及组件之间的交互. 决策派:架构=重要决策集:软件架构是在一些重要方面所作出的决策的集合.   而架构的概念最初来源于建筑,因此,我想从建筑的角度去思考这个问题.Wik

分布式JS解析系统的设计与构建

分布式JS解析系统的设计与构建 北京交通大学 黄维 该论文主要包括两个研究方向:首先是对网页中存在的JavaScript进行有效的提取和解析:然后结合Hadoop分布式计算技术,在深入分析现有任务调度算法.结合本系统实际情况的基础之上,设计本系统在分布式计算环境中的任务调度算法,合理的进行JavaScript解析任务调度,实现对页面中包含的JavaScript片段的高效解析.通过对JavaScript语法规则和其在网页中的存在形式的研究,设计了JavaScript的提取流程和算法,然后借鉴浏览器

角色完善交互设计:如何构建人物角色

文章描述:交互体验日-从人物角色到设计呈现 . 在2010年12月9日-11日,首届中国交互设计体验日上,做了这个workshop. 当时人数超过预计,很多现场练习没有一一进行. 在这里放上当时的ppt,有需要交流的同学可以随时沟通.ppt大纲 1.自我介绍 2. 什么是人物角色 3. 为什么要做人物角色 4. 如何构建人物角色 5. 创建场景剧本和需求 6. 通过需求构建交互框架 7. 通过角色完善交互设计 你可以通过:http://www.slideshare.net/canouyang/s

设计精良构建良好的网页表单设计欣赏

  表单是用户和网站交互的主要途径,不管是用户注册.发表博客.发表评论还是用web客户端发送email(比如gmail),表单始终是现代网站和web应用的主要产物.     在下面的展廊,你可以欣赏到一些设计精妙和构建良好的web表单设计,相信可以为你设计迷人而有效的表单提供一些灵感. 1. Alexandru Cohaniuc 2. Tea Round App 3. Grooveshark 4. Substrakt 5. Matt 6. Pixelight Creative 7. Ballpa

《需求设计:构建用户想要和需要的产品》——1.2 什么是设计

1.2 什么是设计 设计是个很常见的说法,没有几个人会深挖它的含义,但如果仔细想一想IT应用程序的设计与一般的设计的区别,你就会发现,IT应用程序其实是很特殊的.这种特殊性促使我们思考一个问题:应用程序的设计真有这么特殊吗?或者说,我们是不是将它看得太过特殊,以致忽视了一些最为基本的共性? 首先,我们来定义设计这个词.设计,是对想要构建的事物或系统所做的概念化处理.设计(design)既是名词,又是动词.刚才定义的是名词,现在我们给出动词的定义:(作为动词的)设计,就是指创建设计方案. 笔者故意

《需求设计:构建用户想要和需要的产品》——3.3 用例

3.3 用例 在前面几节之中,笔者对敏捷开发做了批评.除了敏捷开发,目前还有一种比较流行的做法,那就是通过编写用例来捕获需求.这一节要讨论用例与情境设计之间的区别. 用例,本质上是用一系列带有序号的步骤,来对场景进行简单的文字描述,就此而言,我们可以在各种详略不同的层面上撰写用例.此外,还有一些用例图可以展示每位参与者所使用的用例,以及用例之间的扩展关系,这里所说的参与者(actor),与情境设计之中的用户组有些相似.笔者稍后会讨论什么叫做"扩展".用例图与笔者所说的情境图看起来很像,

《需求设计:构建用户想要和需要的产品》——2.8 这样做真的是工程化的设计吗

2.8 这样做真的是工程化的设计吗 笔者提出的六框设计模型,与经典的工程组件分解图并不完全相同.因此,有人会问,这样做真的能像第1章所说的那样,实现工程化的设计吗?这个问题不能简单地用是或否来回答.在建筑学和机械工程学之中,宏观设计图与组件设计图的绘制方式是相同的,都需要确定一些形状及表面,而且所有的组件都有其尺寸及重量.此外,从顶层设计到底层设计之间的层数,是没有限制的,换句话说,可以把组件分成子组件,再把子组件分成更小的子组件,这种划分可以多次执行.然而,对IT软件开发所做的设计,却不是这样

《需求设计:构建用户想要和需要的产品》——2.3 集成设计

2.3 集成设计 集成设计的主要目标是: 把任务划分到各个应用程序与服务之中. 决定数据表与数据库之间的指派关系. 以应用程序之间所传递的消息为视角,来定义集成方面的需求. 对于其他更为详细设计的来说,集成设计确定了这些设计的范围.用户界面设计可以针对每个应用程序或服务分别来做(对于服务来说,其用户指的是另一个程序),数据库设计可以针对每个数据库分别来做.尽管技术设计也可以针对每个应用程序或服务分别来做,但是在大多数的公司里面,我们都可以令多个应用程序与服务共用同一套技术设计.图2-5演示了如何

《需求设计:构建用户想要和需要的产品》——2.4 技术设计

2.4 技术设计 集成设计之下的那一层,可以分为三个领域:技术设计.用户界面设计与数据库设计.本节讨论技术设计.技术设计有两大目标:1.设计出可以满足非功能型需求的解决方案.2.设计出可以尽量简化功能编程的解决方案.非功能型的需求,是指那种与业务工作并没有直接支持关系的需求.它们包括: 所应满足的吞吐量及响应时间. 可用性方面的目标. 灾难恢复方面的要求. 安全设计.你需要知道应用程序的安全漏洞.修复这些漏洞的办法,以及系统监控与系统管理工作的执行方式与执行地点. 系统操作和系统管理的易用性.