没有.
我一直使用下划线,因为连字符会弄乱我的文本编辑器(Gedit)的语法高亮显示,但这是我个人的偏好.
我看过各地都在使用这些惯例.使用你认为最好的-看起来最好/最容易读的,以及最容易打字的,因为你会经常用到它.例如,如果您的下划线键位于键盘下方(不太可能,但完全有可能),那么请坚持使用连字符.只要做对你自己最好的事就行了.此外,所有3个约定都很容易阅读.如果您在团队中工作,请记住遵守团队指定的约定(如果有的话).
Update 2012
随着时间的推移,我改变了编程方式.我现在使用驼峰格(thisIsASelector
)而不是连字符;我觉得后者相当难看.使用you喜欢的任何东西,它们很容易随时间而改变.
Update 2013
看起来我每年都喜欢把事情搞混.在切换到Sublime Text并使用Bootstrap一段时间后,我又回到了DASSES.现在在我看来,它们比Under_Score或CamelCase干净多了.My original point still stands though: there isn't a standard.个
Update 2015
这里有一个有趣的角落 case 是Rust.我真的很喜欢这种语言,但是如果你使用underscore_case
以外的任何东西定义东西,编译器会警告你.您可以关闭警告,但有趣的是,编译器强烈建议默认使用约定.我想在更大的项目中,它会带来更干净的代码,这并不是坏事.
Update 2016(you人要求)
我在今后的项目中采用了BEM标准.类名最终相当冗长,但我认为它为类和随之而来的CSS提供了良好的 struct 和可重用性.我认为BEMis actually是一个标准(所以我的no
可能变成了yes
),但是在项目中使用什么仍然取决于您.最重要的是:坚持你的 Select .
Update 2019(you人索要)
在很长一段时间没有编写CSS之后,我开始在他们的一款产品中使用OOCSS的地方工作.我个人觉得到处乱扔垃圾类是很不愉快的,但是不用一直在HTML和CSS之间来回切换感觉相当有成效.
不过,我还是 Select 了BEM.它很冗长,但是名称空间使得在Reaction组件中使用它非常自然.它也非常适合在浏览器测试时 Select 特定元素.
OOCSS和BEM只是CSS标准的一部分. Select 一个适合你的——它们都充满了妥协,因为CSS just isn't that good.
Update 2020
今年的更新很无聊.我还在使用BEM.由于上述原因,我的立场与2019年的更新相比并没有真正改变.使用适合您的应用程序,根据您的团队规模进行调整,并根据您的喜好隐藏或隐藏CSS的劣质功能集.