是否可以在CSS ID命名约定中混合使用下划线和破折号(连字符)?

Smi*_*les 3 css html5 naming-conventions

我已经向我的团队建议我们使用破折号(连字符)作为类名,但对于id,使用下划线将元素标记与ID名称的其余部分分开,并且ID名称应为#element_class-name, so: <div id="div_generic-name" class="generic-name">Stuff</div> 这个方法有错误吗?如果我们混合下划线和连字符会有什么不好的事情发生?

j08*_*691 6

是的,那没问题.根据W3C,命名CSS类的前两条规则是:

  • 所有CSS语法在ASCII范围内都不区分大小写(即,[az]和[AZ]是等效的),除了不受CSS控制的部分.例如,HTML属性"id"和"class",字体名称和URI的值的区分大小写超出了本规范的范围.请特别注意,元素名称在HTML中不区分大小写,但在XML中区分大小写.
  • 在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0和更高,加上连字符( - )和下划线( _); 它们不能以数字,两个连字符或连字符后跟数字开头.标识符还可以包含转义字符和任何ISO 10646字符作为数字代码(请参阅下一项).例如,标识符"B&W?" 可以写成"B \&W \?" 或"B\26 W\3F".