CSS无法识别数字值的HTML ID

ste*_*fan 3 html css css-selectors

这是div:

<div class='something' id='1'>
Run Code Online (Sandbox Code Playgroud)

我在页面上有9个不同的位置,所以在.css我做的文件中:

div#1.something {
  code...
}
Run Code Online (Sandbox Code Playgroud)

事情是,它不会工作,我知道这是正确的选择器,但我也尝试过div.something#1,它也没有按预期工作.我认为ID作为一个数字有问题,我应该改变它还是有办法?

Sti*_*ers 10

虽然允许在HTML5中设置classid开始数字,但CSS中不允许这样做,请参阅规范:

HTML5:3.2.5.1 id属性

...... ID可以采取何种形式,没有其他限制; 特别是,ID可以只包含数字,以数字开头,以下划线开头,仅由标点符号等组成......


CSS:4.1.3字符和大小写

......它们不能以数字,两个连字符或连字符后跟数字开头.标识符还可以包含转义字符和任何ISO 10646字符作为数字代码...

<div id="1">是有效的HTML,但您无法#1 {...}在CSS中使用它.

但是,您可以使用[id="1"] {...}或转义它#\31 {...}