这取决于您使用的平台,还是大多数开发人员都建议/遵循一个共同的约定?

有几种 Select :

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

我认为上面的1号和3号最有意义,因为它们与Javascript配合得更好.

这个问题有正确的答案吗?

推荐答案

没有.

我一直使用下划线,因为连字符会弄乱我的文本编辑器(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的劣质功能集.

Html相关问答推荐

Flexbox响应式图像不会缩小

从网络抓取中提取文本

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

HTML图像无法正确放大和缩小规模

使用tauri构建的Next.js应用程序不显示我的404页面

纯CSS语音气泡与半透明背景和边框

我如何 Select 外部html文件元素作为选项,并显示在一个div与jQuery?

当表头包含特殊字符时,R Quarto发布的HTML表中不必要的大列宽

损坏的可点击html邮箱签名

在iOS中调整HTML邮箱内容的大小

悬停效果在新西兰表上不起作用

如何使用CSS在NSAttributedString中为HTML文本中的图像制作覆盖图

仅向上扩展并以最大高度滚动的Div

在悬停时应用文本装饰

有没有办法根据另一个项目调整FlexBox项目的大小?

如何在垂直堆叠的表格中调整人造列的大小?

在屏幕上每行 css 中的特定列居中

HTML 如何根据屏幕尺寸调整/裁剪视频背景?

如何在Bootstrap卡片底部添加波浪形状

CSS 网格自动高度不适用于特定网格区域