如何管理样式组合:多个类,特定类或上下文?

时间:2012-05-01 12:53:28

标签: naming-conventions css-selectors css

我不是一个网页设计师或程序员,但我似乎遇到了CSS类的问题:管理共享属性的CSS类的最佳方法是什么?

例如,我目前正在处理一个带有状态栏的应用程序,该状态栏代表文件传输的状态。它用于三个不同的位置,每个位置都有不同的尺寸。此外,如果传输失败,则栏应该是不同的颜色。

一般来说,最好的方法是什么:

  1. 将“状态栏”和“转移失败”类分别添加到div中,并检查它们的组合是否存在?
  2. 拥有“statusbar”和“statusbar-failed”类,适当地设置类,并使用谨慎的CSS结构来避免重复代码。
  3. 拥有“状态栏”类,然后使用上下文,例如div在“summary”表或“transfer-failed”div中进一步专门化。
  4. 有没有一般规则?方法3似乎很脆弱,因为改变一个看似无关的类的名称可能会破坏东西。方法1在某种程度上感觉很奇怪,像“失败”这样的类没有另一个类就没有意义,并且在不同的上下文中也可能意味着不同的东西(例如,“失败”也可以应用于失败的表单验证......)方法2有时会变得笨拙,有很多非常具体的长名称类。

2 个答案:

答案 0 :(得分:1)

  1. 如果总有一个“状态栏”随时可以使用 <{1}}而不是id

  2. 如果同一页面上有多个,那么它们看起来就像 任何一样,坚持使用class

  3. 在适当的时候分配class课程。在你的CSS中, 在这个类下,应该只有那个属性 区分默认的“状态栏”。就个人而言,我喜欢#3 (上下文方法)。 WordPress和其他CSM分配页面 名称和类别(以及您想要的任何其他内容)为transfer-failed 类。 Modernizr使用<body>标记。更多信息:http://perishablepress.com/dynamic-body-class-id-php-wordpress/

  4. @Lokase 的SMACSS很棒。有关组织CSS的更多提示,请查看:http://coding.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/

答案 1 :(得分:0)

花些时间查看一些CSS方法或框架,我是SMACSS的粉丝

有很多最佳实践的例子,你只需找到它们并完成学习曲线。