html/css ID和类的标准命名约定是什么?
它是否取决于您使用的平台,或者是否有大多数开发人员建议/遵循的通用约定 有几种选择:html/css ID和类的标准命名约定是什么?,html,css,naming-conventions,standards,Html,Css,Naming Conventions,Standards,它是否取决于您使用的平台,或者是否有大多数开发人员建议/遵循的通用约定 有几种选择: id=“someIdentifier”-看起来与javascript代码非常一致 id=“some identifier”-看起来更像html中类似html5的属性和其他内容 id=“some_identifier”-看起来与ruby代码非常一致,仍然是Javascript内部的有效标识符 我在想,上面的1和3最有意义,因为它们在Javascript中表现得更好 有正确的答案吗?没有 我一直使用下划线,因为连字
id=“someIdentifier”
-看起来与javascript代码非常一致李>
id=“some identifier”
-看起来更像html中类似html5的属性和其他内容id=“some_identifier”
-看起来与ruby代码非常一致,仍然是Javascript内部的有效标识符ThisisSelector
)而不是连字符;我觉得后者相当难看。使用你喜欢的任何东西,这很容易随着时间的推移而改变
2013年更新
看起来我喜欢每年把事情搞混。。。在切换到升华文本并使用引导程序一段时间后,我又回到了破折号。对我来说,现在他们看起来比un_der_分数或camelCase干净多了不过,我的原始观点仍然成立:没有标准。
2015年更新
这里有一个关于惯例的有趣的例子。我真的很喜欢这种语言,但是如果您使用下划线\u case
以外的任何东西定义东西,编译器会警告您。您可以关闭警告,但有趣的是,编译器强烈建议默认使用约定。我想在更大的项目中,它会带来更干净的代码,这并不是坏事
更新2016(要求提供)
我已经采用了我未来项目的标准。类名最终非常冗长,但我认为它为类和CSS提供了良好的结构和可重用性。我认为BEM实际上是一个标准(因此我的否
可能变成是
),但在项目中使用什么仍然取决于您。最重要的是:与你的选择保持一致
更新2019(要求提供)
在很长一段时间没有写CSS之后,我开始在一个地方工作,在他们的一个产品中使用CSS。我个人觉得到处乱扔类是很不愉快的,但不必一直在HTML和CSS之间跳转,感觉效率很高
不过,我还是选择了贝姆。它很冗长,但是名称空间使得在React组件中使用它非常自然。在进行浏览器测试时,它还可以用于选择特定元素
OOCSS和BEM只是CSS标准的一部分。选择一个适合你的——它们都充满了妥协,因为CSS并没有那么好
更新2020
今年的更新很无聊。我还在用边界元法。由于上面列出的原因,我的立场与2019年的更新相比并没有真正改变。使用适合您的、可随团队规模扩展的工具,并尽可能多或少地隐藏CSS糟糕的特性集。我最近刚开始学习XML。下划线版本帮助我将所有与XML相关的内容(DOM、XSD等)与Java、JavaScript(camel-case)等编程语言分开。我同意你的观点,使用编程语言中允许的标识符看起来更好 编辑:可能不相关,但这里有一个链接,提供了命名ID时遵循的有关命名XML元素的规则和建议(“XML命名规则”和“最佳命名实践”部分)
HTML和CSS没有一致的命名约定。但是你可以围绕对象设计来构建你的命名法。更具体地说,我称之为所有权和关系 所有权 描述对象的关键字可以用连字符分隔 新车右转 描述对象的关键字也可以分为四类(从左到右排列): 对象、对象描述符、操作和操作描述符 汽车-一个名词和一个物体
新建-形容词和更详细描述对象的对象描述符
翻转-一个动词和一个属于该对象的动作
右-形容词和动作描述符,用于更详细地描述动作 注意:动词(动作)应该是过去时(turn、did、ran等) 关系 对象还可以具有类似父对象和子对象的关系。动作和动作描述符属于父对象,而不属于子对象。对于对象之间的关系,可以使用下划线 汽车-新车-右转\u车轮-左转-左转
- 新车右转(遵循所有权规则)
- 车轮左转向左(遵循所有权规则)
- car-new-turned-right\u wheel-left-turned-left(遵循关系规则)
- 因为CSS不区分大小写,所以最好用小写(或大写)来写所有的名字;避免使用驼峰大小写或pascal大小写,因为它们可能导致名称不明确
- 知道什么
<form name="myForm"> <input name="myInput" id="my-Id" value="myValue"/> </form> <script> var x = document.myForm.my-Id.value; alert(x); </script>
var x = document.myForm['my-Id'].value;
<div id="id_name" class="class-name"></div>
var variableName = $("#id_name .class-name");