| 加入收藏

使用CSS框架的优点和缺点

2009-06-03 20:45来源: 浏览:[]
所属专题:

前一段时间写了一篇《利用CSS框架进行高效率的站点开发》,有不少朋友问我相关的问题。很早5key就在公司进行CSS框架的架构,也对不少朋友提出CSS框架的建议。效果是很明显的。当然,CSS框架有优点也有缺点,最近也看了一些相关的文章。一些感想,与大家分享。

中国的互联网行业已经发展了10年,浏览器也从最早流行的NS到现在的FF3 .IE7等等……前端开发工程师的职位也诞生了。近几年在web开发中,有个非常火的词——“框架”。YUI、JQuery、Prototype这些javascript框架在开发网站时,确实成为前端开发工程师的手中利器。为什么呢?因为框架是包含工具、函数库、约定,以及尝试从常用任务中抽象出可以复用的通用模块,让设计师与程序员避免重复开发。通俗地讲便是把大多数重复工作的时间给节约了。

编写css也是一样,从最初只是定义文字颜色、内容排版,到现在定义所有的表现。css框架也渐渐被重视了,因为大家都认识到:从具象的表现中抽出抽象的模块来重复使用,是减少用户下载、方便团队及个人开发最重要的手段。以下介绍一些CSS框架的优缺点

使用CSS框架的优点

1、开发效率的提高。
如果你是一个企业建站的前端开发,相信在大部分时间里进行着同类站点的代码工作。定义好的框架可以大大提高你的工作效率,避免一些常见的错误。如果你的工作是按件计费的,你的报酬一定会比别人多。

2、规范代码命名。
在多个站点中你可能会用到一些同样的CLASS或ID。如果你有一套完善的css框架,对css规范化命名,很快你就能对你的每一个站点的代码进行通读。不用浪费时间在代码的阅读上。

3、更好的团队合作
有些公司会将一些稍大的站点的前端代码分成若干子项目。有过此类经验的朋友应该对这种开发方式深感郁闷,要注意公用css,还有注意相互之间的代码配合。久而久之,废弃代码越来越多,互相之间也难以阅读。如果建立好合适的CSS框架,大家可以减少很多不必要的错误,提升产品质量和工作效率。

4、解决浏览器的兼容性问题
现在大部分项目都要求兼容IE6,7和FF。每个站点可能都会花上一部分时间去处理兼容问题。在框架层面上就将这个问题处理好。就可以为后面的兼容问题节省下大部分时间。

5、一套完整的、结构清晰的结构代码。
CSS框架为你的项目提供一个干净、严谨的基础架构,帮助你养成良好的css编写习惯。通过它你可以快速的为你的站点搭建基础的html代码框架。万事开头难,前面的基础工作做好了。后面的开发速度会提高很多。

使用CSS框架的缺点

1、你需要完全的理解整套框架
每一个加入项目的人,都需要花一定的时间去完全的理解整套框架及编码规范;

2、你会延续一些框架中的错误bug
没人可以保证自己制定的框架是完美而没有bug的。你可能会需要时间去清理框架中的bug;

3、限制开发思路
框架给出大家基本的架构及开发的思路,这可能会限制你对产品开发的新思路;

4、臃肿的源代码
框架中可能有很大一部分代码不会经常用到,而且还会降低执行效率;

5、框架的语义化
我们已经注意到了HTML代码的语义化。但基于框架的每个站点都是独立唯一的,我们很难去保证CSS框架的语义化。

6、开发及使用css框架中常遇到的问题。

1、页面外部引用样式过多。

譬如关于ul的margin定义,在格式化的css中会声明为0,而在基本样式的css中又可能会声明margin:5px 10px;

所以在Yslow中会出现多次定义。

2、组件复用性的考量。

譬如表单定义的css中定义了所有表单的修饰,而假定在注册这个页面中只是需要这个css的百分之三十。那是否应切割出去那不要的百分之七十?

综合以上的二个问题,个人认为解决的方式便是封装,让该有的有,不该有的没有。尽量减少http连接数和css的大小。但如果彻底是这样做的话,css的复用性又会变得很差,后期手工的封装会很痛苦。只能套用小马的一句话“具体情况,具体分析”。人生真是矛盾啊…

3、到底该不该支持em?

可见如要支持em,最大的目的是为了在浏览器中可以根据用户的分辨率大小自由缩放,对于拥有超大显示器的用户与小显示器的用户是非常有用的。可是在采集我们用户的浏览器数据后,发现分辨处于这二端的用户非常少,可想而知,为这部分的用户多花比正常开发一倍以上的时间显然是件不划算的事情,所以当初在开发tbsp的时候,我们团队就决定了不支持em。当然这是个建议,我们也希望能使用em带给用户最好的感受。

以上六点就是我和整个淘宝UED团队在日常开发中的思考与总结 ,可能您会提出一些不同的观点,没关系,给我们留留言,一起探讨吧!

相关文章

>>上一篇:几条重要的CSS编写规则       >>下一篇:检查CSS错误问题的一些方法  


Copyright 2008 逆云网 | 粤ICP备08131116号 |关于我们 | 联系我们 |