leechael.orgHome

CSS Framework?

建议先对 Taobao.com UED Team 的 这一篇文章 进行阅读。当然,我的看法已经在后面的留言中说出,基本上我是赞成 Realazy 的观点,不赞成搞 CSS Framework,原留言是:

CSS Framework 的适用性太低,一般都是仅适用于编写者自己和所在的团队。一般通用性较强的只有 reset.css,可能甚至也不会是这般——例如,不同的人对字体的选择有不同的偏好(当然在中文字体世界中没有这么多的选择……),或者, reset.css 对基本上不会用到的元素进行 reset,或许就是一个浪费。
至于 CSS Pattern,个人感觉是,尽可能地使用叠加 class 来定义效果——不知道这算不算是呢?
至于 CSS 文件的请求数问题,这个倒容易解决,例如使用到 reset.css & layout.css, 读取服务器的 reset-layout.css,然后服务器端使用 rewrite 把这个请求指向一个 php 脚本,该 php 脚本自动把这两个 css 文件合并然后输出。对于淘宝这般的站点,大可在请求这类 reset-layout.css 的文件时缓存甚至生成静态文件。

这里只对我这留言内容进行补充。

  • 为快速开发而产生。在好些产品的开发中,或许只有一个后台的开发人员,如果让他继续去调试 CSS 代码,如果没有足够的耐心,很大可能只是得到一个不好的结果,这倒不如使用简单成熟的 Framework 来得实际。就我经验看来,界面的调试比后台程序的编写,需要更大的耐性解决颜色配对、不同浏览器之间的一致性这些小问题。
  • 适用性低。虽然相似的界面有助于用户减低学习成本,但界面上创新,那一个不同于其他站点的颜色,小图案,适合站点需要的小布局,还有好些个性而体贴的设计——这说明,CSS Framework 适用性不高,很多时候只适合用于单个项目之中。若要说哪个文件最能被频繁使用,我会说是 reset.css,但可能很多时候,这个文件也会有所更改,甚至不需要,因为仅是一个简单的 * { margin:0;padding:0;border:none; } 就能满足 reset 的需要了。
  • 个人偏好。设计不同于代码的编写,一个好的站点设计肯定会注入作者的个性要素。曾提及过字体的问题;而不同开发者可能自身所使用的 framework 也是仅适合自身,对于其他开发者来说——或许不适合他们,因为他们有另外的偏好。我较偏向设计师能编写属于他的代码,这一点比熟练使用 Framework 更重要。
  • 我赞成 Realazy 的想法,对于一个团队来说,有一个共同的 Design Pattern 是必须的,至于 framework —— 这个词太庞大了,同一个项目中肯定有重复使用的样式,可以单独出来为同一个文件,以供同一个团队进行重复使用,但是这没有 framework 的适用性。

至于 css 的 http 连接数问题——或者说,从来就不是问题,例如留言中我提及的,利用 Apache Rewrite + PHP 的解决办法,作为延展阅读,可以参考下面的文章:

5 comments

2008-1-10 15:00:48 +0800, huzhenghui37 said,

昨天晚上在床上,用iphone看过了那片文章,你的看法马上就出来了,很快哈。

2008-1-12 17:39:09 +0800, 巫山霏云 said,

我也觉得css不适合框架
最近看的一个师兄那么写,觉得一个优秀的站点大概是不会采用的……
如果有的话可能国外早就有了
个人不会用,优秀的大站点估计也不会,还有什么采用呢?

2008-1-15 20:51:21 +0800, Utom said,

写得很好! CSS Framework, 感觉没什么意义! :P

2008-1-16 14:02:24 +0800, 胡小辛 said,

有事协商,请到我博客告知联系方式,我会联系你

2008-3-21 22:00:29 +0800, 手气不错 said,

兄弟的见解我很赞同,不过 CSS 这块由于术业有专攻,我的确不敢有过多的发言权。

PS:弹出一个层让用户留言这个交互的确非常有想法,不过在界面上应该做得更细致些。比如我在 Opera 中发现无法滚回输入框让我输入。IE 也是一样,一定要回滚一下。

Wanna say something?