设计规范,你怎么支持?

  这周我们部门的设计团队打算制定一套设计规范,目的是约束全站页面的设计统一性,今后对于一些通用需求和基础交互有一个统一的依据。以免不同的设计师在同一个大项目中设计出两种不同的风格,比如字体、颜色、间距等通用标准。

设计规范和前端的关系

  当我听到这个消息后,我想到的是前端也应该提早介入这件事。举个例子,当前端同学切页面的时候,是不是要把设计稿中的字体写到每一级的css中,如果不写完全依赖字体继承,就会带来很大的不确定性,比较危险。但是如果写,写到什么程度,要不要每一级都写还是挑几个写。但是一但写多了,今后就不好覆盖货修改了,而且相同的样式写好几遍也挺傻的。颜色和间距也是如此。会带来很大的维护成本。这个字体可能是一个字体组,比如我们的如下:

font-family: Helvetica, Tahoma, Arial, ‘PingFang SC‘, ‘Microsoft YaHei‘, 微软雅黑;

  我看到的下面这样一种实现,相互覆盖,是不是不太合理:

  这是因为我们之前将页面划分为多个模块,每个模块的开发者为了自身样式不乱,就自己定义了一套,造成了大量的冗余代码。

  如果在设计规范中强行约束全站的通用字体,那么我们只需要在body定义一次字体,切图的时候如果这个地方没有特殊要求就不在css中定义字体。有特殊要求的就单独用标签包裹,作为叶子节点单独定义字体,使特殊字体不被继承。同样的还有颜色、行高等一系列属性。也就是说设计规范对前端工程的影响还是很大的。

  同样的还有交互规范,包括悬浮效果轮播图时间间隔等。

为什么前端要今早介入

  简单来说,其他团队的事前端为什么要插一杠子。一方面来说这个东西和我们的开发和工程搭建息息相关;两一方面来说设计规范也要受技术实现的约束。有一些实现和效果需要提前说明,比如圆角矩形在IE8下的表现、placeholder到底应该如何呈现、背景透明字体怎么处理、z-index要不要有个优先级和取值区间。这些东西一方面影响了前端样式的书写,也影响着前端组建库的实现风格。我们需要在设计师制定规范的前期多沟通,辅助了解哪些视觉设计和交互设计会影响到前端开发的实现。

规范中有哪些需要注意的点

  简单来说可以分两大块:视觉和交互。也就是我们平时说的UI和UE。

  视觉设计规范的注意项:

    1、文字的字体应有同用字体对应数字、英文、中文在不同浏览器下的兼容;

    2、全站的基本色应有几个枚举值。对于整体风格不宜用太多颜色,以免前端在设计稿取色时造成偏差;

    3、板块间距、板块内元素间距应有固定规范。以免设计稿偏差货取值偏差。

    4、圆角半径、按钮padding、icon样式等;

    5、z-index范围,比如页面元素1-100,蒙板200-300,弹层500-1000,广告元素2000+等;

  交互设计规范的注意项:

    1、鼠标悬浮效果,文字变色图片放大等。按钮点击效果;

    2、轮播图的间隔时间;

    3、倒计时效果。

    4、自定义表单元素。

    5、通用弹框等。

    6、placeholder的同意风格是否使用系统默认。

前端工程怎么支持

  说了那么多,前端工程要怎么支持呢?一般来说大多数工程都有自己的reset.css和common.css。其实我的规范也可以沿用这个思路来实现。不过有两种情况,看你的工程是否支持前端预编译:

  1、支持最好,比如有LESS或SASS这样的前端预编译工具,例如我们只需要在一个sass文件中将规范中的颜色、固定间距等定值型的封装成变量,一些非定值的封装成函数。一遍以后统一修改,也能减少书写。当然也可以把规范中不同的部分抽离成不同的文件,再分别引入。好处在于可以对规范全量的对应,也可以减少遍以后代码,更主要的是好维护。

  2、不支持也没关系,比如你的工程都是一大堆css,不能引用通用文件,那我们就再common.css下文章。你全站不支持预编译,单文件你总有的搞吧。还是上面的sass。区别在于规范中的一些颜色如果不使用酒不会编译到css文件中,但是我们现在需要吧规范全都实现到common.css中以备将来使用。有一个讨巧的方法就是借鉴bootstrap的方式,既可以sass引用也可以直接使用css产出文件。这用方法我们可以在一个新的sass文件中对每一个规范点定义一个class,然后调用原有sass,这样规范酒被编译到css中了。缺点就是文件会有点大,输出文件可能有很多用不到的class。bootstrap不也是不会都被用到吗。

  我对此专门新建了一个工程专门对用设计规范,用组建库对应交互规范,并编译出sass 版和css版用来支持不同类型的项目。后续会单独写一篇文章介绍具体的实现细节。

  

时间: 2024-12-16 15:06:44

设计规范,你怎么支持?的相关文章

IOS中Table View控件练习

之前两篇博客简单学习了Picker view控件的使用,接下来再学习IOS应用中很重要的一个视图--表视图. 在表视图中,每个表视图都是UITableView的一个实例,每个可见行都是UITableViewCell的一个实例. 表视图有两种基本格式,分组的表和普通表,普通表可以实现索引,实现了索引的表成为索引表.(PS.技术上,分组表也可以实现索引,不过好像苹果的设计规范中不支持) 一个简单的表视图应用 界面设计: 向storyboard中拖一个table view控件,他会自动占满屏幕,至于约

视频直播的发展趋势分析

视频直播的分析与发展 在讲视频直播之前,先讲一讲直播.直播是怎么来的呢?从传播消息的角度上来说,视频和文字.图片.音乐一样都是传播消息的手段,古时以文字传播消息,之后出现了图片和音乐,再之后视频开始流行.出现这种演变的原因是什么呢?我想主要是由于读者的需求日益提高和传播技术的不断发展.读者不满足于当前的文字阅读,由此出现了图片与音乐,到后来图片与音乐也无法满足日益增长的需求,则出现了视频.视频具有文字.图片.音乐不具有的优势:传递的信息多,更让人有代入感,给观众更综合的体验.虽然视频有着无可比拟

设计规范,你怎么支持?(二)——静态样式支持

之前上一篇文章中讲了我部门的设计要求统一设计规范,前端也打算同步提供对应的落地方案.下面我就讲讲我的第一步--静态样式支持. 一.前提条件--样式预编译化 在设计规范中有很大一部分是要求设计师对于某些特定的元素,必须按照某些特定的样式规则去设计.换句话说就是:这些规则就是我们前端可以抽象出来的部分,也是我们可以复用的规则和模块.传统CSS是不能一模块的方式来开发的.我们需要借助SASS或LESS等,这种样式预编译工具.我选用的是SASS,至于SASS如何安装,网上文章应该不少,我这里不打算细讲.

我的开源框架之设计规范

需求设计 (1)所有组件只实现简单易用(即不需要编写大量javascript代码)功能,复杂功能如数据表格的行编辑等可以通过弹出其他页面实现的功能不做. (2)所有组件只实现常用需求,尽量简化组件的复杂度. 代码设计规范 (1)组件代码框架符合jquery开发规范 (2)代码块清晰,可以区分构造器.私有函数.公共函数 (3)函数名需要注释使用方式与用途.函数的参数有详细注释 以下为代码框架规范: 1 /***********************************************

类型设计规范

.NET设计规范————类型设计规范 类型设计规范 从CLR的角度看,只有值类型和引用类型两种类型,但是从框架设计的角度我们把类型从逻辑上分了更多的组.如下所示: 类是引用类型的一般情况,占了框架中的大多情况,类的流行归于它支持面向对象的特征,以及它的普遍的适用性,基类和抽象类是两个特殊的逻辑分组,它们与扩张性有关. 由于CLR不支持多继承,接口类型可以用来模拟多继承,既能被引用类型实现,也能被值类型实现. 结构是值类型的一般情况,应该用于小而简单的类型,就像编程语言的基本类型一样. 枚举是值类

【转】MATERIAL DESIGN设计规范学习心得

编者按:自学笔记就该这么做!今天分享@東門王三 同学关于Material Design的自学成果,他的学习笔记严谨有序,触类旁通,从Material Design到其他系统的设计规范都有所研究,还认真地做了思维导图,同学们可以边学习边借鉴他的自学方法,一举两得呦. 自学的一大重点就是读书,推荐同学们看一下华为设计总监的经验:<华为设计总监尤原庆:怎样读设计书> 想读好书的同学,可直接到:设计师图书导航 挑选. @東門王三 :随着Android系统从Android 4.4逐步升级到Android

MySQL设计规范与性能优化

引言 MySQL是目前使用最为广泛的关系型数据库之一,如果使用得当,可支撑企业级高并发.高可靠服务,使用不当甚至连并发量略高的个人网站都难以支撑: 就算使用了缓存,大量的数据库访问依旧在所难免,即使设置了较长的缓存有效期,而且缓存命中率较理想,但缓存的创建和过期后的重建都是需要访问数据库的: 本文主要从MySQL表结构设计规范和MySQL自身性能优化两方面来讨论该如何对MySQL数据库进行优化: MySQL表结构设计规范 1. 数据库设计命名规范 (1)数据库,数据表一律使用前缀,前缀名称一般不

关系型数据库表结构设计规范-浅谈(转)

数据库表结构设计规范-浅谈,为啥是浅谈呢,因为主要的观点还是来自原微信公共账号的一篇文章,稍微加了一些自己的看法. 谁来进行数据库的设计? 肯定是具体的开发工程师来进行,开发同学的话,第一业务熟悉度比较高,第二结合OO和ORM的思想,能有比较好的运用关系型数据库的特性.如果是DBA同学的话,虽然对于数据库本身了解比较多,但是对于业务了解较少,很难有比较客观的设计.但是业务上线或者运行期间,需要DBA同学能够重度的加入进来,针对一些性能点和不合理的点进行优化,同事也可以在上线前,针对SQL进行re

通达OA 关于OA工作流设计规范的一些意见

集团应用OA工作流已经有几年的时间了,从最早的请假调休这些简单常用的工作流开始应用,到现在涉及十多个部门的工程项目合同工作流,我们一步一步的把工作流应用渗透到了很多部门及工作中,确实提高了不少效率,减少了中间沟通的时间成本,也减少了扯皮等问题的发生. 工作流应用的多了以后,管理起来问题也比较多,如何能够更有效率的进行管理,我这里根据我们日常的工作总结了几点经验,仅供参考. 1.流程分类 对所有流程按照流程性质或部门进行分类,现在系统里可以支持多级目录的分类,就像我们管理电脑中的文件一样,分成文件