它取决于您使用的平台,还是大多数开发人员建议/遵循的通用约定?
有几种选择:
id="someIdentifier"'
id="some-identifier"
id="some_identifier"
我在想上面的 #1 和 #3 最有意义,因为它们在 Javascript 上玩得更好。
这个问题有正确答案吗?
没有一个。
我一直使用下划线,因为连字符弄乱了我的文本编辑器(Gedit)的语法突出显示,但这是个人喜好。
我已经看到到处都在使用所有这些约定。使用你认为最好的那个——看起来最好/最容易阅读的那个,以及最容易打字的那个,因为你会经常使用它。例如,如果您的下划线键位于键盘的底部(不太可能,但完全有可能),那么请坚持使用连字符。只做最适合自己的。此外,所有这 3 个约定都易于阅读。如果您在团队中工作,请记住遵守团队指定的约定(如果有)。
2012 年更新
随着时间的推移,我改变了我的编程方式。我现在使用驼峰式 ( thisIsASelector) 代替连字符;我觉得后者相当丑陋。使用 您 喜欢的任何东西,这可能会随着时间的推移而轻松改变。
thisIsASelector
2013 年更新
看起来我喜欢每年把事情搞混......在切换到 Sublime Text 并使用 Bootstrap 一段时间后,我又回到了破折号。现在对我来说,它们看起来比 un_der_scores 或 camelCase 干净得多。 我原来的观点仍然存在 :没有 标准。
2015 年更新
这里有一个有趣的约定是Rust。我真的很喜欢这种语言,但是如果您使用非underscore_case. 您可以关闭警告,但有趣的是编译器在默认情况下强烈建议一个约定。我想在更大的项目中,它会导致代码更干净,这并不是一件坏事。
underscore_case
2016 年更新
我已经为我的项目采用了BEM标准。类名最终变得非常冗长,但我认为它为类和与之配套的 CSS 提供了良好的结构和可重用性。我想 BEM 实际上是 一个标准(所以我可能no会成为一个标准yes),但您决定在项目中使用什么仍然取决于您。最重要的是:与您的选择保持一致。
no
yes
2019 年更新
在很长一段时间没有写 CSS 之后,我开始在他们的一个产品中使用OOCSS的地方工作。我个人觉得到处乱扔垃圾是很不愉快的,但是不必一直在 HTML 和 CSS 之间跳转感觉很有效率。
不过,我仍然选择 BEM。它很冗长,但是命名空间使得在 React 组件中使用它非常自然。它也非常适合在浏览器测试时选择特定元素。
OOCSS 和 BEM 只是其中的一些 CSS 标准。选择一个适合你的——它们都充满了妥协,因为 CSS 并不是那么好 。
2020 年更新
今年无聊的更新。我仍在使用 BEM。由于上述原因,我的立场与 2019 年更新相比并没有真正改变。使用适合你的东西,它可以根据你的团队规模进行缩放,并尽可能多地或尽可能少地隐藏 CSS 的不良功能集。