该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-19
最后修改:2009-10-21
(本文内容较多,论坛上格式较乱,推荐到原站点阅读http://www.fangyuqiang.com/metacss ) 如果你对这个框架有兴趣,建议你应该阅读下下面的评论与回复,hax对Meta css提出了很深刻的批评与见解,也有我的一些观点与回复,我希望你在采用它之前,你应该知道它可以带给你什么。
|
|
返回顶楼 | |
发表时间:2009-10-20
来看的时候,没有任何回帖。。。还被评良好?
|
|
返回顶楼 | |
发表时间:2009-10-20
我很遗憾,因为这个meta css只是集合了那些网站对css的错误使用。也就是他不是集best practice之大成,而是集反面案例于一身。
|
|
返回顶楼 | |
发表时间:2009-10-20
没有回复的良好贴是一件有趣的事情。我猜想,这表示许多人觉得终于找到支持他们想法的证据了。
|
|
返回顶楼 | |
发表时间:2009-10-20
写的太多了。
我感觉是在介绍为什么要使用CSS框架,而不是介绍为什么使用Meta框架。 请介绍一些Meta框架相对于其他的流行css框架的优势,也便于我们选择。 |
|
返回顶楼 | |
发表时间:2009-10-20
ops2000 写道 写的太多了。 我感觉是在介绍为什么要使用CSS框架,而不是介绍为什么使用Meta框架。 请介绍一些Meta框架相对于其他的流行css框架的优势,也便于我们选择。 meta css框架只是一个补充。它可以与yui css,blueprints css等这些框架共存使用。 作为一个发布出来共享的东西,我还是希望整理足够的文档,可以让使用的人充分了解框架的完整应用背景与方式。 |
|
返回顶楼 | |
发表时间:2009-10-20
最后修改:2009-10-20
hax 写道 我很遗憾,因为这个meta css只是集合了那些网站对css的错误使用。也就是他不是集best practice之大成,而是集反面案例于一身。
在新闻的页面我也做了一下回复: 呵呵,能博得2位的一句中肯的评价可以受益不少。的确,这是一个很容易意识到的问题,这样的css定义,不语义化,css不应该是这样用的。并且,这并不能提高可维护性 但是我们也可以来考虑下,既然不是best practice,为什么会有这么多站点采用这种模式呢? 除了开心网跟163,腾讯,淘宝,新浪,几乎我们所熟知的大部分大型站点,都会有一部分这样的css代码。这么多的前端开发人员采用这种方式为啥?我觉得本质的原因在于它可以提高开发效率,我之前另外的一篇帖子http://www.iteye.com/topic/467394也提到了自己做开发的一个观点:所谓的技术与标准,都是为现实需求服务的,只要能实现需求,综合考虑时间效率与成本,都是可以拿来用的。 在面对一个页面庞大而复杂的情况,而上面又催着你赶快完成的时候,什么东西可以最有效率的实现需求,才是开发者最关心的事情。 整理这个css框架的目的就是在此。希望hax与fins二位愿意再细看下这篇完整的介绍,提出更多的意见 文档中我也提出了这个框架的适用的范围,我觉得在适用的范围内,这种方式不能称之为错误。 |
|
返回顶楼 | |
发表时间:2009-10-21
全文见http://hax.iteye.com/blog/497338
引用 说实话,在“大型网站”里看到class="left"这样的代码,完全可以理解。越是商业网站,越可能需要在有限资源下做出折中或妥协,因为make it work是第一位的。既然do business难免要do evil,那么降低犯罪成本、提高犯罪效率就是硬道理——尤其对于通常总疲于奔命应对产品部、设计部、业务部、技术部、客服部……外加什么都懂的boss 的前端开发小兵来说。Meta CSS的贡献是把这些罪行(我觉得“行”读做“性”比较有力量)提炼萃取,并正当化、规范化,从而给我们一个anti-pattern的活标本。……显而易见,Meta CSS反映了以样式为中心的行为模式,而所谓“正确”行为模式,则是以语义为中心。……从某种意义上说,如果设计者本身就不关心是什么而只关心看起来啥样,那么实现者采用以样式为中心的行为模式也是很正常的。不过我很反感拿这个做借口,正如历史学不能代替伦理学,犯罪学研究不能用做纵容犯罪的理由。必须区分真正的现实主义和看似有理实则荒谬绝伦的白猫黑猫论。……既然认定Meta CSS是一个anti-pattern,那么也应该给出解决的方法(称之为重构之道?)。其实Meta CSS的原文提出过4个方式,结合使用方式2(层叠)、3(class组合),正是CSS设计的一般方式。唯一需要指出的是,html与css的结合点,即selector,总应该是语义化的。tag和id天然就是语义化的,主要问题出在class上。应该尽量限制所谓的样式类,虽然有时无可避免(正如有时你会用inline style),但是至少不要像Meta CSS那样把偏方当补药。
|
|
返回顶楼 | |
发表时间:2009-10-21
playfish 写道 除了开心网跟163,腾讯,淘宝,新浪,几乎我们所熟知的大部分大型站点,都会有一部分这样的css代码。
有一部分这样的css代码,不代表就推荐使用这种方式书写css代码 得看场景,比如临时性的活动页面,用table布局快速搞定,甚至dw托托拽拽直接生成也未尝不可 长期需要维护的页面,尽量语义化,提高可读性和可维护性是很重要的 |
|
返回顶楼 | |
发表时间:2009-10-21
我觉得这个问题的根源是CSS不支持组合定义,如果CSS能够让我们这样定义:
.a{/* 很多样式定义 */} .b{ .a text-align:center; } .c{ .a text-align:right; } 就可以兼有语义化和灵活度的优点了。 受限于CSS弱弱的语法格式,我觉得Meta CSS这种做法挺好的,喜欢其中提到约定大于配置的想法(因为我是Rails控,呵呵) 另外推荐一个做法,扩展CSS的语法:http://lesscss.org/,然后批处理转换成标准CSS,它除了实现组合定义(Mixins)外,还包括变量等其它CSS增强语法。 |
|
返回顶楼 | |