命名约定-我可以用下划线开始CSS选择器ID或类吗



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

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

  • http://www.w3.org/TR/html401/struct/global.html#h-7.5.2
  • ID或NAME
  • CDATA(类)

总之,id必须以字母(A-Za-z)开头,并且后面可以有任何其他字母、数字、下划线或短划线。实际上,您可以用-_启动id,它将工作:http://jsfiddle.net/ExplosionPIlls/y6jvs/但是以数字开头是不起作用的。

虽然这些限制似乎不适用于CDATA列表中的类,但实际上似乎是一样的:http://jsfiddle.net/ExplosionPIlls/y6jvs/1/

因此,为了获得一致且经得起未来考验的浏览器体验,我会尽量避免对ID、类名等做任何奇怪的事情。

最新更新