【问题标题】:How do you avoid class name collisions? [closed]如何避免类名冲突? [关闭]
【发布时间】:2014-02-17 20:21:04
【问题描述】:

假设我正在构建一个博客并为时间线帖子添加一个名为“post”的类。然后另一个开发人员进来并创建了一个亮点部分,该部分也有一个“帖子”类。突然之间,我们发生了碰撞。

我通常通过嵌套类而不保留任何“全局”来解决这个问题,但据我所知,这不是最佳实践:

.main .post {
    background-color: red;
}

.highlights .post {
    background-color: green;
}

当我检查大型网站的 CSS 文件时,我看到页面中看似特定部分的大量全局类名,所以我真的很想知道他们是如何解决这个问题的。他们是否在添加类名之前搜索并扫描整个项目以查找类名?如果他们想添加已经存在的东西,他们会怎么做?仅仅为了它而重命名它似乎是一种非常糟糕的做法。

【问题讨论】:

  • 我的意见和经验是你应该定义全局样式。其他开发人员应该能够像工具包一样使用您的定义,而无需了解特殊的包装类。把它想象成写一个新的框架。对于某些控件,哪些名称是显而易见的?我可以通过复制和粘贴在其他项目中使用我的类/部分吗?

标签: css css-selectors


【解决方案1】:

秘诀是使用某种强制执行纪律的框架/方法,例如OOCSSBEM

【讨论】:

  • BEM 有我见过的最恶心的语法
  • 完全同意那个。
【解决方案2】:

周围有几种 CSS 类命名约定,其中最常用的一种是 BEM (http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/)。看看:)

【讨论】:

    猜你喜欢
    • 2011-07-02
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 2014-03-12
    • 2015-03-21
    相关资源
    最近更新 更多