任何使用Nicole Sullivan的人';s面向对象的CSS框架?

任何使用Nicole Sullivan的人';s面向对象的CSS框架?,css,oocss,Css,Oocss,编辑:由于Kobi针对这一点发表了精彩的评论,我已修改了以下问题: 有没有人尝试过妮可·沙利文的框架或他们自己的框架?如果是,有哪些优点/缺点 有没有使用框架面向对象CSS的生产站点?我在大多数样式表中同时使用OOCSS和普通CSS。我不认为使用OOCSS来设计排版样式是有意义的,但是对于诸如列、框和按钮之类的东西,我认为它确实有意义,而且它确实可以帮助(在我看来)使代码更简单 使用一个相当做作(而且非常糟糕——类应该描述函数,而不是形式)的示例: 使用OOCSS a.button {displ

编辑:由于Kobi针对这一点发表了精彩的评论,我已修改了以下问题:

有没有人尝试过妮可·沙利文的框架或他们自己的框架?如果是,有哪些优点/缺点


有没有使用框架面向对象CSS的生产站点?

我在大多数样式表中同时使用OOCSS和普通CSS。我不认为使用OOCSS来设计排版样式是有意义的,但是对于诸如列、框和按钮之类的东西,我认为它确实有意义,而且它确实可以帮助(在我看来)使代码更简单

使用一个相当做作(而且非常糟糕——类应该描述函数,而不是形式)的示例:

使用OOCSS

a.button {display: block; background-color: red;}
a.border {border: 1px solid orange;}

<a class="button border" href="#">My bordered button</a>
<a class="button" href="#">My normal button</a>
a.button{显示:块;背景色:红色;}
a、 边框{边框:1px实心橙色;}
使用普通CSS

a.button_and_border {display: block; background-color: red; border: 1px solid orange;}
a.button_no_border  {display: block; background-color: red;}

<a class="button_and_border" href="#">My bordered button</a>
<a class="button_no_border" href="#">My normal button</a>
a.按钮和边框{显示:块;背景色:红色;边框:1px纯橙;}
a、 按钮\无\边框{显示:块;背景色:红色;}

正如您所看到的,OO示例中的CSS较少,我个人认为这更容易阅读。但我想,归根结底,这完全取决于个人偏好和编码风格:)

你不应该在oocss中指定标记,这是她提出的陷阱之一,因此你可以在任何其他标记上使用

<button class="button">works on this</button>
<a class="button">works on this also</a>
<input type="submit" class="button" value="and this too"/>
在这方面起作用
这方面的工作也是如此
在css中指定一个.button意味着如果你想在另一个标签上使用它,你必须在css中再次重复它。。 重点是不要重复你的风格,避免重复。。
你应该在github上下载她的例子,OOCSS框架不能解决一些由其自身原则定义的问题。OOCSS仍然包含冗余,并且通过将组件的组合移动到DOM中,将其内容耦合回表示


OOCSS确实做出了一些好的设计决策,应该鼓励用户以一致的方式维护他们的CSS。这是一件好事。但是缺少随附的文档意味着如果它不太适合您的需要,您必须对其进行反向工程。这个过程不可靠,所以你可能会回到你开始的地方。。。使用凌乱的CSS。

我正在使用它,并且喜欢它。我所在的学院使用丰富的intranet web应用程序,这些应用程序使用我创建的列表{}对象。它水平和垂直排列链接,但有“扩展类”(皮肤)将它们转换为标题栏、菜单、工具栏、选项卡、手风琴和按钮组。List{}对象不包含颜色或边框,只包含一个clearfix和一些修改器。实际外观存储在单独的类中。我还使用预处理器来

如果你走这条路,我会提出三个建议

  • 使用B.E.M(块/元素/修改器)命名约定

  • 考虑基本乐高积木,并使用类来扩展它们

  • 使用LESS或SASS来分隔外观


  • 你看到了吗?现在有一个流行词是指CSS的自然部分?这不是任何网站上的最佳实践吗?这就像60年代的每个程序员最终都发明了链表一样。谢谢大家的评论。