命名课程的正确方法是什么?

时间:2017-12-23 19:57:47

标签: css naming-conventions classname bem

很多人用这种方式命名他们的类:header-menu

我个人更喜欢header_logo;因为它更容易阅读以及为懒惰编码器复制粘贴。

命名类与" _"之间是否存在显着差异?或" - " ?

我很好奇,很想用最好的方法;请赐教;

谢谢!

2 个答案:

答案 0 :(得分:2)

不幸的是_用于分隔元素或块修饰符。因此,与 BEM 一起使用 无效。

您的示例的有效名称:

header-menu
headerMenu

更多相关示例:

连字符样式:

header-menu -> block
header-menu__logo -> element
header-menu_theme_xmas -> block modifier
header-menu__logo_size_big -> element modifier

camelCase风格:

headerMenu -> block
headerMenu__logo -> element
headerMenu_theme_xmas -> block modifier
headerMenu__logo_size_big -> element modifier

来自文档:

  

命名规则   block-name__elem-name_mod-name_mod-val

     

名称以小写拉丁字母书写。

     

单词用连字符( - )分隔。

     

块名称定义其元素和修饰符的名称空间。

     

元素名称与块名称之间用double分隔   下划线(__)。

     

修饰符名称与块或元素名称之间用a分隔   单下划线(_)。

     

修饰符值与修饰符名称分开一个   下划线(_)。

     

对于布尔修饰符,该值不包含在name.block-name__elem-name_mod-name_mod-val

有关命名约定的更多信息:https://en.bem.info/methodology/naming-convention/

答案 1 :(得分:0)

没有正确的方法,只需使用你喜欢的任何css名称约定。当然,您可以遵循或忽略一些指导原则:BEM,SMACSS等等。