CSS BEM,修饰符的字符..?

CSS BEM, which chars for the modifier..?

不知道哪个是官方网站,我找到了getbem.com and en.bem.info

有人建议使用 -- 作为修饰符 (Naming):

CSS class is formed as block’s or element’s name plus two dashes.

另一个_修饰符(Modifier name):

A modifier name is delimited by a single underscore (_).

我知道我可以使用任何一个,而且保持一致真的很重要,但我喜欢尽可能尝试使用官方规格。

Which is the official website?

BEM 最初是 Yandex, which they later formalized on en.bem.info 的一套 非正式 指南,因此在这方面 en.bem.info 是 BEM 的 "canonical" 版本。

话虽如此,BEM 有很多 风格 ,我自己使用的变体主要受 Harry Roberts and Nicolas Gallagher.

的影响

这让我想到你的下一个问题:

Should I really be using -- or _ for modifiers?

对此,我的回答是:您的用法应该保持一致,但您可以使用您喜欢的任何字符作为您正在使用的 BEM 变体。请确保您团队中的每个人都了解您要标准化的变体。

这类似于使用制表符与两个空格与四个空格 (vs hotdogs)。它实际上并没有什么不同,只是人们往往有一种非理性的强烈个人偏好。

为了帮助规范化人们,我使用了块、元素和修饰符的示例语法来显示变体规范化的内容:

我以前主要使用:

the-block__the-element--the-modifier

但我现在更喜欢:

TheBlock_theElement-theModifier

为简洁起见。