我不确定哪个是官方网站,我找到了getbem.com和en.bem.info。
一种建议使用--修饰符(Naming):
CSS 类由块或元素的名称加上两个破折号组成。
另一个_用于修饰符(修饰符名称):
修饰符名称由单个下划线 (_) 分隔。
我知道我可以使用任何一个,而且保持一致确实很重要,但我喜欢尽可能尝试使用官方规范。
--还是_用于修饰符..?哪个是官方网站?
BEM 最初是Yandex 的一套非正式指南,后来他们在en.bem.info 上正式化,因此在这方面是 BEM 的“规范”版本。en.bem.info
话虽如此,BEM有很多种风格,我自己使用了一种主要受Harry Roberts和Nicolas Gallagher影响的变体。
这让我想到你的下一个问题:
我真的应该使用
--还是_用于修饰符?
对此,我的回答是:您的用法应该保持一致,但是您可以使用您想要的任何字符来用于您正在使用的 BEM 变体。只是要确保每个人都在你的团队了解其变体你对标准化。
这类似于使用制表符 vs 两个空格 vs 四个空格(vs hotdogs)。除了成为人们倾向于具有非理性强烈个人偏好的东西之外,它实际上并没有产生任何影响。
为了帮助规范化人们,我使用了块、元素和修饰符的示例语法,显示了变体规范化的内容:
我以前主要使用:
the-block__the-element--the-modifier
Run Code Online (Sandbox Code Playgroud)
但我现在更喜欢:
TheBlock_theElement-theModifier
Run Code Online (Sandbox Code Playgroud)
因为它的简洁。