在命名 CSS 选择器时有哪些最佳实践?
SomeContainerContent
some_container_content
some-container-content
我阅读了stackoverflow上的其他类似问题,但答案中没有普遍共识。我想知道是否还有其他人可以补充。
在命名 CSS 选择器时有哪些最佳实践?
SomeContainerContent
some_container_content
some-container-content
我阅读了stackoverflow上的其他类似问题,但答案中没有普遍共识。我想知道是否还有其他人可以补充。
一般的想法是使用连字符(hyphens)。实际上,其他选项存在潜在的兼容性问题。
此外,CSS在内部使用连字符来处理像first-child
这样的事情。
虽然在现代浏览器中兼容性问题通常不是问题,但这就是标准的形成方式,我建议坚持使用它。如果你偏离了它,也没什么大碍,但为什么要费这个劲呢?
.hyphens-for-multi-word-names
.underscores_for_pseudo_namespacing
结果为:
.grid-system_push-100
\_________/ \______/
namespace object
命名空间和对象可以轻松地用于类似BEM实现。
.grid-slot { } /* block */
.grid-slot_size-100 { } /* block-specific modifier */
._size-100 /* generic modifier */
我的看法
我认为这取决于你自己。然而,重要的是保持一致。例如,我喜欢将id使用下划线,将class使用破折号。
真的并不重要,取决于个人口味。但是,对于一个项目来说,它应该是一致的!因此,如果已经存在CSS,请使用这种风格。
我在HTML/CSS中使用破折号(-),在PHP变量中使用下划线。这样对我来说更有组织性。
我使用破折号。可能是因为网络上的许多事情都区分大小写,而当我在网络上工作时,已经习惯了对文件名等使用全小写字母。下划线在被下划线标记时很难看到,所以我也避免使用它们。
似乎大多数人使用驼峰命名法: