小编典典

html / css ID和类的标准命名约定是什么?

css

它是否取决于您使用的平台,还是大多数开发人员建议/遵循的通用约定?

有几种选择:

  1. id="someIdentifier"' -看起来与javascript代码非常一致。
  2. id="some-identifier" -看起来更像html5类属性和html中的其他内容。
  3. id="some_identifier" -看起来与ruby代码非常一致,并且仍然是Javascript中的有效标识符

我在想上面的#1和#3最有意义,因为它们在Javascript中的表现更好。

有正确的答案吗?


阅读 461

收藏
2020-05-16

共1个答案

小编典典

没有一个。

由于连字符使我的文本编辑器(Gedit)的语法突出显示混乱,因此我一直使用下划线,但这是个人喜好。

我已经在所有地方看到了所有这些约定。使用您认为最好的那一种-
对您来说看起来最好/最容易阅读以及最容易键入的那一种,因为您会经常使用它。例如,如果您的下划线键位于键盘的底部(不太可能,但完全可能),则请使用连字符。只要选择最适合自己的东西即可。此外,所有这三种约定都易于阅读。如果您在团队中工作,请记住遵守团队指定的约定(如果有)。

更新2012

随着时间的流逝,我改变了编程方式。我现在使用驼峰大小写(thisIsASelector)代替连字符;我发现后者相当丑陋。使用
喜欢的任何东西,随着时间的流逝,它们很容易改变。

更新2013

好像我想每年混合一些东西……切换到Sublime
Text并使用Bootstrap一段时间后,我又回到了破折号。在我看来,它们看起来比un_der_scores或camelCase干净得多。
我的原始观点仍然存在 :没有 标准。

更新2015

带有约定的有趣案例是Rust。我真的很喜欢这种语言,但是如果您使用以外的任何东西来定义东西,编译器会警告您underscore_case。您可以关闭警告,但有趣的是,编译器强烈建议默认情况下使用约定。我想象在较大的项目中,它会导致代码更干净,这不是一件坏事。

2016年更新要求的)

我为以后的项目采用了BEM标准。类名最终变得非常冗长,但是我认为它为与之配套的类和CSS提供了良好的结构和可重用性。我认为BEM
实际上是 一个标准(所以我可能no成为了标准yes),但是您决定在项目中使用什么仍然取决于您。最重要的是:与您选择的内容保持一致。

更新2019要求的)

在一段时间没有编写CSS之后,我开始在一个在其产品中使用OOCSS的地方工作。我个人觉得到处乱扔类是非常不愉快的,但是不必一直在HTML和CSS之间切换会产生很大的效果。

不过,我仍然选择BEM。它很冗长,但是命名空间使得在React组件中使用它非常自然。在浏览器测试时选择特定元素也非常有用。

OOCSS和BEM只是其中的一些CSS标准。选择一个适合您的方法-因为CSS 并不是那么好, 它们都妥协了。

2020-05-16