【问题标题】:Can I BEGIN a CSS selector ID or Class with an underscore? [duplicate]我可以使用下划线开始 CSS 选择器 ID 或类吗? [复制]
【发布时间】:2014-06-11 20:08:32
【问题描述】:

例如:#_id-name {}._class-name {} 我知道在早期根本不允许使用下划线 - 以及双连字符 (--)。但是,如果它以_ 开头,那么所有浏览器都能够读取/理解一个类或一个 ID 是否可以?

【问题讨论】:

标签: css naming-conventions


【解决方案1】:

我的答案基于html 而不仅仅是 CSS。文档:

总而言之,id 显然必须以字母 (A-Za-z) 开头,并且后面可以有任何其他字母、数字、下划线或破折号。实际上,您可以使用-_ 开头id,它会起作用:http://jsfiddle.net/ExplosionPIlls/y6jvs/ 但以数字开头起作用。

虽然这些限制似乎不适用于作为 CDATA 列表的类,但实际上它似乎工作相同:http://jsfiddle.net/ExplosionPIlls/y6jvs/1/

因此,您可以获得一致且面向未来的浏览器体验,我会尽量避免使用 ID、类名等做任何时髦的事情。

【讨论】:

  • Mmmm... 面向未来的浏览器体验值得牢记!
  • 自 HTML5 以来,id 属性的规范已更改为删除您提到的限制。因此无需担心未来的打样。 “除了在文档中唯一之外,剩下的唯一要求是该值必须包含至少一个字符(不能为空),并且不能包含任何空格字符。” mathiasbynens.be/notes/html5-id-classhtml.spec.whatwg.org/multipage/dom.html#the-id-attribute
  • @Albin 感谢您指出更新的规范。从某种意义上说,要求不会改变,我们不必担心未来的校对,但请注意,以 ID 的数字开头的选择器仍然不适用于 CSS 或 DOM 选择,即使它是一个有效的属性值.
  • 确实如此。您仍然可以使用“#\000031”作为选择器而不是“#1”来匹配它,但这不是很实用。 jsbin.com/jawojijuza/1/edit?html,css,output
猜你喜欢
  • 2013-04-27
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2015-10-12
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多