很多人用这种方式命名他们的类:header-menu
我个人更喜欢header_logo;因为它更容易阅读以及为懒惰编码器复制粘贴。
命名类与" _"之间是否存在显着差异?或" - " ?
我很好奇,很想用最好的方法;请赐教;
谢谢!
答案 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等等。